AI金融多智能体平台 - MCP工具服务 使用说明

项目简介

这是一个名为"AI金融多智能体平台"的综合性系统,旨在通过AI智能体和自动化工具为中小型企业提供财务管理支持。它集成了LangChain和LangGraph等先进技术,实现了多步工作流、智能路由和上下文管理。其核心亮点是内置了一个符合Model Context Protocol (MCP) 标准的工具服务,用于向LLM(大型语言模型)客户端提供结构化工具调用能力,实现财务计算、数据分析等功能。

主要功能点

  • AI CFO智能体: 提供行业特定的财务咨询、分析和战略建议。
  • MCP工具服务: 托管和管理各种财务工具,LLM客户端可以通过标准化的JSON-RPC协议调用这些工具来执行任务,例如:
    • 财务比率计算: 计算流动比率、速动比率、资产负债率、净资产收益率等。
    • 现金流分析: 分析现金流模式、趋势、季节性及波动性。
    • 盈利能力分析: 评估毛利率、营业利润率、净利润率和投资回报率。
  • 多智能体编排: 利用LangGraph构建复杂的工作流,协调多个AI智能体(如数据收集、分析、预测、预警、解释等)协同完成任务。
  • 可观测性: 集成OpenTelemetry进行分布式追踪和结构化日志记录,便于监控系统性能和调试。
  • 可扩展性: 提供了清晰的接口,方便开发者添加新的智能体和工具。

安装步骤

  1. 克隆仓库: 在您的本地机器上克隆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
  2. 创建并激活Python虚拟环境(强烈推荐): 创建一个独立的Python环境以管理项目依赖。
    python -m venv venv
    # 在Linux/macOS上执行:
    source venv/bin/activate
    # 在Windows上执行:
    .\venv\Scripts\activate
  3. 安装依赖: 安装项目所需的所有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
  4. 配置环境变量: 项目使用 '.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连接。
  5. 运行项目初始化(可选): 如果项目使用了数据库(如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路径和方式)。

基本使用方法

  1. 启动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' 监听请求。

  2. 通过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与计算