基于Hologres+DeepSeek+PAI-EAS搭建RAG检索增强对话系统

更新时间:2025-03-04 10:14:38

Hologres与达摩院自主研发的高性能向量计算软件库Proxima进行了深度整合,支持高性能、低延迟及简单易用的向量计算能力。本文将介绍如何使用PAI-EAS部署基于DeepSeek大模型的RAG服务,并关联Hologres引擎实例,以及对RAG对话系统的基础功能和Hologres高性能向量的功能进行说明。

背景信息

RAG技术

随着AI技术的飞速发展,生成式人工智能在文本生成、图像生成等领域展现出了令人瞩目的成就。然而,在广泛应用大语言模型(LLM)的过程中,一些固有局限性逐渐显现:

  • 领域知识局限:大语言模型通常基于大规模通用数据集训练而成,难以针对专业垂直领域提供深入和针对性的处理。

  • 信息更新滞后:由于模型训练所依赖的数据集具有静态特性,大模型无法实时获取和学习最新的信息与知识进展。

  • 模型误导性输出:受制于数据偏差、模型内在缺陷等因素,大语言模型可能会出现看似合理实则错误的输出,即所谓的“大模型幻觉”。

为克服这些挑战,并进一步增强大模型的功能性和准确性,检索增强生成技术RAG(Retrieval-Augmented Generation)应运而生。该技术通过整合外部知识库,显著减少了大模型生成虚构内容的问题,并提升了其获取和应用最新知识的能力,实现了更具个性化和精准化的LLM定制。

本文所搭建的RAG检索增强对话系统需要以下组件或服务:

  • Hologres

    Hologres是阿里巴巴自主研发的一站式实时数仓产品,具备支持海量数据多维分析(OLAP)和高并发低延迟在线数据服务(Serving)的能力。此外,Hologres还与达摩院自主研发的高性能向量计算软件库Proxima进行了深度整合,提供高性能、低延迟且易于使用的向量计算能力。详情请参见Proxima向量计算

  • PAI-EAS

    阿里云人工智能平台PAI(Platform For AI)的模型在线服务EAS(Elastic Algorithm Service)提供了场景化的部署方式。通过简单配置几个参数,用户即可一键部署集成了大语言模型(LLM)和检索增强生成(RAG)技术的对话系统服务,显著缩短了服务的部署时间。在使用该服务进行推理验证时,它能够有效地从知识库中检索相关信息,并与大语言模型的回答相结合,从而产生准确且信息丰富的答案,显著提升问答的质量和整体性能。该服务适用于问答、摘要生成及依赖外部知识的自然语言处理任务。

  • DeepSeek

    DeepSeek是由深度求索公司推出的基于专家混合架构(MoE)的大语言模型,旨在支持高效地推理和检索任务,帮助用户快速构建和扩展大模型应用。目前,PAI-EAS模型在线服务已支持一键部署DeepSeek模型。

前提条件

已创建专有网络VPC、交换机和安全组。具体操作请参见搭建IPv4专有网络创建安全组

说明

Hologres实例和RAG对话系统服务的专有网络必须处在同一VPC下。

操作步骤

步骤一:准备Hologres向量检索库

  1. 购买Hologres实例并创建数据库。详情请参见购买Hologres创建数据库

    说明
    • 创建账号后,需要给相应的账号完成数据库授权,请参考Hologres权限模型,并连接HoloWeb并执行查询检查相应权限。

    • 推荐使用简单权限模型对相应的账号授予developer(开发者)以上权限。

  2. 确认实例连接信息(Endpoint),在步骤二中配置使用。

    1. 登录Hologres 控制台

    2. 单击左侧导航栏实例列表,进入实例列表页面。

    3. 单击已创建的目标实例名称。在实例详情页面可查看网络信息区域。指定VPC域名信息就是HologresEndpoint。

