面向医疗场景的大模型 RAG 检索增强解决方案

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 本方案为您介绍,如何使用人工智能平台 PAI 构建面向医疗场景的大模型 RAG 检索增强解决方案。

在现代信息检索领域,检索增强生成(Retrieval-Augmented Generation, RAG)模型结合了信息检索与生成式人工智能的优点,从而在特定场景下提供更为精准和相关的答案。在特定场景下,例如医疗等领域,用户通常需要精确且相关的信息来支持决策。传统生成模型虽然在自然语言理解和生成方面表现良好,但在专业知识的准确性上可能有所不足。RAG 模型通过将检索与生成相结合,能有效提升回答的准确性和上下文相关性。本方案为您介绍,如何使用人工智能平台 PAI 构建面向医疗场景的大模型 RAG 检索增强解决方案。

  1. 使用 PAI-Designer 构建知识库

您可以参照数据格式要求准备,使用 PAI-Designer 构建相应的检索知识库。

  1. 使用 PAI-LangStudio 进行模版构建

您在 LangStudio 中使用预置的 RAG 模版进行定制化,创建适合具体应用的模板。

  1. 使用 PAI-Langstudio 构建在线应用

LangStudio 提供了用户友好的界面,使用户能够轻松提交查询并获取答案。您可以使用创建好的模板构建符合业务需求的在线应用。


一、前置准备

在开始执行操作前,请确认您已完成以下准备工作:

1. 准备数据集


在使用 PAI-Designer 构建知识库的过程中,您首先需要根据特定领域的需求,准备并整理好适合的数据集。这些数据往往涉及到该领域的专业内容,需确保数据的准确性和完整性。PAI-Designer 提供了一套便捷的工具和接口,帮助用户轻松导入和管理这些数据。在本解决方案中,我们以医疗为例,展示使用 CSV 作为原始数据,使用 PAI-Designer 构建知识库的的步骤。您需要确保数据格式符合 PAI-Designer 的要求,例如 CSV 格式。可以通过对领域文档进行预处理和格式化,提取其中的关键信息。

数据示例

以下给出医疗领域的数据的示例,格式为 csv,主要内容为维基百科上的疾病介绍,用户可以根据需要准备自己的数据:

image.png image.png


该示例数据集已经放置于公开的 oss bucket 中,可以使用 wget 下载,下载后请用户将数据上传到自己的 oss bucket 中,以供下一步使用:

wget https://atp-modelzoo-sh.oss-cn-shanghai.aliyuncs.com/release/solutions/rag/data/%E5%8C%BB%E7%96%97csv.zip


2. 部署 LLM 和 Embedding 模型


1. 前往快速开始 > ModelGallery,分别按场景选择大语言模型Embedding 分类,并部署指定的模型。本文以通义千问2.5-7B-Instructbge-large-zh-v1.5 通用向量模型为例进行部署。请务必选择使用指令微调的大语言模型(名称中包含“Chat”或是“Instruct”的模型),Base 模型无法正确遵循用户指令回答问题。

image.png

image.png


2. 前往任务管理,单击已部署的服务名称,在服务详情页签下单击查看调用信息,分别获取前面部署的 LLM 和 Embedding 模型服务的 VPC 访问地址和 Token,供后续创建连接时使用。 image.png image.png

3. 创建 LLM 链接

1. 进入LangStudio,选择工作空间后,在连接管理页签下单击新建连接,进入应用流创建页面。2. 创建通用 LLM 模型服务连接。其中 base_url和api_key 分别对应2. 部署 LLM 和 Embedding 模型中 LLM 的 VPC 访问地址和 Token。

4. 创建 Embedding 模型服务连接

3. 创建 LLM 链接,创建通用 Embedding 模型服务连接。其中 base_url api_key 分别对应2. 部署 LLM 和 Embedding 模型中 Embedding 模型的 VPC 访问地址和 Token。

image.png

5. 创建向量数据库连接

