প্রকল্প সম্পর্কে

এই প্রকল্পটি একটি বুদ্ধিমান আর্থিক বিশ্লেষণ এজেন্ট, যার মূল ধারণা হলো বড় ভাষা মডেল (DeepSeek) কে টুল কলিং (Function Calling) এর মাধ্যমে স্বাধীনভাবে বিশ্লেষণের ধাপ নির্ধারণ করতে দেওয়া, এবং শেষ পর্যন্ত প্রমাণসহ কাঠামোবদ্ধ আর্থিক বিশ্লেষণ প্রতিবেদন তৈরি করা। স্থাপত্য অনুসারে, মূল লুপটি app/agent/loop.py-তে অবস্থিত: সিস্টেম প্রম্পট ও টুল সেট একসাথে DeepSeek-এর chat(tools) ইন্টারফেসে পাঠানো হয়, মডেল tool_calls ফেরত দিলে dispatch সংশ্লিষ্ট টুল নির্বাহ করে, ফলাফল টুল বার্তা হিসেবে পুনরায় পূরণ করা হয় এবং উত্তর না পাওয়া পর্যন্ত পুনরাবৃত্তি চলতে থাকে। টুল সেটে চার ধরনের ক্ষমতা রয়েছে: - query_db(sql): SQLite আর্থিক ডাটাবেসে শুধুমাত্র পঠনযোগ্য SQL কুয়েরি চালায়, শুধুমাত্র SELECT / WITH / PRAGMA অনুমোদিত, লেখা নিষিদ্ধ। - calc_financial_model(model, ...): মোট মুনাফার হার, নিট মুনাফার হার, চলতি অনুপাত, দ্রুত অনুপাত, ঋণ-সম্পদ অনুপাত, ROE, ROA, টার্নওভার রেট, WACC, DCF, IRR, প্রত্যাশিত ঋণ ক্ষতি ইত্যাদি আর্থিক সূচক গণনা করে, যা সম্পূর্ণ পাইথন বাস্তবায়ন, সূত্র মানসম্মত এবং ইউনিট পরীক্ষা করা যায়। - rag_search(q): TF-IDF ভিত্তিক হালকা অনুসন্ধান, অ্যাকাউন্টিং স্ট্যান্ডার্ড, নিরীক্ষা, মূল্যায়ন এবং মেশিন লার্নিং/NLP জ্ঞান কভার করে, কর্পাস app/knowledge/corpus.json-এ সংরক্ষিত, ভেক্টর ডাটাবেসের উপর নির্ভরশীল নয়। - run_python(code): সাবপ্রসেস পদ্ধতিতে আর্থিক গণনা স্ক্রিপ্ট চালায়, টাইমআউট ও আউটপুট ট্রাঙ্কেশন সহ। সার্ভিস স্তরে FastAPI ব্যবহার করা হয়েছে, যা GET / (ওয়েব ইন্টারফেস), POST /api/agent/analyze, GET /api/rag/search, GET /tools, GET /health ইত্যাদি ইন্টারফেস সরবরাহ করে। web/index.html ব্রাউজার ইন্টারফেস সরবরাহ করে, যেখানে প্রশ্ন ইনপুট দিলে বিশ্লেষণ প্রতিবেদন ও tool_trace কল প্রক্রিয়া প্রদর্শিত হয়। প্রকল্পটিতে Dockerfile, GitHub Actions CI ওয়ার্কফ্লো এবং pytest পরীক্ষাও অন্তর্ভুক্ত রয়েছে। দ্রুত শুরু করার প্রক্রিয়া: requirements-dev.txt নির্ভরতা ইনস্টল করুন, .env.example কে .env হিসেবে কপি করে DeepSeek API Key পূরণ করুন, উদাহরণ আর্থিক ডাটাবেস তৈরি করতে স্ক্রিপ্ট চালান, তারপর uvicorn দিয়ে সার্ভিস শুরু করুন। README-তে স্বাস্থ্য পরীক্ষা, টুল তালিকা, RAG অনুসন্ধান এবং আর্থিক বিশ্লেষণ অনুরোধের জন্য curl উদাহরণ দেওয়া আছে। প্রকৌশল মানদণ্ডের ক্ষেত্রে, ডাটাবেস কুয়েরি বাধ্যতামূলকভাবে শুধুমাত্র পঠনযোগ্য, কোড নির্বাহের জন্য সাবপ্রসেস বিচ্ছিন্নতা ও টাইমআউট, প্রতিটি টুল কলের নাম, প্যারামিটার, ফলাফল ও সময় রেকর্ড করার জন্য কাঠামোবদ্ধ tool_trace লগ, এবং কন্টেইনারাইজড ডিপ্লয়মেন্ট ও CI স্বয়ংক্রিয় পরীক্ষার উপর জোর দেওয়া হয়েছে। প্রকল্পটি চাকরি প্রদর্শনের উদ্দেশ্যে আর্থিক তথ্যায়ন ও AI এজেন্ট দিকনির্দেশনার একটি ব্যবহারিক প্রকল্প হিসেবে অবস্থান করছে।