# MedAgent **Repository Path**: chenghui-liu/med-agent ## Basic Information - **Project Name**: MedAgent - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-24 - **Last Updated**: 2026-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MedAgent · 医疗问诊多智能体系统 基于 Spring AI + Alibaba Agent Framework 的多智能体医疗问诊系统。本仓库为主框架(monorepo),后端核心是 **Harness(驾驭层)**——负责连接、控制、调度各个 Agent 形成完整问诊流程,支持药品查询、症状分析、意图识别、报告生成等功能。 > 后端架构详解见 [llm-agent-harness/README.md](llm-agent-harness/README.md)([英文版](llm-agent-harness/README.en.md))。 ## 仓库结构 ``` MedAgent/ ├── llm-agent-harness/ # 后端:Spring Boot 多智能体服务(端口 8002) │ ├── src/ # 源码(app 应用层 + harness 领域核心) │ ├── doc/ # 项目文档:设计、数据导入指南、建表 SQL │ ├── scripts/ # 医疗数据导入脚本(Neo4j / Qdrant / EasySearch) │ ├── pom.xml # Maven 构建配置 │ └── README.md # 后端架构文档 ├── frontend/ # 前端:Vue 3 + Vite 问诊界面(端口 5173) └── README.md ``` | 目录 | 说明 | |------|------| | `llm-agent-harness/` | 后端服务。DDD 分层 + Harness 驾驭层,Agent 编排、中间件管道、RAG 多路检索、三层记忆、评估 | | `llm-agent-harness/doc/` | [数据导入指南](llm-agent-harness/doc/data-import-guide.md)、[数据格式分析](llm-agent-harness/doc/data-format-analysis.md)、优先级队列设计系列、[建表 SQL](llm-agent-harness/doc/sql/) | | `llm-agent-harness/scripts/` | Node 导入脚本,零 npm 依赖,用法见[导入指南](llm-agent-harness/doc/data-import-guide.md) | | `frontend/` | [前端](frontend/README.md)。登录注册、问诊会话管理、SSE 流式问诊(Agent 过程时间线)、模型提供方切换 | ## 快速开始 ### 后端 ```bash cd llm-agent-harness mvn spring-boot:run # 需 JDK 17,默认端口 8002 ``` 健康检查:`GET http://localhost:8002/actuator/health` 所有中间件默认连接远程服务器(见下表),也可通过环境变量覆盖 `application.yml` 中的配置。 ### 前端 ```bash cd frontend npm install npm run dev # 开发服务器,默认端口 5173,/api 已代理到 8002 ``` 打开 http://localhost:5173 ,先用后端接口注册/登录(或游客模式),再创建问诊会话即可开始对话。生产构建用 `npm run build`,部署时由 Nginx 将 `/api` 反代到 8002 即可同源访问。 ### 医疗数据导入 三个知识库的数据集导入命令与参数说明见 [llm-agent-harness/doc/data-import-guide.md](llm-agent-harness/doc/data-import-guide.md),在 `llm-agent-harness/` 目录下执行: ```bash cd llm-agent-harness # Neo4j 药品关系图谱 node scripts/import_neo4j_drug.js <数据集.json> http://8.155.131.13:7474 neo4j <密码> [recreate] # EasySearch 全文索引(当前未启用认证) node scripts/import_easysearch.js <数据集.json> http://8.155.131.13:9200 "" "" medical_db [recreate] # Qdrant 向量索引(Ollama embedding,384 维) node scripts/import_qdrant_ollama.js <数据集.json> medical_db http://8.155.131.13:6333 http://8.155.131.13:11434 all-minilm:l6-v2 [recreate] ``` ## 基础设施 所有中间件部署在远程服务器 `8.155.131.13`(docker compose 统一编排): | 服务 | 端口 | 用途 | |------|------|------| | MySQL 8.0 | 3306 | 业务数据(medical_db) | | PostgreSQL 16 | 5432 | Checkpoint / 会话状态(medical_rob_pg) | | Redis 8 | 6379 | 缓存、评估 Stream | | Neo4j 4.4 | 7474 / 7687 | 药品-疾病知识图谱 | | EasySearch | 9200 | 全文检索(medical_db 索引) | | Qdrant 1.16 | 6333 / 6334 | 向量检索(medical_db collection) | | Ollama | 11434 | Embedding(all-minilm:l6-v2,384 维) | | Rerank 服务 | 8060 | bge-reranker-large,Cohere 兼容 `/rerank` | LLM 通过 OpenAI 兼容 API 接入,支持 DeepSeek / Kimi / MiniMax / Qwen / Local 切换,配置见 `llm-agent-harness/src/main/resources/application.yml`。 ## ⚠️ 私有仓库 `application.yml` 中包含数据库密码与 API Key,**本仓库必须保持私有**。