概述
本技术落地方案旨在整合CACA智能导航系统和基于RAG与大模型技术的医疗问答系统,以提供一个全面、智能化的肿瘤诊治支持工具。该方案将结合两大系统的优势,实现肿瘤诊治知识的系统化管理和智能化应用,提高医生的诊疗效率和质量,同时为患者提供个性化、精准的医疗服务。
CACA智能导航系统
系统目标
CACA智能导航系统由中国抗癌协会指导,中国抗癌协会个案管理专业委员会主办。该系统基于《中国肿瘤整合诊治指南(CACA)》,结合大数据及人工智能技术,为医生提供指南AI导航、指南思维导图、指南模拟考试等多种功能,旨在提高医疗服务的质量和效率,为患者提供更好的健康管理体验。
系统功能与服务
- 指南AI导航:利用人工智能技术,辅助医生快速找到相关的诊治指南,支持临床决策。
- 指南思维导图:以图形化方式展示指南内容,帮助医生和患者更好地理解治疗流程。
基于RAG与大模型技术的医疗问答系统
系统介绍
系统设计了一个基于RAG与大模型技术的医疗问答系统,利用CACA指南数据与Neo4j构建知识图谱,通过精确的知识检索和问答生成,提升系统在医疗咨询中的性能。
系统功能与服务
- 知识图谱构建:利用Neo4j构建医疗领域的知识图谱,为大模型提供精确的外部信息。
- 实体识别(NER):通过规则匹配的方式构建实体识别数据集,优化实体名字,提升模型性能。
- 意图识别:设计Prompt,结合上下文学习与思维链技术,采用大语言模型对用户的提问进行意图识别。
- 知识图谱查询:为每一个意图设置查询语句,实现精确的知识检索。
技术落地方案
整合策略
- 数据整合:将CACA智能导航系统的指南数据与基于RAG的医疗问答系统的知识图谱数据进行整合,实现数据互通。
- 功能互补:CACA智能导航系统的指南AI导航与基于RAG的医疗问答系统的知识图谱查询功能相互补充,提供更全面的决策支持。
- 用户界面统一:统一用户界面,提供注册、登录、大模型选择、多窗口对话等功能,提升用户体验。
构建知识图谱
- MAC平台安装:brew install neo4j。
- 数据初始化及导入:按照平台需求进行数据整理及导入工作
技术文档:医疗智能问答机器人 Web UI (webui.py)
概述
本文档提供了医疗智能问答机器人Web UI的详细技术说明。该系统是一个基于Streamlit框架构建的Web应用,用于与用户进行医疗相关的问答交互。系统后端集成了自然语言处理(NLP)模型,包括实体识别和意图识别,以及一个基于Neo4j的知识图谱,用于提供准确的医疗咨询服务。
功能模块
1. 模型加载 (loadModel
)
- 功能:加载命名实体识别(NER)模型和意图识别模型。
- 输入:
cache_model
,用于指定加载的模型。 - 输出:返回BERT分词器、BERT模型、索引到标签的映射、规则、TF-IDF对齐结果和设备(CPU或GPU)。
2. 意图识别 (intentRecognition
)
- 功能:识别用户查询的意图,并将其分类到预定义的查询类别中。
- 输入:用户查询
select
和选择的语言模型choose
。 - 输出:识别的意图结果。
3. 属性提示 (attributePrompt
)
- 功能:根据实体和属性,从知识图谱中检索信息,并生成提示。
- 输入:实体
entity
、属性attribute
和Neo4j客户端client
。 - 输出:生成的提示字符串。
4. 联系提示 (contactPrompt
)
- 功能:根据实体和关系,从知识图谱中检索信息,并生成提示。
- 输入:实体
entity
、联系contact
、目标类型target
和Neo4j客户端client
。 - 输出:生成的提示字符串。
5. 生成提示 (generatePrompt
)
- 功能:根据用户查询和识别的实体,生成用于意图识别的提示。
- 输入:意图识别结果
response
、用户查询select
、Neo4j客户端client
等。 - 输出:生成的提示、意图识别结果和实体识别结果。
6. 问答流 (problemStream
)
- 功能:处理问答流,生成回答。
- 输入:提示
prompt
。 - 输出:生成的回答。
技术栈
- JAVAScript:用于构建应用小程序界面。
- JAVA:用于构建管理端界面。
- Python:用于模型加载和推理。
- MAXKB:用于生成回答。
使用说明
- 启动小程序后,用户可以在界面中输入患者疾病的详细信息。
- 系统将自动识别用户的意图,并从知识图谱中检索相关信息。
- 系统将生成回答,并在界面中显示给用户。
- 管理员可以通过侧边栏选项显示实体识别结果、意图识别结果和知识库信息。
预期成果
- 系统开发与部署:成功开发并部署整合后的CACA智能导航系统,实现指南知识的数字化和可视化。
- 诊疗效率提升:系统能够为医生提供智能化的决策支持,提高诊疗效率和质量。
- 医疗资源优化:通过系统实现医疗资源的优化配置,降低医疗成本。
- 医疗服务提升:加强医疗机构间的协作,提升医疗服务的整体水平。