项目简介: "AI Advent Challenge" 仓库最初是一系列AI项目挑战,现已发展成为一个功能全面、生产就绪的Model Context Protocol (MCP) 服务器实现。它旨在以标准化的方式向大型语言模型(LLM)客户端提供上下文信息和功能。该服务器支持托管和管理各种AI资源,注册和执行AI工具(如文本摘要、PDF生成、代码审查等),并通过标准协议与LLM客户端通信。

主要功能点:

  • AI工具平台: 作为核心服务,为LLM客户端提供标准化的接口,以访问和执行各种AI驱动的工具和功能。
  • 频道摘要与PDF生成: 能够从Telegram等平台收集帖子,利用先进的LLM模型生成高质量的文本摘要,并支持将摘要导出为PDF格式。
  • 智能代码审查: 实现多阶段(如架构、组件、综合)的代码审查流程,为开发人员提供自动化且深入的代码质量分析报告。
  • 任务管理集成: 支持创建、查询和管理用户的日常任务,助力个人生产力提升。
  • 动态能力声明: 服务器能够动态地向连接的LLM客户端声明其可用的工具和资源,实现灵活的交互。
  • 会话与上下文管理: 提供强大的会话管理功能,确保LLM客户端在多轮交互中能够维护一致的上下文信息。

安装步骤:

  1. 克隆仓库:
    git clone https://github.com/fall-out-bug/AI_Advent_Challenge.git
    cd AI_Advent_Challenge
  2. 安装依赖: 项目使用 Poetry 管理依赖。请确保已安装 Poetry,然后运行:
    make install
    这会安装项目运行所需的所有 Python 库。
  3. 启动MongoDB (可选,但推荐): 许多功能(如帖子存储、会话管理)需要 MongoDB 数据库。
    docker-compose up -d mongodb
  4. 配置环境变量: 在项目根目录下创建或编辑 '.env' 文件,配置必要的环境变量。例如:
    • 'DB_NAME': MongoDB数据库名称 (例如: 'ai_challenge_prod')
    • 'MONGODB_URL': MongoDB连接URL (例如: 'mongodb://localhost:27017')
    • 'MISTRAL_API_URL': LLM服务(如Mistral)的API地址 (例如: 'http://localhost:8001')
    • 'TELEGRAM_BOT_TOKEN', 'TELEGRAM_API_ID', 'TELEGRAM_API_HASH', 'TELEGRAM_SESSION_STRING': 如果需要启用Telegram Bot和频道抓取功能,请配置这些变量。

服务器配置: MCP客户端需要以下 JSON 格式的配置信息来连接到此 MCP 服务器。这些信息定义了如何启动服务器进程及其运行环境。

{
  "server_name": "AI_Advent_Challenge_MCP_Server",
  "comment_server_name": "MCP服务器的名称,用于客户端识别。",
  "command": "python",
  "comment_command": "启动MCP服务器的主命令。",
  "args": [
    "-m",
    "src.presentation.mcp.http_server"
  ],
  "comment_args": "启动命令的参数,指定MCP服务器的Python模块作为入口点。",
  "env": {
    "DB_NAME": "ai_challenge_prod",
    "comment_DB_NAME": "MongoDB数据库名称。",
    "MONGODB_URL": "mongodb://localhost:27017",
    "comment_MONGODB_URL": "MongoDB数据库的连接URL。",
    "MISTRAL_API_URL": "http://localhost:8001",
    "comment_MISTRAL_API_URL": "LLM服务(如Mistral)的API地址,MCP服务器将使用此服务处理语言模型请求。"
  },
  "comment_env": "MCP服务器运行所需的环境变量集合。"
}

基本使用方法: 通过 'python -m src.presentation.mcp.http_server' 命令启动 MCP 服务器后,LLM客户端即可通过配置好的传输协议(如 HTTP)与其通信。

  1. 启动 MCP 服务器:
    python -m src.presentation.mcp.http_server
    这将在后台启动 MCP 服务器,它会暴露各种 AI 工具。
  2. MCP 客户端交互: 配置你的 MCP 客户端(例如:支持 MCP 的 LLM 代理、IDE插件或其他应用)使用上述 "服务器配置" 中的信息来连接到此服务器。连接成功后,客户端即可:
    • 发现工具: 发送请求以获取服务器提供的所有工具列表及其描述和输入规范。
    • 调用工具: 根据发现的工具信息,构建并发送请求来调用特定的 AI 工具,例如生成频道摘要、进行代码审查或管理任务。
    • 获取上下文: 在交互过程中,客户端可以利用服务器提供的会话管理功能来维护和获取必要的上下文信息。

关键词: AI后端服务, LLM工具, 上下文管理, 智能摘要, 代码审查

信息

分类

AI与计算