RAG(Retrieval-Augmented Generation,检索增强生成)技术通过从外部知识库检索相关信息,并将其与用户输入合并后传入大语言模型(LLM),从而增强模型在私有领域知识问答方面的能力。EAS提供场景化部署方式,能快速构建与部署RAG对话系统,并支持灵活选择大语言模型和向量检索库。本文为您介绍如何部署RAG对话系统服务以及如何进行模型推理验证。
步骤一:部署RAG服务
登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS。
在推理服务页签,单击部署服务,然后在场景化模型部署区域,单击大模型RAG对话系统部署。
在部署大模型RAG对话系统页面,配置参数后单击部署。关键参数说明如下:
版本选择:RAG服务支持两种部署模式,根据应用场景和资源规划进行选择。
LLM一体化部署: 将RAG服务与大语言模型(如Qwen)部署在同一个EAS服务实例中。此模式配置简单,适合快速验证和原型开发。
LLM分离式部署: 仅部署RAG服务,大语言模型作为独立的服务存在。此模式允许RAG服务连接到不同的LLM服务(如其他EAS部署的LLM或阿里云百炼模型服务),便于资源复用和独立扩展。适合生产环境或已有LLM服务的场景。
部署资源:为服务分配合适的计算资源。
LLM一体化部署: 系统会根据所选的模型类别自动推荐资源规格。更改为更低的规格可能导致服务启动失败。
LLM分离式部署: RAG服务本身资源消耗较低。建议选择至少8核CPU和16 GB内存的规格,例如
ecs.g6.2xlarge或ecs.g6.4xlarge。
向量检索库设置:
支持通过Faiss(Facebook AI Similarity Search)、Elasticsearch、Hologres、OpenSearch或RDS PostgreSQL构建向量检索库。
FAISS
使用Faiss构建本地向量库,无需购买线上向量库产品,免去了线上开通向量库产品的复杂流程,更轻量易用。
版本类型:选择FAISS。
ElasticSearch
请确认已创建阿里云Elasticsearch实例。
重要务必设置ElasticSearch实例允许自动创建索引:在Elasticsearch实例的页面,单击修改配置,将自动创建索引设置为允许自动创建索引。具体操作,请参见配置YML参数。
版本类型:选择Elasticsearch。
私网地址/端口:进入Elasticsearch实例详情页,在基本信息区域可获取私网地址和端口,格式为
http://<私网地址>:<私网端口>。索引名称:系统会根据输入执行不同操作。
输入一个新名称:EAS 将在部署时会自动创建符合 PAI-RAG 要求的索引。
输入已存在的名称:EAS 将直接使用该索引。请确保该索引由PAI-RAG服务创建,以保证结构兼容。
账号、密码:配置创建Elasticsearch实例时配置的登录名和密码。登录名默认为elastic。密码如忘记,可重置实例访问密码。
OSS地址:请选择当前地域下已创建的OSS存储目录。通过挂载OSS路径实现知识库管理。
Hologres
请确认已购买Hologres。
版本类型:选择Hologres。
调用信息:配置为指定VPC的host信息。进入Hologres管理控制台的实例详情页,在网络信息区域单击指定VPC后的复制,获取域名
:80前的host信息。数据库名称:配置为Hologres实例的数据库名称。如无,请参见创建数据库。
账号:配置为已创建的自定义用户账号。具体操作,请参见创建自定义用户,其中选择成员角色选择实例超级管理员(SuperUser)。
密码:配置为已创建的自定义用户的密码。
表名称:系统会根据输入执行不同操作。
输入一个新名称:EAS 将在部署时会自动创建符合 PAI-RAG 要求的表。
输入已存在的名称:EAS 将直接使用该表。请确保该表由PAI-RAG服务创建,以保证结构兼容。
OSS地址:请选择当前地域下已创建的OSS存储目录。通过挂载OSS路径实现知识库管理。
OpenSearch
请确认已购买OpenSearch向量检索版实例。
版本类型:选择OpenSearch。
访问地址:配置为OpenSearch向量检索版实例的公网访问地址。
说明需为OpenSearch向量检索版实例开通公网访问功能,并将EAS公网IP地址添加为白名单。
实例id:在OpenSearch向量检索版实例列表中获取实例ID。
用户名、密码:配置为创建OpenSearch向量检索版实例时,输入的用户名和密码。
表名称:需先创建满足要求的索引表。参见配置实例创建,关键参数如下:
场景模板选择通用模板,字段配置导入如下配置文件。
索引结构中,向量维度要知识库向量模型使用的向量维度保持一致,距离类型建议选择InnerProduct。
RDS PostgreSQL
请确认已创建RDS PostgreSQL实例。
版本类型:选择RDS PostgreSQL。
主机地址:配置为RDS PostgreSQL实例的内网地址,您可以前往云数据库RDS PostgreSQL控制台页面,在RDS PostgreSQL实例的数据库连接页面进行查看。
端口:默认为5432,请根据实际情况填写。
数据库:数据库的授权账号需为高权限账号,操作请参见创建账号和数据库。同时需为数据库安装插件vector和jieba。
表名称:自定义配置数据库表名称。
账号、密码:配置为创建数据库时的授权账号和密码。如何创建高权限账号,请参见创建账号和数据库,其中账号类型选择高权限账号。
OSS地址:请选择当前地域下已创建的OSS存储目录。通过挂载OSS路径实现知识库管理。
OSS地址:选择当前地域下已创建的OSS存储目录,用来存储上传的知识库文件。如果没有可选的存储路径,您可以参考控制台快速入门进行创建。
说明如果您选择使用自持微调模型部署服务,请确保所选的OSS存储路径不与自持微调模型所在的路径重复,以避免造成冲突。
专有网络:如下进行网络配置,确保RAG服务能与LLM服务、向量检索库及其他云服务正常通信。
访问公网服务:通过公网访问向量数据库、LLM服务(如阿里云百炼模型服务)以及使用联网搜索,必须为EAS服务配置公网访问能力。
访问私网服务:
通过内网地址访问向量数据库,需RAG服务与向量数据库处于同一VPC内。
通过内网地址访问访问LLM服务,需RAG服务与LLM服务处于同一VPC内。
说明Hologres、ElasticSearch、RDS PostgreSQL支持通过内网或公网访问,推荐使用内网访问。
Faiss向量检索库,无需通过网络访问。OpenSearch只支持通过公网访问。
当服务状态变为运行中时,表示服务部署成功(服务部署时长通常约为5分钟,具体时长可能因模型参数量或其他因素略有差异,请耐心等待)。
步骤二:API调用
RAG服务提供API接口(如知识库管理、对话等),便于集成到应用程序中。详情请参见RAG API接口说明。
成本与风险说明
成本构成
部署和使用本方案涉及的费用主要包括:
EAS资源的费用: RAG服务运行所占用的计算资源(vCPU、内存、GPU等)按时收费。服务停止后,此部分费用即停止。
向量检索库费用: 若使用Elasticsearch、、Hologres、OpenSearch或RDS PostgreSQL,需支付相应产品的实例费用。
对象存储OSS费用: 用于存储原始知识库文件。
大语言模型调用费用: 若使用阿里云百炼等商业模型服务,会产生API调用费用。
公网NAT网关费用: 若EAS服务需要访问公网,会产生NAT网关的费用。
网络搜索服务费用: 若启用联网搜索功能(如Bing),会产生相应搜索服务的费用。
停止EAS服务后,仅能停止EAS资源的收费。若需停止其他产品的收费,请参考对应产品的文档指引,按照说明停止或删除相关实例。
关键风险与限制
对话长度限制: 受限于所选LLM服务的上下文窗口大小(Token限制),单次对话能处理的文本长度有限。
文件覆盖: 在使用除FAISS外的向量检索库时,上传同名文件将直接覆盖已有数据,操作前需谨慎。
API参数限制: 仅部分功能参数可通过API进行配置,其余高级配置(如多数检索调优参数)仍需通过WebUI完成。
注意事项
本实践受制于LLM服务的服务器资源大小以及默认Token数量限制,能支持的对话长度有限,旨在帮助您体验RAG对话系统的基本检索功能。
常见问题
通过API设置的参数为什么没有生效?
目前,PAI-RAG服务仅支持通过API设置接口说明文档中列出的参数,其余参数需通过WebUI界面进行配置。