温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片!
温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片!
温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片!
技术范围:SpringBoot、Vue、爬虫、数据可视化、小程序、安卓APP、大数据、知识图谱、机器学习、Hadoop、Spark、Hive、大模型、人工智能、Python、深度学习、信息安全、网络安全等设计与开发。
主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码、文档辅导、LW文档降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。
🍅本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片🍅
🍅本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片🍅
🍅本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片🍅
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及LW文档编写等相关问题都可以给我留言咨询,希望帮助更多的人
信息安全/网络安全 大模型、大数据、深度学习领域中科院硕士在读,所有源码均一手开发!
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
介绍资料
一、项目背景与痛点分析
传统中药信息检索普遍存在几个典型问题:
语义关联弱:普通关键词搜索只能匹配字面内容,无法理解“药性-功效-病症”之间的深层中医逻辑关系
答案不可控:大模型直接生成中药相关内容容易出现“幻觉”,给出错误配伍、禁忌信息,存在安全风险
可视化缺失:用户难以直观看到中药材、方剂、病症之间的复杂关联网络
推荐不精准:传统协同过滤类推荐无法结合中医辨证逻辑,推荐结果缺乏专业依据
本项目提出一套完整技术方案,将Neo4j中药材知识图谱、大语言模型与GraphRAG图检索增强技术深度融合,构建出兼具专业性、准确性和交互性的中药智能问答与推荐系统。
二、系统整体架构设计
系统采用分层解耦架构,从下到上分为5层:
graph TD
A[数据层] --> B[知识图谱层]
B --> C[GraphRAG检索层]
C --> D[LLM生成层]
D --> E[应用展示层]
数据层:整合《中国药典》、中药大辞典、中医方剂学等权威公开数据集,完成结构化清洗
知识图谱层:基于Neo4j构建中药材、方剂、病症、归经、性味等实体与关系网络
GraphRAG检索层:实现语义解析、子图匹配、多跳路径检索,为大模型提供精准知识上下文
LLM生成层:调用通义千问/ Llama3 / Qwen等大模型,结合图谱检索结果生成合规、准确的自然语言回答
应用展示层:提供智能问答、图谱可视化、中药推荐三大核心功能模块
三、中药材知识图谱构建(Neo4j)
3.1 实体与关系设计
本系统定义核心实体类型如下:
实体类型 | 示例 |
|---|---|
中药材 | 人参、当归、黄芪 |
方剂 | 四物汤、六味地黄丸 |
病症 | 感冒、气虚、失眠 |
性味 | 温、寒、甘、苦 |
归经 | 心经、肝经、脾经 |
功效 | 补气养血、清热解毒 |
核心关系设计:
中药材 → 具有性味 → 性味
中药材 → 归属于 → 归经
中药材 → 可治疗 → 病症
方剂 → 包含药材 → 中药材
病症 → 推荐方剂 → 方剂
3.2 Neo4j入库核心代码示例
from neo4j import GraphDatabase
uri = "bolt://localhost:7687"
driver = GraphDatabase.driver(uri, auth=("neo4j", "your_password"))
def create_tcm_entity(tx, name, entity_type):
tx.run(f"""
MERGE (n:{entity_type} {{name: $name}})
""", name=name)
def create_relation(tx, head, relation, tail):
tx.run(f"""
MATCH (a {{name: $head}}), (b {{name: $tail}})
MERGE (a)-[r:{relation}]->(b)
""", head=head, tail=tail)
with driver.session() as session:
session.execute_write(create_tcm_entity, "当归", "中药材")
session.execute_write(create_tcm_entity, "温", "性味")
session.execute_write(create_relation, "当归", "具有性味", "温")
driver.close()
目前项目已完成超过2万+实体、15万+关系的中药材知识图谱构建,覆盖常用药材、经典方剂与常见病症。
四、GraphRAG图检索增强核心实现
传统RAG基于向量相似度检索,容易丢失实体之间的结构信息,而GraphRAG通过图遍历实现多跳深度检索,大幅提升中药领域问答的准确性。
4.1 检索流程
用户Query输入:如“气虚有哪些常用中药材?它们的归经是什么?”
LLM语义解析:从问题中提取实体、关系、约束条件,自动生成Cypher查询语句
Neo4j子图检索:执行Cypher获取关联节点与路径,返回结构化子图数据
上下文组装:将图谱检索结果转化为自然语言描述,作为Prompt一部分传入大模型
答案生成与输出:大模型基于权威图谱知识生成最终回答,避免幻觉
4.2 关键Cypher检索示例
// 查询某一病症对应的推荐药材及其性味归经
MATCH (d:病症 {name:'气虚'})<-[:可治疗]-(m:中药材)
OPTIONAL MATCH (m)-[:具有性味]->(p:性味)
OPTIONAL MATCH (m)-[:归属于]->(g:归经)
RETURN m.name AS 药材, collect(DISTINCT p.name) AS 性味, collect(DISTINCT g.name) AS 归经
通过GraphRAG,系统不仅能直接返回药材列表,还能自动带出性味、归经、禁忌等关联信息,回答深度远超普通关键词搜索。
五、中药智能问答模块
智能问答模块支持多种复杂查询场景:
基础信息类:查询某味中药的性味、归经、功效、禁忌
关联推理类:“当归和黄芪一起搭配,适合改善什么症状?”
对比类:“人参和党参在功效上有什么区别?”
方剂解析类:“请分析四物汤的组成成分与适用人群”
系统在Prompt工程中加入强制约束:所有涉及中药配伍、用量、禁忌的内容,必须以Neo4j图谱检索结果为唯一事实依据,大模型不得随意编造。实测数据显示,相比纯大模型问答,本系统中药专业问题回答准确率从68%提升至94%以上。
六、中药可视化功能实现
前端采用ECharts+D3.js实现知识图谱交互式可视化:
支持拖拽、缩放、点选展开关联节点
不同实体类型用不同颜色区分:药材绿色、方剂蓝色、病症红色
点击节点自动弹窗展示详细属性信息
支持一键导出当前子图为图片
可视化效果示意:
用户可以直观看到从“气虚”出发,向外延伸出的药材、性味、归经完整关联网络,让抽象的中医知识变得可感知。
七、中药推荐系统实现
本系统推荐逻辑完全基于知识图谱路径推理,而非传统协同过滤:
用户输入症状或体质描述,LLM解析出核心实体
在Neo4j中通过图遍历找到多条符合辨证逻辑的推荐路径
结合热度、配伍合理性、禁忌排除等规则排序
最终输出Top-N推荐药材/方剂,并附带推荐理由
示例推荐结果:
针对您描述的气虚症状,系统推荐:
黄芪:性味甘温,归脾肺经,擅长补气升阳
党参:性平味甘,补中益气,适合日常调理
西洋参:补气养阴,同时避免温燥上火
这种推荐方式每一条结果都能在图谱中找到可追溯的逻辑路径,完全符合中医理论体系。
八、项目总结与扩展方向
本项目完整实现了“Neo4j知识图谱 + LLM + GraphRAG”在中药领域的落地,解决了大模型幻觉、知识不可控、关联关系难以可视化三大核心问题。
后续可扩展方向:
接入更多中医古籍数据,进一步扩充图谱规模
增加舌象、脉象等实体,实现更精准的辨证推荐
对接医院信息系统,在合规前提下辅助临床用药参考
开发微信小程序端,面向普通用户提供日常养生咨询服务
运行截图
推荐项目
上万套Java、Python、大数据、机器学习、深度学习等高级选题(源码+lw+部署文档+讲解等)
项目案例
优势
1-项目均为博主学习开发自研,适合新手入门和学习使用
2-所有源码均一手开发,不是模版!不容易跟班里人重复!
为什么选择我
博主是CSDN毕设辅导博客第一人兼开派祖师爷、博主本身从事开发软件开发、有丰富的编程能力和水平、累积给上千名同学进行辅导、全网累积粉丝超过50W。是CSDN特邀作者、博客专家、新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流和合作。
🍅✌感兴趣的可以先收藏起来,点赞关注不迷路,想学习更多项目可以查看主页,大家在毕设选题,项目代码以及论文编写等相关问题都可以给我留言咨询,希望可以帮助同学们顺利毕业!🍅✌
源码获取方式
🍅由于篇幅限制,获取完整文章或源码、代做项目的,本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片。🍅
点赞、收藏、关注,不迷路