3. 创建 LLM 链接,创建 Milvus 数据库连接。

image.png

关键参数说明:

  • uri:Milvus 实例的访问地址,即http://,Milvus 内网访问地址如下:

image.png

则 uri 为http://c-b1c5222fba****-internal.milvus.aliyuncs.com

  • token:登录 Milvus 实例的用户名和密码,即:
  • database:数据库名称,本文使用默认数据库default


二、使用 PAI-Designer 构建知识库


使用 PAI-Designer 构建知识库索引工作流主要包含以下几个步骤:

  1. 使用数据源读取组件,读取 OSS 中的数据。
  2. 使用文本解析分块组件,对文本进行分块。
  3. 使用向量生成组件,对分块后的文本进行向量化。
  4. 使用索引存储组件,将向量化后的文本存储到向量数据库。

image.png


PAI-Designer 工作流串联示例

您可以打开 PAI-Designer,选择 LLM 大语言模型中的检索增强生成构建自己的知识库。

image.png

进入工作流后,您会看到下面的工作流,接下来依次介绍各个模块的作用以及需要填写的参数。

RAG 读取 OSS 数据

选择存储数据的 OSS Bucket,确保 Bucket 中已经保存好相关的文档数据(可以为 pdf/csv 格式)。

image.png

image.png

RAG 文本解析分块

对输入的文件进行分块处理,填入块大小和块重叠大小的参数,并选择 OSS Bucket 保存分块完成的数据。

image.png

RAG 文本向量生成

使用 embedding 模型,对分块完成的数据进行向量化并存储,便于后续的检索操作。

image.png

RAG 索引构建

使用先前创建的 milvus 数据库,存储已经生成的文档向量。其中向量数据库选择自己创建的数据库,为存储的文档向量取一个名称,填入集合/表名称中;相似度度量可以选择点积、余弦、欧几里得的方式;并选择一个 OSS Bucket 保存 RAG 的索引。

image.png image.png


三、使用 PAI-LangStudio 进行模版构建


PAI-LangStudio 是一个人工智能应用的开发平台,采用直观的交互式环境,简化了企业级大模型应用的开发流程。在开发和设计大模型应用时,可以使用 PAI-LangStudio 进行模版构建。此外,PAI-LangStudio 配合一键部署 EAS,使得高质量应用得以迅速、无缝地部署至生产环境。以下介绍使用 PAI-LangStudio 进行模版构建的过程

新建应用流

  1. 进入 LangStudio,选择工作空间后,在应用流页签下单击新建应用流,进入应用流创建页面。
  2. 选择从模板新建,并在选择 RAG 模板后填入应用流名称,在 OSS Bucket 中选择存储应用流的路径。

image.png

配置应用流

创建应用流后会进入应用流详情界面,左图中有四个节点,分别对应了不同的功能。

  1. rewrite_question 节点通过对用户问题的重写以提升问题质量,其中需要用户在基础配置中选择 connection为前置准备3. 创建 LLM 连接中创建好的连接。

image.png

  1. retrieve 节点通过向量数据库召回和问题相关的文档内容,Vector Store 需要用户选择前置准备5. 创建向量数据库链接中创建好的数据库以及在 index_name 中填入使用 PAI-Designer 构建知识库-RAG 索引构建中填入的集合/表名;Embedding Model 中需要用户选择「前置准备4. 创建 Embedding 模型服务连接中创建的连接。

image.png

  1. threshold_filter 节点对 retrieve 节点召回的文档进行过滤,填入的 threshold 值是对召回文档和查询问题相似度过滤的条件,threshold 越大,则过滤掉越多召回的相似度低的文档。

image.png

  1. generate_answer 节点根据召回和过滤后的文档,回答问题。用户需要在基础配置中选择前置准备3. 创建 LLM 连接中创建好的 LLM 连接。

image.png


