该仓库展示了一个名为Agentic Framework的框架实现,其中包含通过Model Context Protocol (MCP) 集成的MCP服务器组件。这个MCP服务器的核心功能是聚合并暴露多种AI能力,作为工具供兼容的LLM客户端调用,从而为LLM应用提供丰富的上下文和功能扩展。

主要功能点

这个MCP服务器通过MCP协议暴露了多种AI工具(Agent)的能力,包括但不限于:

  • 获取天气信息: 提供指定地点的当前天气状况。
  • 查询航班状态: 根据航班号获取实时航班信息。
  • 货币兑换: 提供不同货币之间的汇率转换(通过调用另一个A2A服务实现)。
  • 模型评估: 提供对LLM模型响应(如Groundedness, Relevance等)的评估能力。
  • 执行量子计算任务: 允许提交和执行简单的量子处理单元(QPU)任务。
  • 其他能力: 框架中还包含了RAG、SQL、多模态、可视化、代码生成、图片生成、网页搜索等多种Agent,其中部分或全部能力可能通过MCP服务器对外暴露('mcpserver.py'中明确暴露了天气、航班、货币兑换、评估、量子计算工具)。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/chinu333/ragpython.git
    cd ragpython
  2. 配置环境变量: 在项目根目录创建 'secrets.env' 文件,并根据需要填入各种服务的API密钥和连接信息(例如 Azure OpenAI, Azure AI Search, Azure Maps, AviationStack, TomTom Maps, Neo4j, Cosmos DB, Azure Quantum 等)。具体的变量名和格式请参考代码中的 '.getenv()' 调用。
  3. 安装Python环境: 确保安装了Python 3.10。
  4. 安装依赖:
    pip install -r requirements.txt
  5. (可选)数据摄取: 如果需要使用RAG或Graph RAG功能,可能需要运行数据摄取脚本。
    python ingestion.py
    # 或其他相关数据准备脚本
  6. 启动A2A Server(如果需要货币兑换等通过A2A暴露的能力): 货币兑换工具依赖于仓库中的A2A服务器组件。
    python -m a2aserver --host 127.0.0.1 --port 3432
    并在 'secrets.env' 中配置 'A2A_SERVER_URL' 指向其地址(例如 'http://127.0.0.1:3432/')。

服务器配置(供MCP客户端参考)

MCP服务器作为独立进程运行,并通过标准I/O与MCP客户端通信(Stdio传输协议)。MCP客户端需要知道如何启动这个服务器进程并与之建立连接。典型的MCP客户端配置需要包含以下信息,用于指示客户端如何启动和连接到该服务器:

  • 服务器名称: 'MCPServer'
  • 启动命令 (command): 用于执行Python脚本的命令,通常是 'python'。
  • 命令参数 (args): 启动MCP服务器脚本的路径,相对于客户端执行命令的位置。例如,如果客户端在'ragpython'根目录执行,则参数为 './mcputils/mcpserver.py'。
  • 传输协议 (transport): Stdio

客户端通过配置这些参数,可以在需要时自动启动 './mcputils/mcpserver.py' 进程,并通过标准I/O进行MCP协议的JSON-RPC通信。

基本使用方法

  1. 启动MCP服务器: 直接运行 'python ./mcputils/mcpserver.py' 命令启动服务器。服务器会监听标准输入和标准输出。
  2. 连接MCP客户端: 使用支持MCP协议的客户端(例如 MCP Inspector 或其他兼容库),配置上述服务器信息(名称、命令、参数、Stdio传输协议)连接到服务器进程。
  3. 发现工具: 客户端连接成功后,可以通过MCP协议请求服务器声明其能力(例如,调用 'mcp/listTools' JSON-RPC方法)。
  4. 调用工具: 客户端可以根据发现的工具信息,构造相应的JSON-RPC请求(例如调用 'get_weather_info' 方法并传递 'location' 参数),发送给服务器执行。服务器将执行对应的Python函数,并将结果通过JSON-RPC响应返回给客户端。

信息

分类

AI与计算