AI金融多智能体平台 - MCP工具服务 使用说明
项目简介
这是一个名为"AI金融多智能体平台"的综合性系统,旨在通过AI智能体和自动化工具为中小型企业提供财务管理支持。它集成了LangChain和LangGraph等先进技术,实现了多步工作流、智能路由和上下文管理。其核心亮点是内置了一个符合Model Context Protocol (MCP) 标准的工具服务,用于向LLM(大型语言模型)客户端提供结构化工具调用能力,实现财务计算、数据分析等功能。
主要功能点
- AI CFO智能体: 提供行业特定的财务咨询、分析和战略建议。
- MCP工具服务: 托管和管理各种财务工具,LLM客户端可以通过标准化的JSON-RPC协议调用这些工具来执行任务,例如:
- 财务比率计算: 计算流动比率、速动比率、资产负债率、净资产收益率等。
- 现金流分析: 分析现金流模式、趋势、季节性及波动性。
- 盈利能力分析: 评估毛利率、营业利润率、净利润率和投资回报率。
- 多智能体编排: 利用LangGraph构建复杂的工作流,协调多个AI智能体(如数据收集、分析、预测、预警、解释等)协同完成任务。
- 可观测性: 集成OpenTelemetry进行分布式追踪和结构化日志记录,便于监控系统性能和调试。
- 可扩展性: 提供了清晰的接口,方便开发者添加新的智能体和工具。
安装步骤
- 克隆仓库:
在您的本地机器上克隆GitHub仓库。
git clone https://github.com/DoanNgocCuong/MVP_Multi-Agent-Financial-Platform_LangchainLanggraph_T9_2025.git cd MVP_Multi-Agent-Financial-Platform_LangchainLanggraph_T9_2025 - 创建并激活Python虚拟环境(强烈推荐):
创建一个独立的Python环境以管理项目依赖。
python -m venv venv # 在Linux/macOS上执行: source venv/bin/activate # 在Windows上执行: .\venv\Scripts\activate - 安装依赖:
安装项目所需的所有Python库。
pip install fastapi uvicorn langchain langchain-openai langgraph pydantic structlog opentelemetry-sdk opentelemetry-exporter-otlp-proto-grpc opentelemetry-instrumentation-logging python-dotenv redis psycopg2-binary SQLAlchemy - 配置环境变量:
项目使用 '.env' 文件进行配置。如果项目根目录下没有 '.env' 文件,'run_demo.py' 脚本在首次运行时会自动创建一个。请编辑该文件,特别是 'OPENAI_API_KEY',以启用完整的AI功能。如果未配置,系统将以演示模式运行,部分AI功能可能受限。
# .env 文件示例 (请根据您的实际情况填写) # 获取您的OpenAI API Key,例如:sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx OPENAI_API_KEY=sk-your_openai_api_key_here OPENAI_MODEL=gpt-4-turbo-preview ENVIRONMENT=development DEBUG=true API_HOST=0.0.0.0 API_PORT=8000 # 其他数据库和监控配置可根据需要进行调整,例如PostgreSQL或Redis连接。 - 运行项目初始化(可选): 如果项目使用了数据库(如PostgreSQL),您可能需要运行数据库初始化脚本来创建所需的表。通常,在生产环境中,这会通过专门的命令或迁移工具完成。对于快速演示或测试,可以暂时忽略。
服务器配置 (面向MCP客户端)
此AI金融多智能体平台的MCP工具服务通过HTTP接口暴露。您的MCP客户端需要配置以下信息来连接并与之交互。
MCP客户端配置示例 (JSON格式)
{ "server_name": "AI Financial MCP Tool Service", "command": "uvicorn", "args": [ "ai_financial.main:app", "--host", "0.0.0.0", "--port", "8000" ], "description": "连接到AI金融多智能体平台的MCP工具服务。该服务提供财务比率计算、现金流分析和盈利能力分析等功能。客户端可以通过HTTP POST请求 '/api/v1/tools/{tool_name}/execute' 来调用工具,并通过 GET 请求 '/api/v1/tools' 来发现可用工具。" }
- 'server_name': MCP服务器的易读名称,用于标识此服务。
- 'command': 启动MCP服务器所使用的命令行工具。此处为 'uvicorn',一个ASGI服务器。
- 'args': 传递给 'command' 的参数列表。它指定了要运行的FastAPI应用模块 ('ai_financial.main:app')、监听的主机地址 ('--host 0.0.0.0') 和端口 ('--port 8000')。
- 'description': 对MCP服务器功能和用途的详细描述。此信息有助于MCP客户端理解服务内容,并指导其如何与服务器进行API交互(例如,调用工具的HTTP路径和方式)。
基本使用方法
-
启动MCP服务器: 您可以选择以下任一方式启动服务器:
- 通过 'uvicorn' 直接启动:
python -m uvicorn ai_financial.main:app --host 0.0.0.0 --port 8000 --reload - 通过提供的 CLI 脚本启动(推荐,功能更丰富):
python New\ folder/src/ai_financial/cli.py start - 运行交互式演示脚本(包含服务器启动):
python New\ folder/src/run_demo.py # 选择选项2启动Web服务器,或选项1运行完整交互式演示
服务器启动后,将会在 'http://0.0.0.0:8000' 监听请求。
- 通过 'uvicorn' 直接启动:
-
通过API调用工具(模拟MCP客户端行为): 您可以使用 'curl' 或任何HTTP客户端向FastAPI提供的API端点发送请求,以模拟MCP客户端与服务器的交互。
-
列出所有可用的MCP工具: 发送GET请求到 '/api/v1/tools' 端点。
curl http://localhost:8000/api/v1/tools -
调用“财务比率计算”工具('financial_ratio_calculator'): 发送POST请求到 '/api/v1/tools/financial_ratio_calculator/execute',并提供所需的财务数据。
curl -X POST http://localhost:8000/api/v1/tools/financial_ratio_calculator/execute \ -H "Content-Type: application/json" \ -d '{ "parameters": { "ratio_type": "current_ratio", "financial_data": { "current_assets": 150000, "current_liabilities": 75000 } } }' -
调用“现金流分析”工具('cash_flow_analyzer'): 发送POST请求到 '/api/v1/tools/cash_flow_analyzer/execute',并提供现金流数据和分析类型。
curl -X POST http://localhost:8000/api/v1/tools/cash_flow_analyzer/execute \ -H "Content-Type: application/json" \ -d '{ "parameters": { "cash_flows": [ {"period": "2024-01", "net_cash_flow": 25000}, {"period": "2024-02", "net_cash_flow": 32000} ], "analysis_type": "trend" } }' -
调用AI CFO智能体(作为高级用法): AI CFO智能体是一个更高层次的智能体,它会内部协调和使用MCP工具来完成复杂的财务分析任务。 发送POST请求到 '/api/v1/agents/ai_cfo_agent/invoke'。
curl -X POST http://localhost:8000/api/v1/agents/ai_cfo_agent/invoke \ -H "Content-Type: application/json" \ -d '{ "message": "分析我们公司的财务状况,并提供建议。" }'
-
信息
分类
AI与计算