步骤二:部署基于DeepSeekRAG服务

  1. 登录PAI 控制台,进入人工智能平台PAI页面。

  2. 在左侧导航栏,单击工作空间列表,进入工作空间列表页面。

  3. 单击新建工作空间,完成创建。具体操作步骤,详情请参见创建及管理工作空间

  4. 在左侧导航栏选择模型部署 > 模型在线服务(EAS)。进入到模型在线服务(EAS)页面。

  5. 单击推理服务页签中部署服务。在部署服务页面,在场景化模型部署下方,选择大模型RAG对话系统部署

  6. 部署大模型RAG对话系统页面,配置相关参数。

    参数

    说明

    参数

    说明

    基本信息

    版本选择

    支持部署以下两种版本:

    • LLM一体化部署:将大语言模型(LLM)服务和RAG服务部署在同一服务内。

    • LLM分离部署:仅部署RAG服务。但在RAG服务内,您可以自由更换和连接LLM服务,灵活性更高。

    本文部署案例选择LLM一体化部署,您可以根据实际业务需求选择不同的部署版本。

    模型类别

    本文选择DeepSeek系列模型为例,您可以根据具体使用场景选择相应的开源模型。

    资源部署

    资源配置选择

    系统会根据已选择的模型类别,自动推荐适合的资源规格。更换至其他资源规格,可能会导致模型服务启动失败。

    向量检索库设置

    版本类型

    选择Hologres

    调用信息

    配置为指定VPChost信息。进入Hologres管理控制台的实例详情页,在网络信息区域单击指定VPC后的复制,获取域名:80前的host信息。

    数据库名称

    配置为Hologres实例的数据库名称。如何创建数据库,详情请参见创建数据库

    账号

    配置为已创建的自定义用户账号。具体操作,请参见用户管理

    密码

    配置为已创建的自定义用户的密码。

    表名称

    输入新的表名称或已存在的表名称。本文测试表名feature_tb。建议您填写新表名称,让PAI-RAG自动为您在Hologres创建对应表。

    • 对于不存在的表名称,PAI-RAG将自动创建相应的向量索引表。

    • 对于已存在的表名称,表结构应符合PAI-RAG要求,例如可以填写之前通过EAS部署RAG服务自动创建的Hologres表。

    专有网络

    专有网络(VPC)

    Hologres推荐使用私网访问,私网访问要求EAS中配置的专有网络与Hologres实例专有网络保持一致。如需创建专有网络(VPC)、交换机和安全组,详情请参见创建和管理专有网络创建安全组

    交换机

    安全组名称

  7. 参数配置完成后,单击部署。当服务状态变为运行中时,表示服务部署成功。

    eas1

步骤三:通过WebUI页面进行模型推理验证

RAG服务部署成功后,在模型在线服务(EAS)页面,选择推理服务页签,单击目标服务对应服务方式列下的查看Web应用,启动WebUI页面。

