项目简介

'agent-alz-assistant' 是一个为阿尔茨海默症研究设计的智能AI助手。它集成了文献检索、数据可视化和知识合成能力,帮助研究人员高效地从大量文献中获取信息并进行分析。项目通过 NiceGUI 提供友好的Web界面,并通过 'Claude Code CLI' 驱动一个代理AI,该代理AI利用多个MCP服务器提供的工具来完成任务。

主要功能点

  • 智能文献检索: 通过集成的 'PaperQA' MCP服务器,能够查询专门策展的阿尔茨海默症研究论文语料库,并提供摘要和引用。
  • 数据可视化: 通过集成的 'plotting-server' MCP服务器,能够创建各种数据图表(如条形图、散点图、折线图、箱线图、热力图),以可视化从文献中提取的数据。
  • 代理AI驱动: 利用 Anthropic 的 'Claude Code CLI' 驱动代理AI,使其能够理解自然语言请求,并自主选择和调用合适的MCP工具来完成复杂的任务。
  • Web界面: 提供一个直观的NiceGUI Web界面,方便用户进行交互和查看结果。

安装步骤

  1. 安装Node.js和Claude Code CLI: 如果您尚未安装,请根据您的操作系统安装Node.js 18+,然后全局安装 'Claude Code CLI':
    # Ubuntu/Debian 示例
    curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
    sudo apt-get install -y nodejs
    sudo npm install -g @anthropic-ai/claude-code
  2. 安装Python依赖: 确保您已安装Python 3.10+和 'uv' 包管理器,然后运行:
    uv sync
  3. 配置环境变量: 复制 '.env.example' 文件为 '.env',并编辑 '.env' 文件,填入必要的配置信息,例如您的OpenAI API Key和用于认证的密码哈希等。
    cp .env.example .env
    # 根据注释编辑 .env 文件,填写您的API密钥、密码哈希等
  4. 配置MCP服务器: 复制 'mcp_config.json.example' 文件为 'mcp_config.json'。该文件定义了代理AI可以使用的MCP服务器及其启动方式。
    cp mcp_config.json.example mcp_config.json
    # 确保 paperqa 服务器的 --directory 路径指向您的项目根目录

服务器配置

本仓库实现了两个MCP服务器,用于增强代理AI的能力。MCP客户端(例如 'Claude Code CLI')需要一个JSON配置文件来发现并连接到这些服务器。以下是配置 'plotting-server' 和 'paperqa-server' 的示例JSON结构和说明。请注意,'mcp_config.json' 文件应放在项目根目录。

{
  "mcpServers": {
    "plotting-server": {
      "command": "uvx",
      "args": [
        "python",
        "agent_alz_assistant/mcp_server/plotting_server.py"
      ],
      "description": "一个提供数据可视化工具的MCP服务器,可以根据提供的数据创建各种图表(如条形图、散点图、折线图、箱线图、热力图)。"
    },
    "paperqa-server": {
      "command": "uvx",
      "args": [
        "python",
        "agent_alz_assistant/mcp_server/paperqa_server.py"
      ],
      "description": "一个查询策展的阿尔茨海默症研究论文语料库的MCP服务器。提供检索工具,能够从相关论文中合成答案并提供引用。"
    }
  }
}
  • 'mcpServers': 包含所有MCP服务器配置的对象。
  • 'plotting-server': 数据可视化服务器的名称。
    • 'command': 启动服务器的主命令。'uvx' 是 'uv' 包管理器执行脚本的推荐方式。
    • 'args': 传递给 'command' 的参数列表,指定了要运行的Python MCP服务器脚本路径。
    • 'description': 服务器功能的简要描述。
  • 'paperqa-server': 文献查询服务器的名称。
    • 'command': 启动服务器的主命令。
    • 'args': 指定 'paperqa_server.py' 脚本路径。
    • 'description': 服务器功能的简要描述。

基本使用方法

  1. 在项目根目录运行 'make start' 或 'uv run python app.py' 启动应用。
  2. 打开您的浏览器,访问配置的端口(默认为 'http://localhost:8602')。
  3. 如果启用了认证,输入密码登录。
  4. 在聊天界面输入您关于阿尔茨海默症研究的问题,代理AI将利用其工具为您提供答案、图表或文献引用。

信息

分类

AI与计算