项目简介

GenomicsGPT是一个基于AI多智能体系统的基因组变异解读平台,通过集成Azure OpenAI、LangChain和ClinVar真实数据,提供生产级的RAG(检索增强生成)系统。其内置的MCP服务器模块,专门用于向LLM客户端提供基因组相关的工具和服务,支持变异查询和基因变异分析,帮助AI模型理解和处理复杂的基因组信息。

主要功能点

  • 工具发现: 自动列出服务器所有可用的基因组分析工具,方便LLM客户端集成和使用。
  • 标准化工具调用: 提供统一的接口('/mcp/invoke')来调用基因组分析功能,简化AI模型与后台服务的交互。
  • 基因组数据查询: LLM客户端可以通过调用工具查询基因变异数据库,获取特定变异的详细信息。
  • 基因相关变异分析: 支持通过工具查询某个特定基因下的所有相关变异数据。
  • 服务健康监控: 监控MCP服务器的运行状态,确保服务的稳定性和可用性。
  • 交互式API文档: 提供Swagger UI ('/docs' 路径),方便开发者查看所有可用的工具、API接口及其使用说明。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/manveenmeng/AI-Powered-Multi-Agent-System-for-Genomic-Variant-Interpretation.git
    cd AI-Powered-Multi-Agent-System-for-Genomic-Variant-Interpretation
  2. 创建并激活Python虚拟环境:
    python -m venv venv
    source venv/bin/activate  # 在Windows系统上,请运行:venv\Scripts\activate
  3. 安装依赖:
    pip install -r requirements.txt
  4. 准备数据 (二选一):
    • 使用示例数据 (快速启动):
      python scripts/create_sample_data.py
    • 下载完整的ClinVar数据:
      python scripts/download_clinvar.py
      # 如果您使用Azure服务,请运行以下命令上传数据:
      # python scripts/upload_to_azure.py

服务器配置

MCP客户端需要配置GenomicsGPT MCP服务器的启动命令和参数才能建立连接。以下是配置示例:

{
  "server_name": "GenomicsGPT MCP Server",
  "command": "python",
  "args": ["src/mcp/mcp_server.py"],
  "description": "提供基因组变异解读的上下文服务,包含变异查询和基因变异分析工具。"
}
  • server_name: 服务器的名称,用于客户端识别。
  • command: 启动MCP服务器的命令,这里是 'python'。
  • args: 传递给启动命令的参数,这里是执行 'src/mcp/mcp_server.py' 脚本。
  • description: 服务器功能的简要描述,帮助客户端理解其提供的服务。

基本使用方法

在完成安装和数据准备后,可以启动MCP服务器。

  1. 启动MCP服务器: 在终端中运行:

    python src/mcp/mcp_server.py

    服务器将在 'http://localhost:8000' 端口监听请求。

  2. 访问交互式API文档: 在浏览器中打开 'http://localhost:8000/docs' 可以查看所有可用的工具和API接口,包括 'variant-lookup' 和 'gene-variants' 等。

  3. 通过MCP客户端调用工具: MCP客户端将通过JSON-RPC协议连接到此服务器。例如,客户端可以发送请求调用 'variant-lookup' 工具来查询特定变异信息,或调用 'gene-variants' 工具获取某个基因的所有变异。

    (示例:使用 'curl' 模拟调用 'variant-lookup' 工具查询BRCA1变异,实际MCP客户端将以标准化的JSON-RPC请求格式进行通信。)

    curl -X POST "http://localhost:8000/mcp/invoke" \
      -H "Content-Type: application/json" \
      -d '{
        "tool_name": "variant-lookup",
        "parameters": {"variant_id": "BRCA1"}
      }'

信息

分类

AI与计算