这个项目能做什么

该项目是一个智能财务分析 Agent,核心思路是让大语言模型(DeepSeek)通过工具调用(Function Calling)自主决定分析步骤,最终输出带依据的结构化财务分析报告。 架构上,主循环位于 app/agent/loop.py:系统提示词与工具集一起发给 DeepSeek 的 chat(tools) 接口,模型返回 tool_calls 后由 dispatch 执行对应工具,结果作为 tool 消息回填,继续迭代直到得出答案。 工具集包含四类能力: - 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 /(网页界面)、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 方向实践项目。