四、使用 PAI-LangStudio 构建在线应用

  1. 配置完上述流程后,点击启动运行时,并选择机型,配置专有网络链接,部署 RAG 应用。

image.png

image.png

  1. 运行时启动后,点击对话按钮,在左侧对话框中输入想问的问题,与大语言模型开始交流对话。

image.png


五、案例对比

以下给出医疗领域,使用和不使用 RAG 解决特定任务的案例对比。红色部分表示大模型回答有事实性错误,或者不够具体精确,绿色部分表示使用 RAG 得到的对应正确回复。

任务一:疾病治疗建议

问题:患者女,40岁,常年患有全身性红斑狼疮。请根据相关医疗知识,给出个性化的治疗建议。











通义千问2.5-7B-Instruct

对于40岁的女性患者,如果确诊为全身性红斑狼疮(Systemic Lupus Erythematosus, SLE),治疗方案通常需要个体化制定,因为SLE的症状和病情严重程度在不同患者之间差异很大。治疗的目标是控制炎症、减轻症状、防止器官损害,并提高生活质量。以下是一些基本的治疗建议:

药物治疗:

非甾体抗炎药(NSAIDs):用于缓解轻度疼痛和炎症。

糖皮质激素:如泼尼松,用于控制急性炎症和严重的症状。长期使用可能会有副作用,因此剂量需谨慎调整。

免疫抑制剂:如环磷酰胺、甲氨蝶呤等,用于控制疾病活动度较高的情况,特别是当糖皮质激素效果不佳时。

抗疟疾药物:如羟氯喹,可用于控制皮肤和关节症状。

生物制剂:对于某些对传统疗法反应不佳的患者,可能需要考虑使用生物制剂。

生活方式调整:

避免阳光直射:紫外线可诱发或加重SLE的症状,应尽量避免长时间暴露于阳光下。

健康饮食:均衡饮食,保持健康的体重。

适量运动:有助于改善身体状况和心情,但应避免过度劳累。

戒烟限酒:烟草和酒精可能加重病情。

定期随访:定期进行血液检查和其他必要的医学检查,以便及时调整治疗计划。

心理支持:SLE可能给患者带来较大的心理压力,提供适当的心理支持和咨询是非常重要的。

请注意,以上建议仅供参考,具体治疗方案应由专业的风湿病医生根据患者的实际情况制定。每位患者的具体情况不同,治疗方案也会有所差异。因此,强烈建议与您的主治医生密切合作,共同决定最适合您的治疗计划。






通义千问2.5-7B-Instruct+ RAG

对于40岁的全身性红斑狼疮(SLE)患者,个性化治疗方案需考虑患者的具体症状、病情活动度、是否有器官损伤或并发症等因素。以下是一些建议:

  1. 定期监测与评估:定期进行肺功能检查及呼吸道症状评估,以便及时发现并治疗肺部损伤。定期进行免疫标志物检测如抗核抗体等,以便更早地调整治疗方案。
  2. 药物治疗:根据病情活动度选择合适的药物。如果患者病情较为稳定,可能需要使用非甾体抗炎药(NSAIDs)控制症状;如果病情较为活跃,可能需要使用糖皮质激素和/或免疫抑制剂如羟氯喹、氨甲蝶呤、霉酚酸酯等治疗。对于有严重并发症如狼疮肾炎、神经精神狼疮的患者,可能需要更强效的免疫抑制剂或生物制剂治疗。
  3. 生活方式建议:建议患者避免过度暴露于阳光下,因为紫外线可能诱发或加剧病情。同时,鼓励患者戒烟、适量运动、保持健康的生活方式。
  4. 定期复查:建议每半年至一年进行一次高分辨率计算机断层检查(HRCT),监测肺功能,以便及时发现肺部损伤的早期迹象并进行干预。
  5. 营养与支持:鼓励患者摄入足够的维生素和矿物质,特别是维生素D,以维持整体健康。同时,提供心理支持和咨询,帮助患者应对疾病带来的压力和情绪困扰。
