基于阿里云向量检索 Milvus 版与 PAI 搭建高效的检索增强生成(RAG)系统

简介: 阿里云向量检索 Milvus 版现已无缝集成于阿里云 PAI 平台,一站式赋能用户构建高性能的检索增强生成(RAG)系统。您可以利用 Milvus 作为向量数据的实时存储与检索核心,高效结合 PAI 和 LangChain 技术栈,实现从理论到实践的快速转化,搭建起功能强大的 RAG 解决方案。

阿里云向量检索 Milvus 版现已无缝集成于阿里云 PAI 平台,一站式赋能用户构建高性能的检索增强生成(RAG)系统。您可以利用 Milvus 作为向量数据的实时存储与检索核心,高效结合 PAI 和 LangChain 技术栈,实现从理论到实践的快速转化,搭建起功能强大的 RAG 解决方案。


免费试用


背景信息

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

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


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


RAG 技术架构的核心为检索和生成。其中,检索部分采用了高效的向量检索引擎和向量数据库技术,例如基于开源库 Faiss、Annoy 以及 HNSW 算法优化构建的 Milvus 系统,极大地提升了对大规模数据进行快速检索和精确分析的能力。这样的设计使得RAG能够在必要时即时调用相关领域或最新信息,有效弥补了传统大语言模型的不足之处。


前提条件


使用限制

Milvus 实例和 PAI(EAS)须在相同地域下。


操作流程

步骤一:通过 PAI 搭建大模型知识库

  1. 部署对话模型推理服务。
  1. 进入 PAI-EAS 模型在线服务页面。
  1. 登录 PAI控制台
  2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
  3. 在工作空间页面的左侧导航栏选择模型部署>模型在线服务(EAS),进入 PAI-EAS 模型在线服务页面。
  1. PAI-EAS 模型在线服务页面,单击部署服务,在弹出对话框中,选择自定义部署,然后单击确定
  2. 部署服务页面,配置以下关键参数,其余参数可使用默认配置,更多参数详情请参见阿里云大模型RAG对话系统最佳实践

参数

描述

服务名称

您可以自定义。

部署方式

选择镜像部署AI-Web应用

镜像选择

PAI平台镜像列表中选择chat-llm-webui,镜像版本选择最新版本即可。

运行命令

使用通义千问-7b模型进行部署,对应命令如下所示。

python webui/webui_server.py --port=8000 --model-path=Qwen/Qwen-7B-Chat

专有网络配置

在VPC下拉列表中,选择创建Milvus实例时的VPC、交换机和安全组。您可以在Milvus实例的实例详情页面查看。

  1. 单机部署,等待一段时间即可完成模型部署
    当服务状态为运行中时,表面服务部署成功。
  2. 获取VPC地址调用的服务访问地址和Token。
  1. 单击服务名称,进入服务详情页面。
  2. 基本信息区域,单击查看调用信息
  3. 调用信息对话框的VPC地址调用页签,获取服务访问地址和Token,并保存到本地。


  1. 部署 RAG 服务并启动 WebUI。
  1. PAI-EAS 模型在线服务页面,单击部署服务,在弹出对话框中,选择自定义部署,然后单击确定
  2. 部署服务页面,配置以下关键参数,其余参数可使用默认配置,更多参数详情请参见阿里云大模型RAG对话系统最佳实践

参数

描述

服务名称

您可以自定义。

部署方式

选择镜像部署 AI-Web 应用

镜像选择

在 PAI 平台镜像列表中选择 chat-llm-webui,镜像版本选择最新版本即可。

运行命令

修改运行命令为uvicorn webui:app --host 0.0.0.0 --port 8000

对应配置编辑

修改containersimage的后缀为chat-llm-webui:0.1.1-chatbot-milvus

image

专有网络配置

在 VPC 下拉列表中,选择创建 Milvus 实例时的 VPC、交换机和安全组。您可以在 Milvus 实例的实例详情页面查看。

  1. 单击部署,等待一段时间即可完成模型部署。
    服务状态运行中时,表明服务部署成功。
  2. 服务详情页面,单击查看 Web 应用,进入 WebUI 页面。
    您也可以在 PAI-EAS 模型在线服务页面,单击服务方式列下的查看 Web 应用,进入 WebUI 页面。


步骤二:在 WebUI 中使用 Milvus 向量检索

  1. 连接 Milvus。
    如下图所示,您可以在 RAG 服务 WebUI 界面的 Settings 选项卡中,在 Vector Store 中选择 Milvus,配置本系统的参数,并测试连接是否正常。
    涉及参数配置详情如下表所示,其余参数可使用默认配置,更多参数详情请参见阿里云大模型RAG对话系统最佳实践

参数

说明

EAS Url

配置为步骤一:通过PAI搭建大模型知识库中获取的服务访问地址。

EAS Token

配置为步骤一:通过PAI搭建大模型知识库中获取的服务Token。

VectorStore

选择 Milvus

CollectionName

集合名称。您可以自定义。

说明

命名时,请尽量避免使用如"test"这类过于通用或常见的名称,以减少因名称冲突或系统保留字等原因引发的问题。

Host

Milvus 实例的内网地址。您可以在 Milvus 实例的实例详情页面查看。

Port

Milvus 实例的 Proxy Port。您可以在 Milvus 实例的实例详情页面查看。

User

配置为 root。

Password

配置为创建 Milvus 实例时,您自定义的 root 用户的密码。

Drop Old

