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

背景信息

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

Hologres

Hologres 是阿里巴巴自研一站式实时数仓产品,不仅支持海量数据多维分析(OLAP)、高并发低延迟的在线数据服务(Serving),还与达摩院自研高性能向量计算软件库 Proxima 深度整合,支持高性能、低延时、简单易用的向量计算能力。详情请参见Proxima向量计算

PAI-EAS

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

DeepSeek

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

RAG 简介

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

  • 领域知识局限:大语言模型通常基于大规模通用数据集训练而成,难以针对专业垂直领域提供深入和针对性处理。
  • 信息更新滞后:由于模型训练所依赖的数据集具有静态特性,大模型无法实时获取和学习最新的信息与知识进展。
  • 模型误导性输出:受制于数据偏差、模型内在缺陷等因素,大语言模型可能会出现看似合理实则错误的输出,即所谓的“大模型幻觉”。

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

前提条件

已创建专有网络VPC、交换机和安全组。具体操作,请参见搭建IPv4专有网络创建安全组。并将 Hologres 实例和 RAG 服务时配置于同一 VPC 内。

部署步骤

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

  1. 创建 Hologres 实例
  2. 为 Hologres 实例创建数据库和账号,详情请参考 创建数据库

    • 创建账号后,需要给相应的账号完成数据库授权,请参考 Hologres权限模型,并连接HoloWeb检查相应权限。
    • 推荐使用简单权限模型对相应的账号授予 developer(开发者)以上权限。
  3. 配置数据库连接。

    • 访问 Hologres 控制台 ,选择实例列表中的对应实例,在实例详情页面可以看到网络信息,网络信息中的指定 VPC 地址即为 Hologres Endpoint。

步骤二:部署基于 DeepSeek 的 RAG 服务

  1. 进入 PAI-EAS 页面

    • 登陆 PAI 控制台,在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。如您尚未创建工作空间,请创建工作空间
  2. 在工作空间页面的左侧导航栏选择模型部署>模型在线服务(EAS),进入模型在线服务(EAS)页面。

  1. 部署大模型RAG对话系统页面,配置参数后单击部署。当服务状态变为运行中时,表示服务部署成功。关键参数说明如下。
参数 描述
基本信息版本选择支持部署以下两种版本:<br/>+ LLM一体化部署:将大语言模型(LLM)服务和RAG服务部署在同一服务内。<br/>+ LLM分离部署:仅部署RAG服务。但在RAG服务内,您可以自由更换和连接LLM服务,灵活性更高。<br/>本文 Demo 选择 LLM一体化部署,您可以根据实际业务需求选择不同的部署版本。
模型类别本文选择 DeepSeek 系列模型为例,您可以根据具体使用场景选择相应的开源模型。
资源配置资源配置选择系统会根据已选择的模型类别,自动推荐适合的资源规格。更换至其他资源规格,可能会导致模型服务启动失败。
向量检索库设置<br/>版本类型选择Hologres
调用信息配置为指定VPC的host信息。进入Hologres管理控制台的实例详情页,在网络信息区域单击指定VPC后的复制,获取域名:80前的host信息。
数据库名称配置为Hologres实例的数据库名称。如何创建数据库,详情请参见创建数据库
账号配置为已创建的自定义用户账号。具体操作,请参见创建自定义用户
密码配置为已创建的自定义用户的密码。
表名称输入新的表名称或已存在的表名称。<br/>+ 对于不存在的表名称,PAI-RAG 将自动创建相应的向量索引表。<br/>+ 对于已存在的表名称,表结构应符合PAI-RAG要求,例如可以填写之前通过EAS部署RAG服务自动创建的Hologres表。
专有网络配置VPC确保所配置的专有网络与 Hologres 实例保持一致。
交换机
安全组名称

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

RAG服务部署成功后,单击服务方式列下的查看Web应用,启动WebUI页面,您可以先在WebUI页面,参考以下操作步骤对服务进行调试。当您在WebUI页面调试好问答效果后,可以基于PAI提供的API将其应用到您自己的业务系统中,详情请参见后续步骤四。

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

  1. Settings 页签,您可以修改Embedding相关参数以及使用的大语言模型。建议直接使用默认配置。配置好以后,点击 Update Indexing 即可保存。

    • Index 相关参数说明:
