自定义部署RAG服务

更新时间:2025-03-25 02:43:25

模型在线服务EAS(Elastic Algorithm Service)是阿里云PAI产品提供的一站式模型开发和部署平台,支持通过自定义部署方式来部署RAG服务。您可以根据自身业务需求来调整更多配置选项,从而实现更灵活的服务配置。本文将介绍如何自定义部署RAG服务,并以DeepSeek大语言模型为例,说明如何使用RAG服务和LLM服务进行知识问答。

背景信息

  • 模型介绍

    DeepSeek-V3 是由 DeepSeek 推出的一款拥有 6710 亿参数的专家混合(MoE)大语言模型。DeepSeek-R1 是基于 DeepSeek-V3-Base 训练的高性能推理模型。

  • 部署与配置

    在部署 RAG 服务后,您可以在 WebUI 页面选择大语言模型(LLM)为EAS服务(例如DeepSeek)或百炼服务。在处理用户查询时,RAG 通过信息检索组件在知识库中寻找与查询相关的文档或信息片段,然后将这些检索到的内容与原始查询一同输入大语言模型。模型能够利用其现有的归纳生成能力,生成基于最新信息且符合事实的回复,而无需对模型进行重新训练。

部署RAG服务

  1. 登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS

  2. 模型在线服务(EAS)页面,单击部署服务,然后在自定义模型部署区域,单击自定义部署

  3. 自定义部署页面,配置以下关键参数,其他参数配置说明,请参见服务部署:控制台

    参数

    描述

    示例

    参数

    描述

    示例

    基本信息

    服务名称

    自定义服务名称。

    rag_custom

    环境信息

    部署方式

    选择镜像部署,并勾选开启Web应用

    选择镜像部署,并勾选开启Web应用

    镜像配置

    镜像地址页签的文本编辑框中输入镜像地址。支持以下两种版本镜像,其中<region id>需替换为服务所在地域ID(例如华东1(杭州)为cn-hangzhou):

    • CPU版本:eas-registry-vpc.<region id>.cr.aliyuncs.com/pai-eas/pai-rag:0.3.0

    • GPU版本:eas-registry-vpc.<region id>.cr.aliyuncs.com/pai-eas/pai-rag:0.3.0-gpu

    如何选择镜像版本:与CPU版本相比,GPU版本在PDF文档解析、Embedding计算以及ReRanker模型推理等方面有明显速度优势。因此,如果您对服务响应速度有较高要求,建议部署GPU版本。

    eas-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-eas/pai-rag:0.3.0

    运行命令

    配置服务启动命令。

    bash scripts/start.sh -w 1

    端口号

    配置服务端口号。

    8680

    代码配置

    建议挂载数据存储,以确保EAS服务重启后数据能够持久化保存。也支持通过挂载的数据源上传知识库文件。其中

    • Uri:必须选择一个空目录。

    • 挂载路径:为服务本地存储路径,必须配置为/app/localdata

    OSS数据源为例,参照控制台快速入门创建OSS存储空间(Bucket)和目录。

    单击OSS,并配置以下参数:

    • Uri:选择OSS存储路径,必须选择一个空目录

    • 挂载路径/app/localdata

    资源部署

    资源类型

    选择部署服务使用的资源,推荐使用公共资源,计费方式为按量付费。

    公共资源

    部署资源

    CPUGPU版本推荐使用的资源规格分别如下:

    • CPU版本:建议选择8核以上的CPU资源和16 GB以上的内存,推荐使用ecs.g6.2xlarge、ecs.g6.4xlarge等机型。

    • GPU版本:建议选择16 GB以上的GPU显存,推荐使用A10GU30显卡,例如ecs.gn7i-c16g1.4xlarge、ml.gu7i.c16m60.1-gu30机型。

    资源规格选择CPU>ecs.g6.4xlarge

    专有网络

    专有网络(VPC)

    网络配置要求说明如下:

    • 访问大语言模型(LLM)服务:

      • 通过公网地址访问:需配置具备公网访问能力的VPC,详情请参见配置公网连接

      • 通过内网地址访问:需配置与LLM服务一致的专有网络。

    • 使用向量检索服务,请按需配置专有网络:

      • 使用Hologres、ElasticSearch、Milvus、OpenSearchRDS PostgreSQL时,需选择与向量检索库一致的专有网络。

      • 使用OpenSearch时,此处可以使用其他专有网络,但需确保该专有网络具有公网访问能力,并将绑定的弹性公网IP添加为OpenSearch实例的公网访问白名单

      • 使用Faiss时,对专有网络无配置要求。

    如果没有可选的专有网络,请参考搭建IPv4专有网络创建安全组,创建专有网络(VPC)、交换机和安全组。

    选择与LLM服务一致的专有网络

    交换机

    安全组

  4. 参数配置完成后,单击部署

    等待大约5分钟左右,当服务状态为运行中时,表示服务部署成功。

部署大语言模型(LLM)服务

以部署DeepSeek-R1模型为例,具体操作步骤如下:

  1. 通过快速开始 > Model Gallery快速将DeepSeek-R1模型部署为EAS服务。在部署服务时,请配置与RAG服务一致的专有网络,后续RAG对话系统可以通过内网调用DeepSeek服务。详细的部署流程,请参见一键部署DeepSeek-V3、DeepSeek-R1模型

  2. 服务详情页面,分别获取服务访问地址Token模型名称

    • 基本信息区域,单击查看调用信息,获取服务访问地址和Token,本方案使用VPC地址调用。

      说明
      • RAG服务通过内网地址访问LLM服务:RAG服务和LLM服务需使用相同的专有网络。

      • RAG通过公网地址访问LLM服务:需为RAG服务配置具备公网访问能力的VPC,详情请参见配置公网连接

      image

    • 基本信息区域,查询预训练模型名称为DeepSeek-R1。您也可以参考模型列表获取模型名称。

      image

