PAI-RAG是一个模块化开源框架,结合LLM提供了知识推理能力,并支持多种模型(例如Qwen、DeepSeek等)。它具备知识库上传、联网搜索、数据分析等功能,并兼容OpenAI接口,可在WebUI和本地LLM APP中一键配置,配置成功后,即可通过UI界面使用RAG服务。本文将介绍如何在这些环境中集成并使用RAG服务。
前提条件
通过OpenAI集成RAG服务前,您需要完成以下准备工作:
已部署RAG服务和LLM服务,并在RAG服务的WebUI页面完成LLM服务的配置。具体操作,请参见自定义部署RAG服务。
重要由于EAS服务默认不通公网,请给EAS配置公网连接,以便RAG服务能使用联网搜索功能。
已获取RAG服务访问地址和Token,后续用于在WebUI和本地APP中接入RAG服务。
在模型在线服务(EAS)页面,单击RAG服务名称。
在基本信息区域,单击查看调用信息,获取服务访问地址和Token。
已在RAG服务的WebUI页面,完成如下功能的配置:
如果后续您需要在WebUI或本地APP中使用RAG服务的联网搜索功能,可以在WebUI页面的对话页签,选中默认网络搜索参数,并配置搜索引擎参数。具体操作,请参见大模型RAG对话系统。
如果您想利用现有知识库生成基于最新信息的、符合事实的回复,可以在WebUI页面的知识库页签上传知识库文件。
Open-WebUI集成RAG服务
OpenWebUI-LLM是一个开源项目,它允许用户创建自定义的语言模型界面,并支持多种预训练的语言模型。您可以按照以下操作流程接入并使用RAG服务进行模型推理。
步骤一:部署Open-WebUI并连接RAG服务
部署Open-WebUI,支持以下两种部署方法。
通过本地部署
在本地终端中,执行以下命令安装并启动Open-WebUI。建议使用Python 3.11或更高版本。
pip install open-webui open-webui serve
通过EAS部署
通过EAS部署OpenWebUI,您可以轻松实现从代码到云端的部署,无需担心底层基础设施的管理。此外,PAI-EAS支持将后端数据存储在阿里云对象存储OSS中,从而实现数据的持久化保存和多用户管理。
登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS。
在模型在线服务(EAS)页面,单击部署服务,然后在自定义模型部署区域,单击JSON独立部署。
在JSON文本编辑框中,填入如下内容,并参考下方参数说明,进行相应字段的调整,然后单击部署。
{ "cloud": { "computing": { "instances": [ { "type": "ecs.c6.large" } ] }, "networking": { "security_group_id": "", "vpc_id": "", "vswitch_id": "" } }, "containers": [ { "env": [ { "name": "ENABLE_LOGIN_FORM", "value": "True" }, { "name": "ENABLE_SIGNUP", "value": "True" }, { "name": "ENABLE_OPENAI_API", "value": "True" }, { "name": "OPENAI_API_BASE_URL", "value": "" }, { "name": "OPENAI_API_KEY", "value": "" }, { "name": "WEBUI_AUTH", "value": "True" }, { "name": "PORT", "value": "3000" }, { "name": "RAG_EMBEDDING_MODEL", "value": "sentence-transformers/all-MiniLM-L6-v2" }, { "name": "ENABLE_EVALUATION_ARENA_MODELS", "value": "False" }, { "name": "WEBUI_URL", "value": "http://0.0.0.0:3000" }, { "name": "ENABLE_TAGS_GENERATION", "value": "False" }, { "name": "DEFAULT_USER_ROLE", "value": "admin" }, { "name": "ENABLE_RAG_WEB_SEARCH", "value": "True" } ], "image": "eas-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-eas/open-webui:main", "port": 3000, "script": "bash start.sh" } ], "metadata": { "cpu": 2, "enable_webservice": true, "instance": 1, "memory": 4000, "name": "dpsk_test_ui", "workspace_id": "484***" }, "storage": [ { "mount_path": "/app/backend/data", "oss": { "endpoint": "oss-cn-hangzhou-internal.aliyuncs.com", "path": "oss://examplebucket/test_web/", "readOnly": false }, "properties": { "resource_type": "model" } } ] }
其中关键参数配置说明如下:
参数
描述
networking
security_group_id
如果通过公网地址访问RAG服务,需要选择具有公网访问能力的专有网络VPC、交换机和安全组。详情请参见配置公网连接。
如果需要通过内网地址访问RAG服务,请选择与RAG服务一致的专有网络。
vpc_id
vswitch_id
metadata
name
自定义EAS服务名称。
workspace_id
配置为工作空间ID,可在工作空间详情页面进行查看。
containers
env
关键环境变量配置说明如下:
OPENAI_API_BASE_URL:配置为已部署RAG服务的访问地址,并在地址末尾添加
/v1
,例如http://test****0220.115770327099****.cn-hangzhou.pai-eas.aliyuncs.com/v1
。也可以在启动后的Open-WebUI页面上进行配置。OPENAI_API_KEY:配置为已部署RAG服务的Token,也可以在启动后的Open-WebUI页面上进行配置。
WEBUI_AUTH:
设置为True:表示开启用户鉴权。您需要登录才能进入Open-WebUI,方便做用户管理。您需要提前向Open-WebUI管理员获取登录用户和密码。
设置为False:表示关闭用户鉴权。您无需登录即可进入Open-WebUI页面。
image
请将镜像地址中的地域ID替换为相应的地域ID。例如华北2(北京)为
eas-registry-vpc.cn-beijing.cr.aliyuncs.com/pai-eas/open-webui:main
。如何获取地域ID,请参见OSS地域和访问域名。storage
oss
添加对象存储OSS挂载配置,EAS会将后端数据存储在阿里云对象存储OSS中,从而实现数据的持久化保存和多用户管理。其中:
endpoint:OSS Endpoint,地域和Endpoint对照表请参见OSS地域和访问域名。
path:OSS存储路径。如何创建OSS存储空间和目录,请参见控制台快速入门。
服务部署成功后,单击目标服务名称,然后在页面右上角单击查看Web应用。
在Open-WebUI页面,连接RAG服务。
在Open-WebUI页面右上角,按照下图操作指引,进入管理员页面。
按照下图操作指引,连接PAI-RAG服务。
其中关键参数配置说明如下:
参数
描述
URL
配置为RAG服务的访问地址,并在末尾添加
/v1
后缀。例如http://test****0220.115770327099****.cn-hangzhou.pai-eas.aliyuncs.com/v1
。说明本地部署的OpenWebUI接入RAG服务时,需要使用公网访问地址。
EAS部署的OpenWebUI接入RAG服务时,可以使用VPC地址。如果已开通公网访问,也可以使用公网地址。
密钥
配置为RAG服务的Token。
模型ID
自定义模型ID,例如pai-rag-new。后续在Open-WebUI页面用于选择RAG服务。
步骤二:效果展示
在Open-WebUI页面左上角,选择OpenAI API连接对应的模型ID(例如pai-rag-new),然后进行服务调用。
步骤三:使用PAI-RAG拓展功能
通过在Open-WebUI中添加过滤器功能(Filter Functions),您可以更灵活地使用PAI-RAG的拓展功能(如数据分析功能)。具体步骤如下:
1.配置RAG
如果您想在Open-WebUI的聊天界面使用PAI RAG的自动化数据分析功能,请先在RAG服务的WebUI页面的数据分析页签完成相应的功能配置。详情请参见自动化数据分析。
2.在Open-WebUI页面完成相应配置
在Open-WebUI页面右上角,按照下图操作指引,进入管理员页面。
单击函数,然后单击右侧的+号。
在过滤器函数代码Filter类的inlet方法中,增加对应的拓展功能(使用数据分析功能:需添加
body["chat_db"] = True
),并在左上方自定义函数名称和描述,完成后单击右下角的保存按钮。重要目前,暂不支持自主识别多个功能。如果发现有干扰,可以将其他配置置为False。例如
body["chat_knowledgebase"] = False
或body["search_web"] = False
。系统将自动返回到函数页面,您需要打开右侧的开关启用新增的过滤器。
按照下图操作指引单击左侧工作空间,并在右侧模型区域单击+,然后在模型页面将新增的过滤器配置到具体模型中。
返回到对话页面,选择模型后,即可使用PAI-RAG的拓展功能进行对话。
本地APP集成RAG服务
以如下三种APP为例,为您介绍如何接入并使用RAG服务。
Chatbox
Chatbox AI是一款智能助手和客户端应用,支持多种先进的AI模型和API,可在Windows、macOS、Android、iOS、Linux以及网页版上使用。
步骤一:连接方法
以Windows操作系统为例,为您介绍Chatbox如何连接PAI-RAG服务。以下操作步骤仅供参考,您的操作以实际为准。
前往Chatbox页面,选择适合您自己操作系统的版本,下载、安装并打开ChatBox。
在左侧导航栏单击设置,选中模型提供方,并在下拉列表中单击添加,然后在添加模型提供方对话框中,配置以下参数。
名称:自定义名称,例如PAI-RAG。
API模式:为OpenAI API兼容。
选择已配置的模型提供方,配置服务请求参数。
参数
描述
API密钥
配置为RAG服务的Token。
API域名
API主机:配置为RAG服务的访问地址并在末尾添加
/v1
后缀。例如http://test****0220.115770327099****.cn-hangzhou.pai-eas.aliyuncs.com/v1
。API路径:置空。
模型
自定义模型名,例如PAI-RAG。
步骤二:效果展示
按照下图操作指引,进行服务调用。您的结果以实际为准。
Cherry Studio
Cherry Studio AI是一款强大的多模型AI助手,支持iOS、macOS和Windows平台。它支持快速切换多种先进的LLM模型,从而提升工作和学习效率。
步骤一:连接方案
为您介绍Cherry Studio如何连接PAI-RAG服务,以下操作步骤仅供参考,您的操作以实际为准。
前往Cherry Studio页面,将安装包下载到本地,然后安装并打开Cherry Studio。
按照下图操作指引,连接PAI-RAG服务。
其中关键参数配置说明如下:
参数
描述
API密钥
配置为RAG服务的Token。
API地址
配置为RAG服务的访问地址。
模型
自定义模型名称,例如PAI-RAG。
步骤二:效果展示
按照下图操作指引,进行服务调用。您的结果以实际为准。
AnythingLLM
AnythingLLM是一款AI客户端应用,支持多种先进的AI模型和API。
步骤一:连接方案
以Windows操作系统为,为您介绍AnythingLLM如何连接PAI-RAG服务。以下操作步骤仅供参考,您的操作以实际为准。
前往AnythingLLM页面,选择适合您自己操作系统的版本下载到本地,然后安装并打开AnythingLLM。
首先新建一个工作区,并按照下图操作指引集成PAI-RAG服务,然后在聊天设置页面下方单击Update workspace,更新工作空间配置。
其中关键参数配置说明如下:
参数
描述
Base URL
配置为RAG服务访问地址,并在末尾添加
/v1
后缀。例如http://test****0220.115770327099****.cn-hangzhou.pai-eas.aliyuncs.com/v1
。API Key
配置为RAG服务Token。
Chat Model Name
自定义模型名称,例如PAI-RAG。
步骤二:效果展示
按照下图操作指引,进行服务调用。您的结果以实际为准。