图谱增强 RAG Agent


agent-graphrag

演示地址graphrag-demo.canoeagent.com

Key:(为防止 Key 滥用,请在履历页面或联系站长获取)

提示:刷新重开页面页面均需要输入 Key

建议:PC 或平板电脑等宽屏设备访问效果最佳

操作指南.txt

图谱浏览器


技术栈 & 外部 API

Agent GraphRAG 是一个基于 LLM + Milvus 向量检索 + ES 关键词检索 + Neo4j 知识图谱三路融合的医学知识增强问答系统,支持文档上传后自动提取药品、疾病、症状等医学实体及关系并构建知识图谱,通过向量语义检索、全文关键词检索与图谱多跳推理的加权融合搜索,结合智能体工具链(图谱推理、实体探索、文档管理),实现可溯源、可推理的专业医学问答与知识探索。

Agent 工具集(LLM Function Calling)

工具 功能
search_graphrag 三路融合搜索(文档 + 图谱)
explore_entity 探索某实体在 Neo4j 中的关联关系
graph_reason 多跳图谱推理(如 A → B → C 间接关系)
ingest_document 导入文档并自动提取实体/关系建图
list_documents 列出知识库中的文档列表

后端技术栈

类别 技术/库 用途
语言 Go 1.25.8 主开发语言
CLI 框架 spf13/cobra 命令行解析,支持 serve / ingest 子命令
HTTP 服务 Go 标准库 net/http REST API 服务 + 静态文件托管
HTTP 客户端 go-resty/resty/v2 调用 LLM API 和 Embedding API
配置解析 gopkg.in/yaml.v3 YAML 配置文件读取
UUID google/uuid 文档 ID 生成

HTTP 中间件(自实现)

中间件 职责
CORS 允许跨域(Access-Control-Allow-Origin: *),OPTIONS 预检
Auth Bearer Token 鉴权(Authorization: Bearer ),保护所有 API
Management Auth 管理密钥鉴权(X-Management-Key 请求头),保护上传/删除接口

前端技术栈

类别 技术 用途
UI 原生 HTML + CSS 纯手写,无框架,响应式布局
交互逻辑 原生 JavaScript (ES6+) 会话管理、文档上传、图谱交互
图谱可视化 vis-network (vis-network.min.js) 力导向图展示知识图谱节点和关系
跨页面通信 BroadcastChannel API 从 index.html → graph.html 安全传递 API Key

外部 API 调用

服务 用途 说明
DeepSeek API LLM 对话 对话生成 & Function Calling(模型: deepseek-chat)
智谱 GLM Embedding API 文本向量化 文本向量化(模型: embedding-3,维度 1024)

中间件

组件 SDK 协议 角色
Neo4j neo4j-go-driver/v5 Bolt 协议 知识图谱 — 存储医学实体(药品/疾病/症状等)及关系,支持子图检索、BFS 展开、多跳路径发现
Milvus milvus/client/v2 gRPC 向量检索引擎 — 语义相似度检索
Elasticsearch go-elasticsearch/v8 HTTP REST 全文检索引擎 — 关键词 BM25 检索
MemoryEngine 内置(Go 内存) 进程内 离线降级引擎 — 关键词匹配检索,无需外部依赖
三路融合权重:向量 ×1.0 + 关键词 ×1.0 + 图谱 ×1.5,图谱检索后还会 BFS 展开关联实体。