您可以在WebUI页面,参考以下操作步骤对服务进行调试。

  1. 向量检索库与大语言模型设置。

    Settings页签,您可以修改Embedding相关参数和需要使用的大语言模型。完成配置后,单击Update Index保存。

    • Index相关参数:

      参数

      说明

      参数

      说明

      Index Name

      系统支持对已有Index进行更新。您可以在下拉列表中选择New来新增Index,并通过指定索引名称实现不同知识库数据的隔离,详情请参见如何使用RAG服务进行知识库数据隔离?

      EmbeddingType

      支持huggingfacedashscope两种模型。本文使用huggingface模型。

      • huggingface:系统提供内置的Embedding模型供您选择。

      • dashscope:使用百炼模型,默认使用text-embedding-v2模型,详情请参见Embedding

        说明

        选择dashscope,您需要给EAS配置公网连接,并配置百炼的API Key。百炼模型调用需单独计费,请参见百炼计费项说明

      Embedding Dimension

      输出向量维度。维度的设置对模型的性能有直接影响。在您选择Embedding模型后,系统将自动配置Embedding维度,无需手动操作。

      Embedding Batch Size

      批处理大小。

    • Large Language Model相关参数:

      • 若大模型RAG对话系统服务版本选择LLM一体化部署,即大语言模型(LLM)服务和RAG服务部署在同一服务内,默认不用填写。

      • 若大模型RAG对话系统服务版本选择LLM分离式部署,按如下步骤获取服务地址和Token信息,完成填写。

        1. 进入模型在线服务(EAS)界面,在推理服务页签,单击目标服务名称。

        2. 概览页的基本信息里,单击查看调用信息

        3. 调用信息对话框中,根据连接方式选择,获取对应的服务访问地址和Token信息。

  2. 上传指定的业务数据文件。

    Upload页签中,您可以根据您的业务数据文件,设置语义切块参数,并上传指定的业务数据文件,系统将自动完成Embedding并存储到Hologres向量检索库中。

    1. 设置语义切块参数。

      通过配置以下参数来控制文档切块粒度的大小和进行Question and Answer信息的提取。

      参数

      说明

      参数

      说明

      Chunk Size

      指定每个分块的大小,单位为字节,默认为500。

      Chunk Overlap

      表示相邻分块之间的重叠量,默认为10。

      Process with MultiModal

      使用多模态模型处理,可以处理PDF、Word、MD文件的图片。本文采用txt文本,不作此选择。

      Process PDF with OCR

      使用OCR模式解析PDF文件。

    2. 上传业务数据文件。

      本文测试使用文件rag_hologres.txt

      • 支持的文件类型为TXT、PDF、XLSX、XLS、CSV、DOCX、DOC、MD、HTML。

      • 支持文件上传的形式为本地文件、本地目录或OSS上传。

      成功上传文件后,系统会先对上传的文件进行数据清洗(文本提取、超链接替换等)和语义切块,然后将其存储到Hologres向量检索库中。

      Hologres库中数据内容如下。您可以登录HoloWeb进行查询,详情请参见连接HoloWeb并执行查询

      image

  3. 配置模型推理参数。

    Chat页签中,您可以配置向量检索和模型推理验证的相关参数。

    • 策略参数

      参数

      说明

      参数

      说明

      Retrieval

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

      LLM

      直接使用LLM回答。

      Chat(Web Search)

      根据用户提问自动判断是否需要联网搜索,如果需要联网搜索,将搜索结果和用户问题一并输入大语言模型服务。使用联网搜索需要给EAS配置公网连接

      Chat(Knowledge Base)

      将向量数据库检索返回的结果与用户问题合并填充至已选择的Prompt模板中,一并输入大语言模型服务进行处理,从中获取问答结果。

    • 通用参数

      参数

      说明

      参数

      说明

      Streaming Output

      默认Streaming Output,系统以流式方式输出结果。

      Need Citation

      回答中是否需要给出引用。

      Inference with multi-modal LLM

      使用多模态大语言模型时是否展示图片。

    • 向量检索参数,目前支持三种向量检索方式。

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

      • Keyword Only:关键词检索召回。

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

    • LLM参数。

      Temperature :控制生成内容的随机性。温度值越低,输出结果也相对固定;而温度越高,输出结果则更具多样性和创造性。

  4. 模型推理验证。

    Chat页签选择使用的知识库索引(Index Name),配置问答策略,您可以选择多种方式对模型进行推理验证,调优对话系统。

    • Retrieval:提问关键词Serverless Computing

      111www

    • LLM:提问内容为请问Fixed Plan能使用Hologres Serverless Computing进行加速吗?

      llm

    • Chat(Knowledge Base):提问内容为请问Fixed Plan能使用Hologres Serverless Computing进行加速吗?

      333www

步骤四:通过API调用进行模型推理验证

当您在WebUI页面调试好问答效果后,可以基于PAI提供的API将其应用到您自己的业务系统中,操作步骤如下:

  1. 获取RAG服务的调用信息。

    1. 单击RAG服务名称,进入服务详情页面。

    2. 基本信息区域,单击查看调用信息

    3. 调用信息对话框中,根据您所处的网络环境获取对应模型服务的访问地址和Token。

  2. API调用操作,详情请参见大模型RAG对话系统API调用

相关文档

  • 本页导读 (1)
  • 背景信息
  • RAG技术
  • 前提条件
  • 操作步骤
  • 步骤一:准备Hologres向量检索库
  • 步骤二:部署基于DeepSeek的RAG服务
  • 步骤三:通过WebUI页面进行模型推理验证
  • 步骤四:通过API调用进行模型推理验证
  • 相关文档