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

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

​​免费试用​​

背景信息

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

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

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

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

前提条件

  • 已创建 Milvus 实例,并配置了公网访问。具体操作请参见​​快速创建Milvus实例​​和​​网络访问与安全设置​​。
  • 已开通 PAI(EAS)并创建了默认工作空间。具体操作,请参见​​开通PAI并创建默认工作空间​​。

使用限制

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

操作流程

步骤一:通过 PAI 部署 RAG 系统

1.进入模型在线服务 EAS

        a.登录 ​​PAI控制台​​。

        b.在左上角顶部菜单栏选择目标地域。

        c.在左侧导航栏选择模型部署>模型在线服务(EAS),在下拉框中选择目标工作空间后单击进入EAS

2.在 PAI-EAS 模型在线服务页面,单击部署服务

3.在部署服务页面,选择大模型RAG对话系统

4.在部署大模型RAG对话系统页面,配置以下关键参数,其余参数可使用默认配置,更多参数详情请参见​​大模型RAG对话系统​​。

参数

描述

基本信息

服务名称

您可以自定义。

模型来源

使用默认的开源公共模型

资源配置

模型类别

通常选择通义千问7B。例如,Qwen1.5-7b。

资源配置选择

按需选择GPU资源配置。例如,ml.gu7i.c16m30.1-gu30。

向量检索库设置

版本类型

选择Milvus

数据库文件夹名称

您在Milvus中自定义的Collection名称。

访问地址

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

代理端口

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

账号

配置为root。

密码

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

Collection删除

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

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

专有网络配置

VPC

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

交换机

安全组名称

5.单机部署
服务状态变为运行中时,表示服务部署成功。

6.在模型在线服务(EAS)页面,单击查看Web应用,进入WebUI页面。

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

1.测试连通性。如下图所示,在 RAG 服务 WebUI 界面的 Settings 选项卡中,系统已自动识别并应用了部署服务时配置的向量检索库设置,并且该设置不支持修改。您可以单击 Connect Milvus,来验证 Milvus 连接是否正常。


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

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


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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/11954.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java面试题:判断字符串包含字母、数字、空格、符号的数量

在Java中,你可以使用正则表达式来检查字符串中包含多少个字母、数字、空格和符号。也可以使用基础api来实现业务逻辑,方法如下: 1 使用Character类的静态方法 以下代码定义了一个countCharacters方法,它遍历字符串中的每个字符&a…

CSS美化网页:理论基础及示例

CSS(层叠样式表)是用于美化网页和控制网页布局的重要技术。通过CSS,你可以对网页的元素进行样式设计,包括字体、颜色、间距、边框、背景等。以下是一些关键的CSS属性和概念,用于美化网页: 1. 字体样式&…

Java基础教程大纲

Java基础教程大纲 1、Java概述 jdk和jre介绍,idea介绍; 第一个java程序; javase javaee 2、 java基本数据类型 3、java变量和常量 和关键字 数组 4、java String 和操作符 5、 java运算符 比较,逻辑,算术 6、条件语句和循环语句 7、Java面向对象类和接口一 8、Jav…

qt的http原理

#ifndef TURING_H #define TURING_H #include <QObject》 #include <QNetworkAccessManager》 #include <QNetworkRequest》 #include <QNetworkReply》 class Turing : public QObject { Q_OBJECT public: explicit Turing(QObject *parent 0);Q_INVOKABLE v…

解决:微信支付 由于商家传入的H5交易参数有误,该笔交易暂时无法完成,请联系商家解决

微信支付参数配置完成后请求报这个。在网上搜索后发现是ip配置的问题&#xff0c;我配置的是127.0.0.1。 而微信支付的时候需要获取用户的真实ip

Mysql关键字闭坑

Mysql关键字闭坑 INTERVAL 因为需求&#xff0c;所以数据设计时用到了一个INTERVAL字段,程序编译及启动都没有任何问题&#xff0c;但是到了查询的时候&#xff0c;直接控制台报语法异常&#xff0c;这就奇怪了&#xff0c;用的是MP插件作为查询&#xff0c;为啥报出语法错误&…

求职招聘平台小程序源码系统 附带源代码以及完整的安装部署教程

系统概述 求职招聘平台小程序源码系统是一款基于微信小程序的求职招聘平台&#xff0c;旨在为广大求职者和招聘企业提供一个高效、便捷的线上交流平台。该系统具备以下特点&#xff1a; 1.功能齐全&#xff1a;系统包含职位发布、简历投递、在线沟通、面试安排等求职招聘全流程…

Android Saving Activity State使用说明和注意事项

1、说明 在管理activity生命周期的简单介绍中提到当一个activity被暂停或停止时&#xff0c;该activity的状态被保留。因为当activity对象被暂停或停止时仍然保留在内存中&#xff0c;所有有关成员的信息和当前的状态仍然可用。这样&#xff0c;用户对该activity所做的任何更改…