请注意,这些建议仅供参考,具体治疗方案应由专业医生根据患者的详细病史和体检结果来制定。

任务二:疾病辅助诊断

问题:患者男,30岁,近日发现右眼视力严重受损,视力模糊并且出现复视,并且有肢体无力、共济失调现象。请根据相关医疗知识,判断患者可能患有的疾病,并且推荐医院相关科室进行治疗。












通义千问2.5-7B-Instruct

根据您描述的症状,患者可能出现以下几种情况之一:

视神经炎:视神经炎可能导致视力模糊、视野缺损,甚至失明。复视可能是由于眼部肌肉受累或颅内压增高所致。

脑血管意外(中风):肢体无力和共济失调可能是脑血管意外的表现,尤其是当这些症状突然出现时。

多发性硬化症:这是一种中枢神经系统疾病,可以导致视力问题、肢体无力和共济失调等症状。

颅内肿瘤:颅内肿瘤也可能引起类似的症状,包括视力问题和神经系统功能障碍。

其他神经系统疾病:如格林-巴利综合征等,也可能导致类似症状。

鉴于上述多种可能性,建议患者尽快就医,并选择以下科室进行进一步诊断和治疗:

建议就诊科室

神经内科:首先考虑神经内科,进行全面的神经系统检查,包括视力测试、肌力评估、共济失调测试等。

眼科:针对视力模糊和复视的症状,建议眼科进行详细的眼部检查,以排除视神经炎或其他眼部疾病。

神经外科:如果怀疑是颅内肿瘤或其他结构性问题,可以考虑神经外科会诊。

康复科:如果确诊为多发性硬化症或其他导致肢体无力和共济失调的疾病,康复科可以帮助患者进行康复训练。

进一步检查

MRI扫描:尤其是头部和颈部的MRI,可以检查是否有脑血管意外、颅内肿瘤或其他结构异常。视觉诱发电位(VEP):帮助评估视神经功能。血液检查:排除自身免疫性疾病或其他系统性疾病。腰椎穿刺:如果怀疑多发性硬化症,可能需要进行腰椎穿刺以检测脑脊液中的细胞和蛋白质水平。

急诊处理

由于患者的症状较为严重,建议立即前往医院急诊科就诊,以便及时进行初步评估和必要的紧急处理。总之,尽快就医并进行全面检查是非常关键的,以确定确切的病因并制定合适的治疗方案。






通义千问2.5-7B-Instruct+ RAG

根据患者出现的症状,如右眼视力严重受损、视力模糊、复视以及肢体无力和共济失调等症状,这些表现可能指向神经系统的问题。

具体来看,这些症状可能与多发性硬化症(Multiple Sclerosis, MS)相关,这是一种影响中枢神经系统的慢性疾病。此外,这些症状也可能与视神经炎或其他眼部疾病有关。 

鉴于上述情况,建议患者首先就诊于神经内科,进行详细的神经系统评估和相关检查。在神经内科,医生可能会推荐进行以下检查以进一步诊断: 神经系统检查:评估患者的神经功能。磁共振成像(MRI):尤其是脑部和脊髓的MRI,以寻找多发性硬化症的标志病变。视觉诱发电位(VEP):用于评估视神经的功能状态。血液检查和其他相关检查:以排除其他可能导致类似症状的疾病。此外,如果视神经受损明显,眼科医生也需要参与诊断和治疗过程,因为视神经炎也是导致视力模糊和复视的一个可能原因。如果有必要,神经内科医生也可能转介患者至康复科、理疗科进行康复治疗,帮助改善患者的生活质量。

总之,鉴于患者的症状涉及多方面的神经系统问题,综合神经内科和眼科的多学科诊疗团队能够更好地提供全面的诊断和治疗建议。

任务三:疾病预警

问题:孕妇子痫前症的发病病因有哪些。








通义千问2.5-7B-Instruct

