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 向量检索库
- 创建 Hologres 实例。
为 Hologres 实例创建数据库和账号,详情请参考 创建数据库。
- 创建账号后,需要给相应的账号完成数据库授权,请参考 Hologres权限模型,并连接HoloWeb检查相应权限。
- 推荐使用简单权限模型对相应的账号授予 developer(开发者)以上权限。
配置数据库连接。
- 访问 Hologres 控制台 ,选择实例列表中的对应实例,在实例详情页面可以看到网络信息,网络信息中的指定 VPC 地址即为 Hologres Endpoint。
步骤二:部署基于 DeepSeek 的 RAG 服务
进入 PAI-EAS 页面
- 在工作空间页面的左侧导航栏选择模型部署>模型在线服务(EAS),进入模型在线服务(EAS)页面。
- 在部署大模型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将其应用到您自己的业务系统中,详情请参见后续步骤四。
向量检索库与大语言模型设置
在 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 向量检索库中。
- 设置语义切块参数。
通过配置以下参数来控制文档切块粒度的大小和进行QA信息提取:
参数 | 描述 |
---|---|
Chunk Size | 指定每个分块的大小,单位为字节,默认为500。 |
Chunk Overlap | 表示相邻分块之间的重叠量,默认为10。 |
Process with MultiModal | 使用多模态模型处理,可以处理pdf、word、md文件的图片。如果您选择了使用多模态LLM,请打开此开关。 |
Process PDF with OCR | 使用OCR模式解析PDF文件。 |
- 上传业务数据文件,支持的文件类型为.txt、.pdf、Excel(.xlsx或.xls)、.csv、Word(.docx或.doc)、Markdown或.html,支持本地文件、本地目录或 OSS 上传。
- 成功上传文件后,系统会先对上传的文件进行数据清洗(文本提取、超链接替换等)和语义切块,然后进行存储到 Hologres 向量检索库中。
配置模型推理参数
在 Chat 页签中,您可以配置向量检索和模型推理验证的相关参数。
- 通用参数
参数 | 说明 |
---|---|
Streaming Output | 选中Streaming Output后,系统将以流式方式输出结果。 |
Need Citation | 回答中是否需要给出引用。 |
Inference with multi-modal LLM | 使用多模态大语言模型时是否展示图片。 |
向量检索相关参数,目前支持三种向量检索方式
- Embedding Only:向量数据库检索召回。
- Keyword Only:关键词检索召回。
- Hybrid:向量数据库和关键词检索多路召回融合。
LLM 相关参数
- Temperature : 控制生成内容的随机性。温度值越低,输出结果也相对固定;而温度越高,输出结果则更具多样性和创造性。
模型推理验证
在 Chat页签选择使用的知识库索引(Index Name),配置问答策略,您可以选择多种方式对模型进行推理验证,调优对话系统。
- Retrieval:直接从 Hologres 向量数据库中检索并返回Top K条相似结果。
- LLM:直接使用LLM回答。
- Chat(Knowledge Base):将 Hologres 向量数据库检索返回的结果与用户问题合并填充至已选择的Prompt模板中,一并输入大语言模型服务进行处理,从中获取问答结果。
步骤四:通过 API 调用进行模型推理验证
获取RAG服务的调用信息。
- 单击RAG服务名称,进入服务详情页面。
- 在基本信息区域,单击查看调用信息。
- 在调用信息对话框的公网地址调用页签,获取服务访问地址和Token。
- 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最新功能实践
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。