笔记:完善python selenium 讯飞写作的整体自动化

昨天做得不太好,今天再来一次,我发现,只要写得多,一定会有发现。 1、加入本地目录,不要一直登录。 # 定义Edge浏览器的用户数据目录edge_user_data_dir = r"C:\Users\Administrator\AppData\Local\Microsoft\Edge\User Data\Default"# 设置Edge选项edge_optio…

Spire.PDF for .NET【文档操作】演示:将多个 PDF 文件中的选定页面合并为一个

使用 Spire.PDF&#xff0c;您不仅可以将多个 PDF 文件合并为一个文件&#xff0c;还可以从源文件中选择特定页面并将它们合并为一个 PDF 文档。以下代码片段演示了相同的内容。 Spire.PDF for .NET 是一款独立 PDF 控件&#xff0c;用于 .NET 程序中创建、编辑和操作 PDF 文档…

腐烂的橘子 - (LeetCode)

一、概述 994. 腐烂的橘子 - 力扣&#xff08;LeetCode&#xff09;&#xff0c;今天刷到这道题&#xff0c;开始按照自己实现的思路写了一次&#xff0c;通过了调试&#xff0c;但是提交的时候&#xff0c;来了一个大的数据&#xff0c;就没有通过测试&#xff0c;百思不得其…

React 学习-6-列表 keys

1.生成列表的方式&#xff1a;使用map()循环数组&#xff0c;放入ul&#xff0c;li中&#xff0c;并将数组的index作为唯一key。key通常保存在ul上&#xff0c;而非单个元素li中.按照此思路手写代码如下&#xff1a; 1.创建div <div id"test"></div>2创…

牛顿/高斯牛顿/LM法与最小二乘

最小二乘分为线性最小二乘和非线性最小二乘 最小二乘目标函数都是min||f(x)||2 若f(x) ax b&#xff0c;就是线性最小二乘&#xff1b;若f(x) ax2 b / ax2 bx 之类的&#xff0c;就是非线性最小二乘&#xff1b; 求解线性最小二乘&#xff0c;【参考】 求解非线性最小二…

【多人协作】场景模拟(一)

文章目录 实现多人协作场景&#xff1a;操作流程1开发人员a和b克隆仓库到本地2在本地仓库建立分支并与远程分支建立链接3开发人员工作并提交代码4将合并dev分支与master分支 实现多人协作 多人协作开发是git的最核心也是最重要的操作。多人协作也就意味着同一时间里&#xff0…

关系数据库的规范化,关系模式,充分理解三级范式

第一范式 当一个集合R中&#xff0c;每一个元素都不可再分的时候&#xff0c;便符合第一范式。 例&#xff1a;{学号&#xff0c;姓名&#xff0c;专业编号&#xff0c;专业名称&#xff0c;课程号&#xff0c;课程名&#xff0c;成绩} 第二范式 当一个集合R&#xff0c;符合…

游戏私域运营干货必看 | 《 2023 中国移动游戏私域运营指南》下载

在新游竞争越发激烈、买量效率持续走低、用户注意力资源紧缺等悬而未决的现实困境下&#xff0c;游戏企业必须在存量市场中&#xff0c;寻找一条可行、可复制的出路。 为了一探究竟&#xff0c;网易云商分别面向国内 23 家中大型研运一体化游戏公司&#xff0c;与 2000 位真实…

红黑树!!

文章目录 1.红黑树的概念2.红黑树的几种情况2.1 情况一&#xff1a;cur为红&#xff0c;p为红&#xff0c;g为黑&#xff0c;u存在且为红(p为parent&#xff0c;g为grandfather&#xff0c;u为uncle)2.2 情况二&#xff1a;cur为红&#xff0c;p为红&#xff0c;g为黑&#xff…

PIC单片机提示 No valid installed HI-TECH compiler drivers

PIC单片机提示 No valid installed HI-TECH compiler drivers-CSDN博客

MATLAB支持向量机:函数或变量 ‘svmtrain‘ 无法识别解决方法

我的MATLAB版本是2020a&#xff0c;在运行程序时出现了一下报错 若在运行程序时出现了以下报错&#xff1a; 支持向量机程序在MATLAB执行代码的时候发现有错误。 试一下help&#xff0c;如下图所示&#xff0c;SVM_L和svmtrain均找不到。 打开matlab帮助文档&#xff1a; 可…

C# XPTable in .net6(XPTable控件使用说明八)

经过作者schoetbi、armin-pfaeffle的努力&#xff0c;XPTable已经可以在 winform .net6 .net8的环境下使用&#xff0c;版本升级到了2.0&#xff0c;这样就可以在winform下同时使用XPTABLE和EFcore, 这样就可以解决大部分的场景了。