参数描述
Index Name系统支持对已有Index进行更新。您可以在下拉列表中选择New来新增Index,并通过指定索引名称实现不同知识库数据的隔离,详情请参见如何使用RAG服务进行知识库数据隔离?
EmbeddingType支持huggingface和dashscope两种模型来源。<br/>+ huggingface:系统提供内置的Embedding模型供您选择。<br/>+ dashscope:使用百炼模型,默认使用text-embedding-v2模型,详情请参见Embedding。<br/>注:使用dashscope,您需要给EAS配置公网连接,并配置百炼的API Key。百炼模型调用需单独计费,请参见百炼计费项说明。
Embedding Dimension输出向量维度。维度的设置对模型的性能有直接影响。在您选择Embedding模型后,系统将自动配置Embedding维度,无需手动操作。
Embedding Batch Size批处理大小。
  • Large Language Model 相关参数说明:

当版本选择LLM分离部署时,您需要参照LLM大语言模型部署来部署大语言模型服务,然后单击LLM服务名称,在基本信息区域单击查看调用信息,获取服务访问地址和Token 并填入到该 RAG 服务中。

上传指定的业务数据文件

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

  1. 设置语义切块参数。

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

参数描述
Chunk Size指定每个分块的大小,单位为字节,默认为500。
Chunk Overlap表示相邻分块之间的重叠量,默认为10。
Process with MultiModal使用多模态模型处理,可以处理pdf、word、md文件的图片。如果您选择了使用多模态LLM,请打开此开关。
Process PDF with OCR使用OCR模式解析PDF文件。
  1. 上传业务数据文件,支持的文件类型为.txt、.pdf、Excel(.xlsx或.xls)、.csv、Word(.docx或.doc)、Markdown或.html,支持本地文件、本地目录或 OSS 上传。
  2. 成功上传文件后,系统会先对上传的文件进行数据清洗(文本提取、超链接替换等)和语义切块,然后进行存储到 Hologres 向量检索库中。

配置模型推理参数

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

  • 通用参数
参数说明
Streaming Output选中Streaming Output后,系统将以流式方式输出结果。
Need Citation回答中是否需要给出引用。
Inference with multi-modal LLM使用多模态大语言模型时是否展示图片。
  • 向量检索相关参数,目前支持三种向量检索方式

    • Embedding Only:向量数据库检索召回。
    • Keyword Only:关键词检索召回。
    • Hybrid:向量数据库和关键词检索多路召回融合。
  • LLM 相关参数

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

模型推理验证

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

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

  1. LLM:直接使用LLM回答。

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

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

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

    1. 单击RAG服务名称,进入服务详情页面。
    2. 基本信息区域,单击查看调用信息
    3. 调用信息对话框的公网地址调用页签,获取服务访问地址和Token。
  2. API 调用请参考文档

Hologres 特色功能支持

Hologres 向量计算功能强大,支持高性能、低延时、简单易用的向量计算能力。详情请参见Proxima向量计算

在本文实例的 RAG 系统中,连接作为向量检索库的 Hologres 数据库后,可以查看已导入的知识库内容。

13个专题6万字详解,Hologres一体化实时湖仓实践手册发布

Hologres 3.0 全新升级为一体化实时湖仓平台,通过统一数据平台实现湖仓存储一体、多模式计算一体、分析服务一体、Data+Al 一体,实现一份数据、一份计算、一份服务,极大提高数据开发及应用效率。

立即下载>>https://developer.aliyun.com/ebook/8436

电子书亮点:

ꔷ 结合Deepseek+PAI 构建RAG检索增强系统

ꔷ 结合Flink、Paimon、MaxCompute等构建一体化实时湖仓平台

Serverless系列功能快速入门,降价46% 并保障资源隔离与稳定

ꔷ Dynamic Table、运维诊断优化、流量分析函数等3.0最新功能实践


阿里云大数据AI
12 声望9 粉丝

分享阿里云计算平台的大数据和AI方向的技术创新、实战案例、经验总结。