是否删除已存在的 Collection。取值如下:

  • True:删除同名的 Collection,再创建新的 Collection。如果不存在同名Collection,则直接进行创建。
  • False:保留现有的同名 Collection,新加入的数据将追加到该 Collection 中。

连接正常后 Connection Info 显示 Connect Milvus success。


  1. 上传数据。
    如下图所示,您可以在 RAG 服务 WebUI 界面的 Upload 选项卡中,上传 TXT 或 HTML 类型的用户知识库文档。
    本文以PAI.txt例,当完成上传后,会显示Upload 1 files [ PAI.txt, ] Success!


    您还可以在 Milvus 实例的实例详情页,单击右上角的 Attu Manager,然后输入 Milvus 实例的用户名和密码,可以查看写入的数据和向量等信息。Attu 的相关操作,请参见 Attu操作指南


  2. 向量检索。
    如下图所示,您可以在 RAG 服务 WebUI 界面的 Chat 选项卡中,选择 Langchain(Vector Store + LLM),然后进行向量检索等一系列实验。



向量检索 Milvus 版用户交流钉钉群

1712734996586.png

相关实践学习
数据湖构建DLF快速入门
本教程通过使⽤数据湖构建DLF产品对于淘宝用户行为样例数据的分析,介绍数据湖构建DLF产品的数据发现和数据探索功能。
快速掌握阿里云 E-MapReduce
E-MapReduce 是构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、HBase,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。 本课程主要介绍阿里云 E-MapReduce 的使用方法。
相关文章
|
2月前
|
机器学习/深度学习 人工智能 算法
【AAAI 2024】再创佳绩!阿里云人工智能平台PAI多篇论文入选
阿里云人工智能平台PAI发表的多篇论文在AAAI-2024上正式亮相发表。AAAI是由国际人工智能促进协会主办的年会,是人工智能领域中历史最悠久、涵盖内容最广泛的国际顶级学术会议之一,也是中国计算机学会(CCF)推荐的A类国际学术会议。论文成果是阿里云与浙江大学、华南理工大学联合培养项目等共同研发,深耕以通用人工智能(AGI)为目标的一系列基础科学与工程问题,包括多模态理解模型、小样本类增量学习、深度表格学习和文档版面此次入选意味着阿里云人工智能平台PAI自研的深度学习算法达到了全球业界先进水平,获得了国际学者的认可,展现了阿里云人工智能技术创新在国际上的竞争力。
|
4月前
|
弹性计算 Linux Shell
阿里云ecs linux系统如何进行系统盘的扩容
【1月更文挑战第25天】【1月更文挑战第122篇】阿里云ecs linux系统如何进行系统盘的扩容
214 1
|
20天前
|
人工智能 自然语言处理 监控
通过阿里云向量检索 Milvus 版和通义千问快速构建基于专属知识库的问答系统
本文展示了如何使用阿里云向量检索 Milvus 版和灵积(Dashscope)提供的通用千问大模型能力,快速构建一个基于专属知识库的问答系统。在示例中,我们通过接入灵积的通义千问 API 及文本嵌入(Embedding)API 来实现 LLM 大模型的相关功能。
通过阿里云向量检索 Milvus 版和通义千问快速构建基于专属知识库的问答系统
|
2月前
|
存储 人工智能 Cloud Native
阿里云向量检索 Milvus 版开启公测,助力企业打造高质量 AI 服务
阿里云向量检索 Milvus 版正式开启公测,诚邀广大开发者及企业用户参与公测,赋能智能检索,解锁 AI 潜能。
|
2月前
|
存储 人工智能 自然语言处理
“智能+”时代,深维智信如何借助阿里云打造AI内容生成系统
随着数字经济的发展,线上数字化远程销售模式越来越成为一种主流,销售流程也演变为线上视频会议、线下拜访等多种方式的结合。根据Gartner报告,到2025 年60%的B2B 销售组织将从基于经验和直觉的销售转变为数据驱动的销售,将销售流程、销售数据、销售分析合并形成一致的运营实践。
414 0
“智能+”时代,深维智信如何借助阿里云打造AI内容生成系统
|
2月前
|
消息中间件 编解码 运维
阿里云 Serverless 异步任务处理系统在数据分析领域的应用
本文主要介绍异步任务处理系统中的数据分析,函数计算异步任务最佳实践-Kafka ETL,函数计算异步任务最佳实践-音视频处理等。
175316 348
|
2月前
|
自然语言处理 算法 关系型数据库
阿里云PAI大模型RAG对话系统最佳实践
本文为大模型RAG对话系统最佳实践,旨在指引AI开发人员如何有效地结合LLM大语言模型的推理能力和外部知识库检索增强技术,从而显著提升对话系统的性能,使其能更加灵活地返回用户查询的内容。适用于问答、摘要生成和其他依赖外部知识的自然语言处理任务。通过该实践,您可以掌握构建一个大模型RAG对话系统的完整开发链路。
|
3月前
|
弹性计算 安全 Linux
阿里云ECS Linux系统漏洞修复详细教程
阿里云ECS Linux系统漏洞修复详细教程
|
3月前
|
监控 数据可视化 测试技术
集成阿里云 RPA 与现有系统
随着企业对自动化和数字化转型的需求不断增长,阿里云 RPA(机器人流程自动化)技术成为了提升业务效率和减少人工操作的重要工具。本文将介绍如何集成阿里云 RPA 与现有系统,以实现更高效的业务流程自动化。