子痫前期(Preeclampsia)是一种妊娠特有的高血压疾病,通常发生在怀孕20周以后。它主要表现为高血压和蛋白尿,严重时还可能伴有其他器官功能障碍。子痫前期的确切病因尚不完全清楚,但研究表明其发病与多种因素有关:

遗传因素:家族史中有子痫前期的女性患病风险较高。

免疫系统异常:母体对胎儿的免疫反应异常可能导致胎盘发育不良,进而引发子痫前期。

血管内皮细胞功能障碍:子痫前期患者的血管内皮细胞功能受损,导致血管收缩和血压升高。

营养状况:低钙、低镁或低维生素D水平可能增加患子痫前期的风险。

肥胖:体重指数较高的孕妇更容易发生子痫前期。

多胎妊娠:怀有多胞胎的孕妇患病风险较高。

既往病史:有高血压、糖尿病等慢性疾病的孕妇患病风险较高。

预防和管理子痫前期需要综合考虑上述因素,并在孕期定期进行产检,及时发现并处理相关问题。如果怀疑自己可能患有子痫前期,应立即就医咨询专业医生的意见。








通义千问2.5-7B-Instruct+ RAG

子痫前症的确切原因尚不完全清楚,但医学研究发现了一些相关的风险因素和可能的发病机制。以下是目前已知的一些主要因素: 

免疫系统异常: 子痫前症的发生与孕妇免疫系统对胎儿的异常反应有关,特别是在胎盘植入时。胎儿的基因部分来自父亲,导致孕妇的免疫系统需要建立特定的免疫耐受机制来避免识别胎儿为外来物。如果这个过程失败,可能导致子痫前症。

胎盘问题: 胎盘发育不良或异常,尤其是胎盘内血管的异常,可能导致血流灌注减少,从而引发子痫前症。某些特定染色体异常,如19号染色体异常(C19MC),也可能影响外绒毛滋胚层细胞对螺旋动脉的利用,导致血管阻力上升和低血流。

血管功能障碍: 内皮细胞损伤和血管反应性改变可能是子痫前症发病的关键因素之一。血管紧张素系统的失衡、氧化应激等都可能参与其中。胚胎植入导致的局部炎症反应,释放抗血管生成蛋白和炎症介质,也可能对母体血管造成影响。

遗传因素: 有高血压、糖尿病、肥胖症、慢性肾脏病等病史的女性风险较高。多胎妊娠(如双胞胎或多胞胎)和高龄产妇更容易患病。家族史也是一个重要因素。某些种族或地区(如非裔美国人、拉丁美洲人、非洲加勒比海地区)发病率较高。

其他因素: 某些遗传性血栓形成倾向(如V因子Leiden突变)可能增加患病风险。一些研究指出,特定的生活习惯和行为也可能影响发病风险,如吸烟、饮食习惯等。

