RAG集成OpenAI兼容界面最佳实践

更新时间:2025-02-21 10:15:25

PAI-RAG是一个易于使用的模块化RAG开源框架,结合LLM提供知识推理能力。PAI平台近期推出了开箱即用、可扩展的RAG部署方案,支持Qwen、DeepSeek等全系列模型,并具备知识库上传、多模态检索和联网搜索等功能。此外,PAI-RAG提供与OpenAI兼容的使用方式,可在多种支持OpenAI接口的 WebUI和本地LLM APP中一键配置,配置成功后,即可通过UI界面轻松使用RAG服务。本文将详细介绍如何在WebUI和本地LLM APP中集成并使用RAG服务。

前提条件

通过OpenAI集成RAG服务前,您需要完成以下准备工作:

  1. 已部署RAG服务和LLM服务,并在RAG服务的WebUI页面完成LLM服务的配置。具体操作,请参见大模型RAG对话系统

    重要

    由于EAS服务默认不通公网,请给EAS配置公网连接,以便RAG服务能使用联网搜索功能。

  2. 已获取RAG服务访问地址和Token,后续用于在WebUI和本地LLM APP中接入RAG服务。具体操作,请参见获取调用信息

  3. 已在RAG服务的WebUI页面,完成如下功能的配置:

    • 如果后续您需要在WebUI或本地LLM APP中使用RAG服务的联网搜索功能,可以在WebUI页面的Chat页签,选中Default search web参数,并配置搜索引擎参数。具体操作,请参见联网搜索相关

    • 如果您想利用现有知识库生成基于最新信息的、符合事实的回复,可以在WebUI页面的Upload页签上传知识库文件

Open-WebUI集成RAG服务

OpenWebUI-LLM是一个开源项目,它允许用户创建自定义的语言模型界面,并支持多种预训练的语言模型。您可以按照以下操作流程接入并使用RAG服务进行模型推理。

1.部署Open-WebUI并连接RAG服务

  1. 部署Open-WebUI,支持以下两种部署方法。

    通过本地部署
    通过EAS部署

    在本地终端中,执行以下命令安装并启动Open-WebUI。建议使用Python 3.11或更高版本。

    pip install open-webui
    open-webui serve

    通过EAS部署OpenWebUI,您可以轻松实现从代码到云端的部署,无需担心底层基础设施的管理。此外,PAI-EAS支持将后端数据存储在阿里云对象存储OSS中,从而实现数据的持久化保存和多用户管理。

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

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

    3. 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服务。

      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中,从而实现数据的持久化保存和多用户管理。其中:

    4. 服务部署成功后,单击目标服务的服务方式列下的查看Web应用

  2. Open-WebUI页面,连接RAG服务。

    1. Open-WebUI页面右上角,按照下图操作指引,进入管理员页面。image

    2. 按照下图操作指引,连接PAI-RAG服务。image

      其中关键参数配置说明如下:

      参数

      描述

      参数

      描述

      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服务。

2.效果展示

Open-WebUI页面左上角,选择OpenAI API连接对应的模型ID(例如pai-rag-new),然后进行服务调用。

image

本地APP集成RAG服务

以如下三种APP为例,为您介绍如何接入并使用RAG服务。

Chatbox

Chatbox AI是一款智能助手和客户端应用,支持多种先进的AI模型和API,可在Windows、macOS、Android、iOS、Linux以及网页版上使用。

1.连接方法

Windows操作系统为例,为您介绍Chatbox如何连接PAI-RAG服务。以下操作步骤仅供参考,您的操作以实际为准。

  1. 前往Chatbox页面,选择适合您自己操作系统的版本下载到本地,然后安装并打开ChatBox。

  2. 按照下图操作指引,集成PAI-RAG服务。image

    其中关键配置说明如下:

    参数

    描述

    参数

    描述

    模型提供方

    选择OPENAI API

    API密钥

    配置为RAG服务的Token。

    API域名

    配置为RAG服务的访问地址,并在末尾添加/v1后缀。例如http://test****0220.115770327099****.cn-hangzhou.pai-eas.aliyuncs.com/v1

    模型

    选择自定义模型,并自定义模型名,例如PAI-RAG。

2.效果展示

按照下图操作指引,进行服务调用。您的结果以实际为准。image

Cherry Studio

Cherry Studio AI是一款强大的多模型AI助手,支持iOS、macOSWindows平台。它支持快速切换多种先进的LLM模型,从而提升工作和学习效率。

1.连接方案

为您介绍Cherry Studio如何连接PAI-RAG服务,以下操作步骤仅供参考,您的操作以实际为准。

  1. 前往Cherry Studio页面,将安装包下载到本地,然后安装并打开Cherry Studio。

  2. 按照下图操作指引,连接PAI-RAG服务。image

    其中关键参数配置说明如下:

    参数

    描述

    参数

    描述

    API密钥

    配置为RAG服务的Token。

    API地址

    配置为RAG服务的访问地址。

    模型

    自定义模型名称,例如PAI-RAG。

2.效果展示

按照下图操作指引,进行服务调用。您的结果以实际为准。

image

AnythingLLM

AnythingLLM是一款AI客户端应用,支持多种先进的AI模型和API。

1.连接方案

Windows操作系统为,为您介绍AnythingLLM如何连接PAI-RAG服务。以下操作步骤仅供参考,您的操作以实际为准。

  1. 前往AnythingLLM页面,选择适合您自己操作系统的版本下载到本地,然后安装并打开AnythingLLM。

  2. 首先新建一个工作区,并按照下图操作指引集成PAI-RAG服务,然后在聊天设置页面下方单击Update workspace,更新工作空间配置。image

    其中关键参数配置说明如下:

    参数

    描述

    参数

    描述

    Base URL

    配置为RAG服务访问地址,并在末尾添加/v1后缀。例如http://test****0220.115770327099****.cn-hangzhou.pai-eas.aliyuncs.com/v1

    API Key

    配置为RAG服务Token。

    Chat Model Name

    自定义模型名称,例如PAI-RAG。

2.效果展示

按照下图操作指引,进行服务调用。您的结果以实际为准。image

  • 本页导读 (1)
  • 前提条件
  • Open-WebUI集成RAG服务
  • 1.部署Open-WebUI并连接RAG服务
  • 2.效果展示
  • 本地APP集成RAG服务
  • Chatbox
  • Cherry Studio
  • AnythingLLM