通过阿里云 Milvus 与 PAI 搭建高效的检索增强对话系统

背景介绍

阿里云向量检索服务Milvus版(简称阿里云Milvus)是一款云上全托管服务,确保了了与开源Milvus的100%兼容性,并支持无缝迁移。在开源版本的基础上增强了可扩展性,能提供大规模 AI 向量数据的相似性检索服务。相比于自建,目前阿里云Milvus具备易用性、可用性、安全性、低成本与生态优势。凭借其开箱即用的特性、灵活的扩展能力和全链路监控告警,阿里云Milvus 云服务成为多样化 AI 应用场景的理想选择,包括多模态搜索、检索增强生成(RAG)、搜索推荐、内容风险识别等。您还可以利用开源的 Attu 工具进行可视化操作,进一步促进应用的快速开发和部署。

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

前提条件

  • 已创建Milvus实例,并配置了公网访问。

进入阿里云Milvus页面(​​https://www.aliyun.com/product/milvus​​​),登录阿里云Milvus控制台(​​https://milvus.console.aliyun.com/#/overview​​)。并在左侧导航栏,单击Milvus实例,并继续创建实例

在目标实例的安全配置页面,单击开启公网。输入当前服务器的公网访问IP地址或符合CIDR定义的IP地址段。

  • 已开通PAI(EAS)并创建了默认工作空间。

登录​​PAI控制台​​​(​​https://pai.console.aliyun.com​​),在左上角选择需要开通的地域后,进行认证、授权并开通服务,待开通成功后,便可进入控制台进行AI开发。

使用限制

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

操作流程

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

1.进入模型在线服务页面。

        a.登录​​PAI控制台​​(​​https://pai.console.aliyun.com/​​)。

        b.在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。

        c.在工作空间页面的左侧导航栏选择模型部署>模型在线服务(EAS),进入模型在线服务(EAS)页面。

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

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

4.在部署大模型RAG对话系统页面,配置以下关键参数,其余参数可使用默认配置,更多参数详情请参见​​大模型RAG对话系统​​​(​​https://help.aliyun.com/zh/pai/user-guide/deploy-a-rag-based-dialogue-system​​)。

5.单击部署

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

步骤二:通过RAG WebUI上传知识库

1.配置RAG对话系统。

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

        b.配置Embedding模型。

        在RAG服务WebUI界面的Settings选项卡中,系统已自动识别并应用了部署服务时配置的向量检索库设置。

  • Embedding Model Name:系统内置四种模型供您选择,将自动为您配置最合适的模型。
  • Embedding Dimension:选择Embedding Model Name后,系统会自动进行配置,无需手动操作。

2.测试向量检索库连接是否正常。

系统已自动识别并应用了部署服务时配置的向量检索库设置,并且该设置不支持修改。您可以单击Connect Milvus,来验证Milvus连接是否正常。

3.上传知识库。 在RAG服务WebUI界面的Upload选项卡中,可以上传知识库文档。

        a. 设置语义切块参数。

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

参数

描述

Chunk Size

指定每个分块的大小,单位为字节,默认为500。

Chunk Overlap

表示相邻分块之间的重叠量,默认为10。

Process with QA Extraction Model

通过选中Yes复选框启动QA信息提取功能,系统将在您上传业务数据文件后自动抽取出QA对,以获得更好的检索和回答效果。

        b. 在Files页签下上传业务数据文件(支持多文件上传)。

        本文以唐诗三百首的​​poems.txt​​​(​​https://help-static-aliyun-doc.aliyuncs.com​​)文档作为示例数据,您可以直接使用。

        c. 单击Upload,系统会先对上传的文件进行数据清洗(文本提取、超链接替换等)和语义切块,然后进行上传。

步骤三:通过RAG WebUI对话

在RAG服务WebUI界面的Chat选项卡中,提供了多种不同的Prompt策略,您可以选择合适的预定义Prompt模板或输入自定义的Prompt模板以获得更好的推理效果。

1.配置LLM问答策略

        a.在RAG服务WebUI界面的Chat选项卡中,选择LLM。

        b.直接与LLM对话,返回大模型的回答。

2.配置Retrieval问答策略

3.配置RAG(Retrieval + LLM)问答策略

选择RAG (Retrieval + LLM),然后进行向量检索等一系列实验。

步骤四:查看知识库切块

Attu是一款专为Milvus打造的开源数据库管理工具,提供了便捷的图形化界面, 极大的简化了对Milvus的操作与管理流程。下面,我们将使用Milvus的Attu工具,查看 向量检索服务的存储内容。

1.进入安全配置页面。

        a.登录​​阿里云Milvus控制台​​(​​https://milvus.console.aliyun.com/​​)。

        b.在左侧导航栏,单击Milvus实例

        c.在顶部菜单栏处,根据实际情况选择地域。

        d.在Milvus实例页面,单击目标实例名称。

        e.单击安全配置页签。

2.配置公网访问。

        a.在安全配置页签,单击开启公网

        b.输入当前服务器的公网访问IP地址或符合CIDR定义的IP地址段。

        多个IP条目以半角逗号(,)隔开,不可重复。您可以通过访问​​https://www.cip.cc/​​,获取当前服务器的公网访问IP地址。

        c.单击确定

3.访问Attu页面。

        a.单击页面上方的Attu manager

         b.在弹出的对话框中输入所要访问的数据库、用户名和密码,单击连接,即可打开Attu管理页面。

        实例创建完成后,系统会自动创建一个名为default的默认数据库,并为您创建一个名为root的用户,该用户的密码由您在创建实例时自行设置。

4.在Attu页面,您可以看到RAG服务自动创建的Collection。

相关信息

  • 更多关于Milvus的介绍,请参见​​什么是向量检索服务Milvus版​​​(​​https://help.aliyun.com/zh/milvus/product-overview/what-is-the-vector-retrieval-milvus-version​​)。
  • Milvus最新动态:
  • 预付费包年折扣:1年85折、2年7折、3年5折;
  • 产品动态:

如有疑问,可加入向量检索 Milvus 版用户交流钉群 59530004993咨询。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jQuery总结(思维导图+二维表+问题)

关于什么是jQuery:(下面是菜鸟里的介绍) jQuery 是一个 JavaScript 库。 jQuery 极大地简化了 JavaScript 编程。 jQuery 很容易学习。 而jQuery对我的感受就是,链式运用的很形象,隐式迭代还有一些兼容性强的优点&…

(14)CT137A- 动态数码管设计

(1)了解板卡原理图中数码管的特性:共阳极数码管,公共端连接了电源,FPGA IO口低电平有效,另外,可以看到位选端FPGA位选低电平时选通。 (2)刷新时间的设定:众所…

UG NX二次开发(C#)-如何设置UGOpen的UF_CAM_geom_type_e枚举类型

文章目录 1、前言2、UF_CAM_geom_type_e类型说明3、在C#的类型1、前言 UG NX二次开发提供的帮助文档,无论是c/c++、C#、Python、VB语言,其采用UFun函数时都是参考的UGOpen的帮助文档,即是:UGOPEN函数参考手册(nx6).CHM,后续的都没有怎么增加,这个在哪个版本中都适用。但…

内容与资讯API优质清单

作为开发者,拥有一套API合集是必不可少的。这个开发者必备的API合集汇集了各种实用的API资源,为你的开发工作提供了强大的支持!无论你是在构建网站、开发应用还是进行数据分析,这个合集都能满足你的需求。你可以通过这些免费API获…

vue使用v-if和:class完成条件渲染

1.使用v-if 和v-else 完成主body和暂无数据两个<tbody>标签的条件渲染(注意与v-show效果的区别) 2.v-for完成列表渲染 3.:class完成分数标红的条件控制 删哪个就传哪个的id&#xff0c;基于这个id去过滤掉相同id的项&#xff0c;把剩下的项返回 <td><a click.p…

C++ OpenGL学习笔记(2、绘制橙色三角形绘制、绿色随时间变化的三角形绘制)

相关文章链接 C OpenGL学习笔记&#xff08;1、Hello World空窗口程序&#xff09; 目录 绘制橙色三角形绘制1、主要修改内容有&#xff1a;1.1、在主程序的基础上增加如下3个函数1.2、另外在主程序外面新增3个全局变量1.3、编写两个shader程序文件 2、initModel()函数3、initS…

vue基础作业实验十

vue基础作业实验十 实验要求案例要点&#xff1a;代码以及思考style部分Vue.js 部分Vue 实例部分 这段代码是一个基于 Vue.js 的静态页面&#xff0c;功能包括商品品牌的添加、删除和搜索。 实验要求 一、实验的基本内容 &#xff08;1&#xff09;Vue模板语法。 &#xff08…

PHP+MySQL 学生信息管理系统

目录 MySQL建表指令 主页面展示 主页面源代码如下 增&#xff1a;添加学生信息 添加html如下 html&#xff1a;主要用于显示网页内容 成功添加后回显 ​编辑 增加php如下 删&#xff1a;删除学生信息 删除html如下 成功删除后回显 删除php如下 改&#xff1a;修改学…

QT网络(四):HTTP通信

Qt 网络模块提供一些类来实现 OSI 七层网络模型中高层的网络协议&#xff0c;如 HTTP、FTP、SNMP 等&#xff0c;这些类主要是 QNetworkRequest、QNetworkAccessManager 和 QNetworkReply。QNetworkRequest 类 通过 URL 发起网络协议请求&#xff0c;其也保存网络请求的信息&a…

Pytorch | 从零构建Vgg对CIFAR10进行分类

Pytorch | 从零构建Vgg对CIFAR10进行分类 CIFAR10数据集Vgg网络结构特点性能应用影响 Vgg结构代码详解结构代码代码详解特征提取层 _make_layers前向传播 forward 训练过程和测试结果代码汇总vgg.pytrain.pytest.py 前面文章我们构建了AlexNet对CIFAR10进行分类&#xff1a; Py…

将4G太阳能无线监控的视频接入电子监控大屏,要考虑哪些方面?

随着科技的飞速发展&#xff0c;4G太阳能无线监控系统以其独特的优势在远程监控领域脱颖而出。这种系统结合了太阳能供电的环保特性和4G无线传输的便捷性&#xff0c;为各种环境尤其是无电或电网不稳定的地区提供了一种高效、可靠的视频监控解决方案。将这些视频流接入大屏显示…

ASP.NET |日常开发中连接Mysql数据库增删改查详解

ASP.NET &#xff5c;日常开发中连接Mysql数据库增删改查详解 前言一、连接 MySQL 数据库1.1 安装和引用相关库1.2 建立数据库连接 二、数据库增删改查操作2.1 插入数据&#xff08;Insert&#xff09;2.2 查询数据&#xff08;Select&#xff09;2.3 更新数据&#xff08;Upda…

Go框架比较:goframe、beego、iris和gin

由于工作需要&#xff0c;这些年来也接触了不少的开发框架&#xff0c;Golang的开发框架比较多&#xff0c;不过基本都是Web"框架"为主。这里稍微打了个引号&#xff0c;因为大部分"框架"从设计和功能定位上来讲&#xff0c;充其量都只能算是一个组件&…

LLaMA-Factory 单卡3080*2 deepspeed zero3 微调Qwen2.5-7B-Instruct

环境安装 git clone https://gitcode.com/gh_mirrors/ll/LLaMA-Factory.git 下载模型 pip install modelscope modelscope download --model Qwen/Qwen2.5-7B-Instruct --local_dir /root/autodl-tmp/models/Qwen/Qwen2.5-7B-Instruct 微调 llamafactory-cli train \--st…

华为ensp--BGP路径选择-AS_Path

学习新思想&#xff0c;争做新青年&#xff0c;今天学习的是BGP路径选择-AS_Path 实验目的: 理解AS_Path属性的概念 理解通过AS_Path属性进行选路的机制 掌握修改AS_Path属性的方法 实验内容: 本实验模拟了一个运营商网络场景&#xff0c;所有路由器都运行BGP协议&#xff…

泛微OA定时任务的设置

泛微OA定时任务 背景 在日常流程开发中&#xff0c;是需要和别的系统进行连接的&#xff0c;比如OA和SAP之间的数据传输。 SAP涉及到的业务数据在生成之后&#xff0c;需要在OA生成对应的流程进行信息的审核&#xff0c;但是毕竟是两个不同的系统&#xff0c;所以数据同步是需…

【Harmony Next】多个图文配合解释DevEco Studio工程中,如何配置App相关内容,一次解决多个问题?

解决App配置相关问题列表 1、Harmony Next如何配置图标&#xff1f; 2、Harmony Next如何配置App名称&#xff1f; 3、Harmony Next如何配置版本号&#xff1f; 4、Harmony Next如何配置Bundle ID? 5、Harmony Next如何配置build号&#xff1f; 6、Harmony Next多语言配置在哪…

如何从0构建一个flask项目,直接上实操!!!

项目结构 首先&#xff0c;创建一个项目目录&#xff0c;结构如下&#xff1a; flask_app/ │ ├── app.py # Flask 应用代码 ├── static/ # 存放静态文件&#xff08;如CSS、JS、图片等&#xff09; │ └── style.css # 示例…

计算机网络B重修班-期末复习

[TOC] (计算机网络B重修班-期末复习&#xff09; 一、单选 &#xff08;20题&#xff0c;1分/题&#xff0c;共20分&#xff09; 二、判断 &#xff08;10题&#xff0c;1分/题&#xff0c;共10分&#xff09; 三、填空 &#xff08;10题&#xff0c;1分/题&#xff0c;共10…

js日期时区问题

东八区与0时区 东八区 我们所在地域使用的是 东八区 时区&#xff0c;所以平常使用的电脑设置的多是东八时区 js获取的时间格式 0时区 0时区 也叫 协调世界时 js获取的时间格式 数据库读取时间数据 平常从数据读取的时间默认是0时区的&#xff0c;成以下格式&#xff1a; 2024…