项目简介
Health Agents Collective 是一个隐私优先、面向医疗应用构建的多智能体AI系统。它利用Google的A2A(Agent-to-Agent)协议和Pydantic AI框架,实现了患者分诊、FHIR数据集成和智能体协调等核心功能。系统中的每个微智能体都能独立运行,并通过JSON-RPC协议与大语言模型客户端通信,提供标准化的上下文信息和功能。
主要功能点
- 医疗专用多智能体架构: 系统中的每个功能模块(如FHIR数据处理、患者分诊、任务协调)都作为一个独立的Starlette微智能体运行,支持本地、远程或容器化部署,具有高度灵活性和可伸缩性。
- 动态智能体协调: 核心协调智能体能够实时发现并编排其他专业智能体的功能和工具,从而处理复杂的医疗查询和工作流,提供综合的响应。
- LLM提供商无关: 支持任何兼容OpenAI API的大语言模型(如OpenAI、Anthropic、Google Vertex等),方便集成到现有LLM生态。
- 100% 本地运行: 敏感的医疗数据在本地处理,除非用户明确允许发送给LLM提供商,否则数据不会离开本地机器,确保了高度隐私和安全。
- 可扩展性: 允许开发者以极低的成本(例如,只需不到100行代码)快速创建和注册新的智能体,新智能体注册后即可被其他智能体发现和利用。
- FHIR R4合规: 完全遵守HL7 FHIR R4标准,确保医疗数据交换的互操作性和规范性。
安装步骤
- 克隆仓库:
git clone https://github.com/micklynch/health-agents-collective.git cd health-agents-collective - 创建并激活虚拟环境,安装依赖:
uv sync # 或者使用 pip: # pip install -e . source .venv/bin/activate - 配置环境变量: 复制示例配置文件,并编辑 '.env' 文件,填入你的API密钥和FHIR服务器URL。
cp .env.example .env # 编辑 .env 文件,例如: # OPENROUTER_API_KEY=your-openrouter-api-key # FHIR_SERVER_URL=http://your-fhir-server:8080/fhir - 运行应用程序:
python app.py
服务器配置
本项目中的FHIR智能体(FHIR Agent)实现了一个MCP服务器,负责与FHIR服务器交互并暴露相关工具。为了让MCP客户端能够连接并使用此FHIR MCP服务器,需要配置以下信息:
- 服务器名称 (name): 'FHIR-MCP'
- 启动命令 (command): 'python' (用于启动Python解释器)
- 启动参数 (args): '["-m", "src.mcp_handler.fhir_mcp_main"]' (指定运行 'fhir_mcp_main' 模块)
- 环境变量 (env):
- 'FHIR_SERVER_URL': 你的FHIR服务器的基准URL(例如 'http://your-fhir-server:8080/fhir')
- 'FHIR_VERSION': FHIR版本,默认为 'R4'
- 传输协议 (transport): 'stdio' (通过标准输入输出进行通信)
基本使用方法
系统启动后,将进入交互模式。你可以在命令行界面中输入自然语言请求:
- 启动所有智能体: 在项目根目录运行 'python app.py'。 系统将启动分诊智能体、FHIR智能体和协调智能体。
- 在交互模式下提问:
当看到 '💬 What would you like to do today?' 提示时,输入你的医疗查询或请求。
- 患者分诊评估: '"I have a patient with chest pain and shortness of breath"' (我有一个病人,胸痛并呼吸急促)
- FHIR数据检索: '"Find patient data for John Smith, age 45"' (查找45岁John Smith的病人数据)
- 查询可用智能体: '"What agents are available?"' (有哪些智能体可用?)
- 系统信息: '"How does this system work?"' (这个系统如何工作?)
- 查看结果: 协调智能体将自动识别最佳的专业智能体来处理你的请求,并将返回处理结果。 输入 '/quit' 退出交互模式。
信息
分类
AI与计算