使用RAG对话系统

RAG服务部署成功后,按照下图操作指引,进入WebUI页面。image

请按照以下操作步骤进行系统设置对话设置

说明

如果您在部署RAG服务时:

  • 未挂载数据存储:数据(包括WebUI上的配置信息)将存储在服务本地。当服务重启后,本地存储的数据会丢失,需要您重新上传数据。

  • 挂载数据存储:数据将保存到数据源中,可实现持久化存储。

系统设置

该页面主要用来进行知识库、大语言模型以及多模态配置。image

区域

功能

描述

区域

功能

描述

配置知识库名称

如何进行知识库管理,请参见RAG知识库管理

配置向量检索库

默认使用Faiss作为向量数据库。推荐使用Faiss进行测试,在正式环境中建议使用其他向量数据库。您可以在该区域选择并配置向量数据库参数

配置大语言模型(LLM)

通过配置以下参数连接LLM服务:

  • URL:配置为部署大语言模型(LLM)服务章节获取的服务访问地址。

  • 密钥:配置为部署大语言模型(LLM)服务章节获取的服务Token。

  • 模型名称:配置为使用的LLM模型名称,例如DeepSeek-R1。

  • 模型配置:支持关联多个LLM服务。在下拉列表中选择NEW,可新建模型配置。后续在对话时,通过模型ID进行区分。

说明

您也可以将LLM模型配置为百炼模型,但:

配置多模态RAG

如果知识库文件里有图片,上传时需要进行多模态解析,您需要进行以下配置:

对话设置

在该页面进行知识问答,并通过调整检索和模型参数来调节大模型对话效果。

image

具体配置说明如下:

配置项

描述

配置项

描述

对话模型ID

支持选择不同的LLM模型服务进行对话测试。此处的模型ID系统设置页面保持一致,默认使用default模型。

知识库名称

支持选择不同的知识库以实现数据隔离,此处的知识库名称与系统设置页面保持一致,默认使用default。

对话方式

支持以下几种对话方式:

  • 检索测试:直接从向量数据库中检索并返回Top K条相似结果。

  • 对话(大模型):直接使用LLM回答。

  • 对话(网络搜索):根据用户提问自动判断是否需要联网搜索,如果联网搜索,将搜索结果和用户问题一并输入LLM服务。使用联网搜索需要给RAG服务配置公网连接

  • 对话(知识库):将向量数据库检索返回的结果与用户问题合并填充至已选择的Prompt模板中,一并输入LLM服务进行处理,从中获取问答结果。

流式输出

勾选流式输出,对话结果将以流式效果返回。

展示参考资料

对话(网络搜索)对话(知识库)场景下进行知识问答,可以展示搜索或检索返回的参考资料。

默认网络搜索

勾选默认网络搜索,在通过OpenAI调用PAI-RAG服务接口时,将默认使用网络搜索功能。

查询改写配置

为减少全链路时延,系统支持配置尺寸更小且推理速度更快的模型进行查询改写,生成更有效的新查询:

  • 勾选开启查询改写

  • 查询改写模型ID:选择模型ID,此处的模型ID系统设置页面保持一致。

  • 查询改写模板:根据实际业务场景进行提示词模板的调整。

向量检索参数设置

对话(知识库)或检索测试场景下,提供对检索环节的参数调优配置:

  • 检索模式:提供以下三种检索模式。

    • 向量检索:向量数据库检索召回。

    • 关键字检索:关键词检索召回。

    • 混合检索:向量数据库和关键词检索多路召回融合。

  • 返回Top-K条文本结果:设置检索时返回的结果数。

  • 相似度分数阈值:阈值越高,返回的查询结果与查询的相似度越高。

  • 重排序类型:默认不开启重排序,您也可以选择基于模型的重排序,对检索结果进行重新排序。但首次使用时,加载模型需要较长时间。

提示词模板

支持根据实际业务需要修改提示词模板:

  • 系统角色设定:对LLM进行系统角色(System Role)设定。

  • 任务描述:具体描述任务要求。

参数设置完成并上传知识库后,即可选择相应的对话模型ID知识库名称对话方式进行知识问答:image

常见问题

调用LLM服务报错怎么办?

  • 访问超时:请检查大语言模型服务调用地址是否可以访问:

    • 如果当前RAG服务已配置公网连接,则可以将URL配置为LLM服务的公网访问地址。

    • 如果当前RAG服务未配置公网连接,则需要确认部署RAG服务和LLM服务时,绑定了相同的专有网络(VPC)。

  • 非超时报错:请检查模型名称是否配置准确。image

如何挂载数据源?

在部署或更新RAG服务时,在环境信息区域挂载代码配置。以挂载OSS数据源为例:image

其中:OSS为已创建的OSS存储路径,挂载路径必须为服务本地存储路径/app/localdata

相关文档

  • 本页导读 (1)
  • 背景信息
  • 部署RAG服务
  • 部署大语言模型(LLM)服务
  • 使用RAG对话系统
  • 系统设置
  • 对话设置
  • 常见问题
  • 调用LLM服务报错怎么办?
  • 相关文档
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等