综上所述,子痫前症的发病机制非常复杂,涉及多方面的生理和生化过程,具体原因仍需进一步研究明确。

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
SQL 人工智能 分布式计算
基于阿里云PAI平台搭建知识库检索增强的大模型对话系统
基于原始的阿里云计算平台产技文档,搭建一套基于大模型检索增强答疑机器人。本方案已在阿里云线上多个场景落地,将覆盖阿里云官方答疑群聊、研发答疑机器人、钉钉技术服务助手等。线上工单拦截率提升10+%,答疑采纳率70+%,显著提升答疑效率。
|
6天前
|
人工智能 数据挖掘 API
R2R:开源的 RAG 集成系统,支持多模态处理、混合搜索、知识图谱构建等增强检索技术
R2R 是一款先进的 AI 检索增强生成平台,支持多模态内容处理、混合搜索和知识图谱构建,适用于复杂数据处理和分析的生产环境。
54 3
R2R:开源的 RAG 集成系统,支持多模态处理、混合搜索、知识图谱构建等增强检索技术
|
2月前
|
存储 自然语言处理 算法
“无”中生有:基于知识增强的RAG优化实践
本文作者基于自身在RAG技术领域长达半年的实践经验,分享了从初识RAG的潜力到面对实际应用挑战的心路历程,以及如何通过一系列优化措施逐步解决这些挑战的过程。
445 20
“无”中生有:基于知识增强的RAG优化实践
|
1月前
|
存储 人工智能 数据库
面向金融场景的大模型 RAG 检索增强解决方案
本方案为您介绍,如何使用人工智能平台 PAI 构建面向金融场景的大模型 RAG 检索增强解决方案。
|
2月前
|
存储 边缘计算 自然语言处理
25 个值得关注的检索增强生成 (RAG) 模型和框架
大型语言模型(LLM)如GPT-4在自然语言处理(NLP)领域展现了卓越能力,但也存在知识截止、静态知识库和内存限制等局限。检索增强生成(RAG)通过集成检索机制,允许LLM动态访问和整合外部数据源,提高了生成响应的准确性、相关性和时效性。本文深入探讨了25种先进的RAG变体,每种变体都旨在优化检索和生成过程的特定方面,涵盖成本限制、实时交互和多模态数据集成等问题,展示了RAG在提升NLP能力方面的多功能性和潜力。
89 4
25 个值得关注的检索增强生成 (RAG) 模型和框架
|
6月前
|
人工智能 机器人 数据库
人工智能|RAG 检索增强生成
1. 理解什么是 RAG 检索增强。 2. 理解 RAG 检索增强应用场景。 3. 了解 RAG 检索增强有哪些相关的使用方法。 4. 在后续的学习过程中,会结合 LangChain 与 assistant 完成 RAG 相关的实战练习。
|
2月前
|
数据采集 人工智能 自然语言处理
文档智能与检索增强生成结合的LLM知识库方案测评:优势与改进空间
《文档智能 & RAG让AI大模型更懂业务》解决方案通过结合文档智能和检索增强生成(RAG)技术,构建企业级文档知识库。方案详细介绍了文档清洗、向量化、问答召回等步骤,但在向量化算法选择、多模态支持和用户界面上有待改进。部署过程中遇到一些技术问题,建议优化性能和增加实时处理能力。总体而言,方案在金融、法律、医疗等领域具有广泛应用前景。
72 11
|
3月前
|
存储 人工智能 自然语言处理
高级 RAG 技术:提升生成式 AI 系统输出质量与性能鲁棒性【预检索、检索、检索后、生成优化等】
高级 RAG 技术:提升生成式 AI 系统输出质量与性能鲁棒性【预检索、检索、检索后、生成优化等】
高级 RAG 技术:提升生成式 AI 系统输出质量与性能鲁棒性【预检索、检索、检索后、生成优化等】
|
8月前
|
自然语言处理 物联网 API
检索增强生成(RAG)实践:基于LlamaIndex和Qwen1.5搭建智能问答系统
检索增强生成(RAG)实践:基于LlamaIndex和Qwen1.5搭建智能问答系统
检索增强生成(RAG)实践:基于LlamaIndex和Qwen1.5搭建智能问答系统
|
3月前
|
数据采集 自然语言处理 算法
实战RAG:构建基于检索增强的问答系统
【10月更文挑战第21天】在当今大数据时代,如何高效地从海量信息中获取所需知识,成为一个亟待解决的问题。检索增强的生成模型(Retrieval-Augmented Generation, RAG)应运而生,它结合了检索技术和生成模型的优点,旨在提高生成模型的回答质量和准确性。作为一名热衷于自然语言处理(NLP)领域的开发者,我有幸在多个项目中应用了RAG技术,并取得了不错的成效。本文将从我个人的实际经验出发,详细介绍如何使用RAG技术来构建一个问答系统,希望能够帮助那些已经对RAG有一定了解并希望将其应用于实际项目中的开发者们。
273 1
下一篇
开通oss服务