通过阿里云 Milvus 与 PAI LangStudio快速搭建DeepSeek RAG解决方案
大语言模型通常缺乏企业私有数据或实时信息的支持,而检索增强生成(RAG, Retrieval-Augmented Generation)技术能够通过检索企业私有知识库,将相关信息以上下文形式提供给大语言模型,从而显著提升其回答的准确性与相关性。本文基于阿里云的人工智能平台PAI LangStudio,结合阿里云向量检索Milvus版的强大能力,并以DeepSeek-R1-Distill模型为例,为您介绍面向金融、医疗场景的大模型RAG检索增强解决方案。
DeepSeek简介
DeepSeek系列模型是由深度求索(DeepSeek)公司推出的大语言模型。
DeepSeek-R1 模型包含 671B 参数,激活 37B,在后训练阶段大规模使用了强化学习技术,在仅有极少标注数据的情况下,极大提升了模型推理能力,尤其在数学、代码、自然语言推理等任务上。
DeepSeek-V3 为MoE 模型,671B 参数,激活 37B,在 14.8T Token 上进行了预训练,在长文本、代码、数学、百科、中文能力上表现优秀。
DeepSeek-R1-Distill 系列模型是基于知识蒸馏技术,通过使用 DeepSeek-R1 生成的训练样本对 Qwen、Llama 等开源大模型进行微调训练后,所得到的增强型模型。
前提条件
已完成Milvus实例的创建,详情请参见创建Milvus实例。
已将RAG知识库语料上传至OSS中。本文针对金融、医疗场景提供以下示例语料:
使用限制
Milvus实例和通过PAI LangStudio创建的Embedding服务、LLM服务须在相同地域内。
1. 部署LLM和Embedding模型
本文以快速开始 > ModelGallery中部署的模型服务为例,后续创建连接时也会基于此处的模型服务进行创建。
前往快速开始 > ModelGallery,分别按场景选择大语言模型及Embedding分类,并部署指定的模型。本文以DeepSeek-R1-Distill-Qwen-7B和bge-m3 通用向量模型为例进行部署。
更多部署详情,请参见模型部署及训练。如果您想完整体验DeepSeek模型,请选择DeepSeek-R1或DeepSeek-V3,详情请参见一键部署DeepSeek-V3、DeepSeek-R1模型。
前往任务管理,单击已部署的服务名称,在服务详情页签下单击查看调用信息,分别获取前面部署的LLM和Embedding模型服务的VPC访问地址和Token,供后续创建连接时使用。
2. 创建连接
本文创建的LLM和Embedding模型服务连接基于快速开始 > ModelGallery中部署的模型服务。更多其他类型的连接及详细说明,请参见连接管理。
2.1 创建LLM服务连接
进入LangStudio,选择工作空间后,在连接管理页签下单击新建连接。
创建通用LLM模型服务连接。单击
EAS 服务
,从弹出的抽屉中选择已部署的服务,会自动填充base_url
和api_key
。
2.2 创建Embedding模型服务连接
同2.1 创建LLM服务连接,创建通用Embedding模型服务连接。其中base_url和api_key分别对应1. 部署LLM和Embedding模型中Embedding模型的VPC访问地址和Token。
2.3 创建向量数据库连接
同2.1 创建LLM服务连接,创建Milvus数据库连接。
关键参数说明:
uri:Milvus实例的访问地址,格式为
http://<Milvus内访问地址>
。您可以在阿里云Milvus控制台的Milvus实例的实例详情页面查看。例如,
http://c-b1c5222fba****-internal.milvus.aliyuncs.com
。token:登录Milvus实例的用户名和密码,填写格式为
<yourUsername>:<yourPassword>
。database:数据库名称,本文使用默认数据库
default
。
3. 创建离线知识库
新建知识库索引,将语料经过解析、分块、向量化后存储到向量数据库,从而构建知识库。其中关键参数配置说明如下,其他配置详情,请参见新建知识库索引。
4. 创建并运行RAG应用流
进入LangStudio,选择工作空间后,在应用流页签下单击新建应用流,模板类型选择RAG,创建RAG应用流。
启动运行时:单击右上角启动运行时并进行配置。注:在进行Python节点解析或查看更多工具时,需要保证运行时已启动。
关键参数说明:
专有网络配置:选择前提条件中创建Milvus实例时的专有网络。
开发应用流。应用流中的其余配置保持默认或根据实际需求进行配置,关键节点配置如下:
index_lookup:在知识库中检索与用户问题相关的文本。 更详细的内容介绍,请参见使用知识库索引。
registered_index:配置为已创建的知识库索引。
query:用户问题。
top_k:返回top_k条匹配的数据。
generate_answer:使用过滤后的文档作为上下文,与用户问题一起发送给大语言模型,生成回答。
connection:选择2.1 创建LLM服务连接中创建的连接。
model:输入default。如果connection选择的是百炼大模型服务连接,则model需在下拉列表中选择对应的模型名称,百炼模型名称可在百炼-模型广场中查看。
max_tokens:设置最大token数,本例设置为1000。
调试/运行:单击右上角对话, 开始执行应用流。
查看链路:单击生成答案下的查看链路,查看Trace详情或拓扑视图。
5. 部署应用流
在应用流开发页面,单击右上角部署,部署参数其余配置保持默认或根据实际需求进行配置,关键参数配置如下:
资源部署信息 > 实例数:配置服务实例数。本文部署仅供测试使用,因此实例数配置为1。在生产阶段,建议配置多个服务实例,以降低单点故障的风险。
专有网络配置 > VPC:配置Milvus实例所在的专有网络。
更多部署详情,请参见应用流部署。
6. 调用服务
部署成功后,跳转到PAI-EAS,在在线调试页签下配置并发送请求。请求参数中的Key与应用流中输入节点中的"Chat 输入"字段一致,本文使用默认字段question
。输入以下内容。
{
"question":"请根据最新的新闻报道,分析美国科技行业目前投资分管性如何,是否存在泡沫,给出是或否的具体回答"
}
更多调用方式(如API调用)及详细说明,请参见调用服务。
开启联网搜索
如果您希望使用DeepSeek-R1模型,快速构建具备联网搜索与RAG(检索增强生成)功能的智能应用流,可以参见Chatbot with RAG and Web Search。
- 本页导读
- DeepSeek简介
- 前提条件
- 使用限制
- 1. 部署LLM和Embedding模型
- 2. 创建连接
- 2.1 创建LLM服务连接
- 2.2 创建Embedding模型服务连接
- 2.3 创建向量数据库连接
- 3. 创建离线知识库
- 4. 创建并运行RAG应用流
- 5. 部署应用流
- 6. 调用服务
- 开启联网搜索