阿里云PAI大模型RAG对话系统最佳实践

去年4月至9月,阿里云人工智能平台 PAI 团队与大数据基础工程技术团队合作,构建了基于知识库检索增强的大模型答疑对话机器人,并在阿里云官方答疑链路、研发小蜜、钉钉大数据技术服务助手等多个线上场景上线,显著提升答疑效率。相关文档:【万字长文】基于阿里云PAI搭建知识库向量检索增强的大模型对话系统

上线几个月来,随着 RAG 技术日趋火热,我们保持对线上链路的迭代,不断加入学界业界最新的 RAG 优化技术(eg: advanced RAG),改进了包括知识入库 query 改写多路检索召回融合结果重排序prompt 工程等在内的多个 RAG 模块,线上提效显著。

目前本轮优化已上线阿里云官网最佳实践,并开源在 PAI-RAG 代码库中。随着 RAG 技术迅猛发展,我们在不断跟进最新优化技术,并迭代加入代码库与最佳实践中。

本文为大模型RAG对话系统最佳实践,旨在指引AI开发人员如何有效地结合LLM大语言模型的推理能力和外部知识库检索增强技术,从而显著提升对话系统的性能,使其能更加灵活地返回用户查询的内容。适用于问答、摘要生成和其他依赖外部知识的自然语言处理任务。通过该实践,您可以掌握构建一个大模型RAG对话系统的完整开发链路。

1. 背景信息

大语言模型(LLM)在生成准确和实时的回复方面存在局限性,不适合直接用于需要精确信息的客服或问答等场景。当前业界普遍采用基于检索增强的RAG技术来改善LLM的表现。该方法通过结合LLM的归纳生成能力和向量检索库的检索能力,增强对用户查询的理解,并产生更加可靠的回复。

检索增强生成(Retrieval-Augmented Generation, RAG)技术结合了大语言模型(LLM),如通义千问,与信息检索系统,以提高文本生成的准确性和丰富度。在响应用户查询时,RAG首先利用检索系统从知识库中检索相关内容,然后将检索到的内容与原始查询一同输入大语言模型(LLM),从而让语言模型不用重新训练就能够获取最新的信息,并产生可靠的输出。RAG特别适用于问答、摘要生成和其他依赖外部知识的自然语言处理任务,同时还支持定制化提示(Prompt)和基于检索的多轮对话管理,类似于LangChain,从而进一步优化用户交互体验和答案质量。

1.1 方案架构

本方案包括以下功能模块:

  • 向量检索库准备:根据场景需求选择开通Hologres、AnalyticDB PostgreSQL或ElasticSearch,或使用Faiss作为向量检索库供后续RAG对话系统链路使用。
  • 对话模型推理服务在线部署:您可以在EAS中将对话模型部署为在线服务,以供后续RAG对话系统链路中调用模型服务。
  • RAG服务在线部署:您可以在EAS中部署LangChain的WebUI服务。
  • 在WebUI界面进行知识问答:打开RAG服务的WebUI应用,然后串联自定义的业务数据进行知识问答,验证对话系统的效果。

2. 前提条件

说明

● 仅在华北6(乌兰察布)地域支持购买灵骏资源,且需要开通白名单。
● 当前灵骏智算资源仅供白名单用户受限申请使用,如果您希望使用灵骏智算资源,您可先提交工单,申请添加灵骏智算使用白名单。

3. 步骤一:准备向量检索库

具体步骤一,请参见文档

您可以选择以下任意一种产品构建本地向量库:

  • Faiss(Facebook AI Similarity Search)
  • Hologres
  • AnalyticDB PostgreSQL
  • Elasticsearch

其中,Faiss无需开通或购买即可使用,Hologres、AnalyticDB PostgreSQL和ElasticSearch需要开通并准备相应的WebUI界面配置参数。后续您可以使用准备好的参数连接向量检索库。

3.1 Hologres

  1. 开通Hologres实例并创建数据库。具体操作,请参见购买Hologres。您需要将已创建的数据库名称保存到本地。
  2. 在实例详情页面查看调用信息。
    1. 单击实例名称,进入实例详情页面。
    2. 网络信息区域,单击指定VPC后的复制,将域名:80前面的内容保存到本地。
  3. 切换到账号管理Tab页,创建自定义用户。并将账号和密码保存到本地,后续用于连接Hologres实例。具体操作,请参见创建自定义用户。

其中:选择成员角色选择实例超级管理员(SuperUser)

3.2 AnalyticDB for PostgreSQL

  1. 在AnalyticDB for PostgreSQL版控制台上创建实例。具体操作,请参见创建实例。其中:向量引擎优化选择开启
  2. 单击实例名称,进入基本信息页面,在该页面中的数据库连接信息区域,复制内网地址和外网地址并保存到本地。

说明

● 如果没有外网地址,您需要单击申请外网地址来获取。具体操作,请参见管理外网地址。
● 如果在同一个VPC内连接实例,只需使用内网地址。
● 创建数据库账号,并将数据库账号和密码保存到本地,后续用于连接数据库。具体操作,请参见创建数据库账号。
● 配置白名单为0.0.0.0/0。具体操作,请参见设置白名单。

3.3 ElasticSearch

1.创建阿里云Elasticsearch实例。具体操作,请参见创建阿里云Elasticsearch实例。其中:

    评论 1
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值