このプロジェクトについて
本プロジェクトはインテリジェント財務分析Agentであり、核心的な考え方は、大規模言語モデル(DeepSeek)がツール呼び出し(Function Calling)を通じて分析手順を自律的に決定し、最終的に根拠付きの構造化財務分析レポートを出力することです。
アーキテクチャ上、メインループはapp/agent/loop.pyに位置します。システムプロンプトとツールセットを一緒にDeepSeekのchat(tools)インターフェースに送信し、モデルがtool_callsを返した後、dispatchが対応するツールを実行し、結果をtoolメッセージとして返却して、答えが得られるまで反復を続けます。
ツールセットには4種類の能力が含まれます:
- query_db(sql):SQLite財務データベースに対して読み取り専用SQLクエリを実行し、SELECT / WITH / PRAGMAのみを許可し、書き込みは禁止します。
- calc_financial_model(model, ...):売上総利益率、純利益率、流動比率、当座比率、资产负债率、ROE、ROA、回転率、WACC、DCF、IRR、予想信用損失などの財務指標を計算します。純粋なPython実装であり、公式は標準的で単体テスト可能です。
- rag_search(q):TF-IDFベースの軽量検索で、会計基準、監査、評価、機械学習/NLP知識をカバーします。コーパスはapp/knowledge/corpus.jsonに保存され、ベクトルデータベースに依存しません。
- run_python(code):サブプロセス方式で財務計算スクリプトを実行し、タイムアウトと出力切り捨てを備えています。
サービス層はFastAPIを使用し、GET /(Webインターフェース)、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 Agent方向の実践プロジェクトとして位置づけられています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.