通过阿里云 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咨询。

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

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

相关文章

【批量生成WORD和PDF文件】根据表格内容和模板文件批量创建word文件,一次性生成多个word文档和批量创建PDF文件

如何按照Word模板和表格的数据快速制作5000个word文档 ? 在与客户的合作的中需要创建大量的合同,这些合同的模板大概都是一致的,是不是每次我们都需要填充不一样的数据来完成? 今天用表格数据完成合同模板的填充,批量…

Windows11 安装 Ubuntu-20.04,同时安装配置 zsh shell,配置 git 别名(alias),大大提高开发效率

背景:家里配置了一台 Windows 电脑,有时候需要用到 vscode 开发测试一些代码,在使用过程中发现原生 windows 敲代码不是很友好,于是想到配置 wsl,安装 Ubuntu,并安装配置 zsh shell,同时配置 gi…

鸿蒙心路旅程:HarmonyOS NEXT 心路旅程:技术、成长与未来

HarmonyOS NEXT 心路旅程:技术、成长与未来 技术的浪潮中,总有一些瞬间让人感到心潮澎湃。作为一名HarmonyOS NEXT开发者,我有幸成为这个时代科技创新的一部分。从最初的接触到深入学习、开发,以及如今规划未来的职业方向&#x…

勤研低代码平台:重塑软件开发协作新生态

在当今数字化浪潮汹涌澎湃的时代,软件开发的效率与质量成为企业竞争的关键因素之一。勤研低代码开发平台以创新性的实际页面 - 功能设计 - 页面设计 - 原型页面切换功能,脱颖而出,为软件开发过程中的团队协作、客户沟通以及项目推进带来了前所…

node安装,npm安装,vue-cli安装以及element-ui配置项目

node.js Node.js主要用于开发高性能、高并发的网络服务器,特别适合构建HTTP服务器、实时交互应用(如聊天室)和RESTful API服务器等。‌它使用JavaScript语言,基于Chrome V8引擎,提供模块化开发和丰富的npm生态系统&…

easyplayer-pro播放器学习

背调 查询官方文档,EasyPlayer-pro支持ws-flv, http-flv, hls, webrtc(webrtc://xxx)格式,电子放大、水印(动态水印、幽灵水印)、显示上一个视频最后一帧、播放器快照截图、视频录制(WebM格式(音频视频)、MP4格式(视频),FLV格式(…

WPF+MVVM案例实战与特效(四十三)- 打造动态炫酷彩虹字控件,让你的界面动起来

文章目录 1、引言1、案例效果2、案例实现1、XAML 布局2、逻辑代码3、动画效果4、控件使用5、运行效果3、案例源代码4、总结1、引言 上一节,我们实现了炫酷的彩虹字控件,现在我们想让彩虹字更加生动吸引人,让每个字体跳动起来,让字体活过来。这里我们通过动画实现,我们把这…

线程知识总结(一)

1、概述 1.1 进程与线程 进程是程序运行时,操作系统进行资源分配的最小单位,包括 CPU、内存空间、磁盘 IO 等。从另一个角度讲,进程是程序在设备(计算机、手机等)上的一次执行活动,或者说是正在运行中的程…

【Python】使用Selenium 操作浏览器 自动化测试 记录

【自动化】Python SeleniumUtil 工具 开启开发者模式 自动安装油猴用户脚本等-CSDN博客文章浏览阅读389次。【自动化】Python SeleniumUtil 工具。https://blog.csdn.net/G971005287W/article/details/144565691?spm1001.2014.3001.5501【学习记录】浏览器指纹相关学习记录&am…

【Rust自学】4.4. 引用与借用

4.4.0 写在正文之前 这一节的内容其实就相当于C的智能指针移动语义在编译器层面做了一些约束。Rust中引用的写法通过编译器的约束写成了C中最理想、最规范的指针写法。所以学过C的人对这一章肯定会非常熟悉。 喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文…

深入解析 StarRocks 物化视图:全方位的查询改写机制

小编导读: 本文将重点介绍如何利用物化视图进行查询改写。文章将全面介绍物化视图的基本原理、关键特性、应用案例、使用场景、代码细节以及主流大数据产品的物化视图改写能力对比。 物化视图在 StarRocks 中扮演着至关重要的角色,它是进行数据建模和加速…

2. petalinux-build失败

NOTE 解决因为网络原因产生的编译错误分享详细的解决步骤 报错的情况 因为网络原因产生编译错误 现象 找不到适合的包文件(No suitable stageing package found) 不能发现文件(Fetcher failure for URL) 解决方法 采用本地加载本地文件的方式,步骤如下 进入…

web实验二

web实验二 2024.12.19 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>青岛理工大学</title>&l…

WebSocket入门与结合redis

WebSocket是什么 WebSocket 是一种用于在客户端和服务器之间建立双向通信的协议&#xff0c;它能实现实时、持久的连接。与传统的 HTTP 请求响应模式不同&#xff0c;WebSocket 在建立连接后允许客户端和服务器之间相互发送消息&#xff0c;直到连接关闭。由于 WebSocket 具有…

Hive是什么,Hive介绍

官方网站&#xff1a;Apache Hive Hive是一个基于Hadoop的数据仓库工具&#xff0c;主要用于处理和查询存储在HDSF上的大规模数据‌。Hive通过将结构化的数据文件映射为数据库表&#xff0c;并提供类SQL的查询功能&#xff0c;使得用户可以使用SQL语句来执行复杂的​MapReduce任…

OpenHarmony和OpenVela的技术创新以及两者对比

两款有名的国内开源操作系统&#xff0c;OpenHarmony&#xff0c;OpenVela都非常的优秀。本文对二者的创新进行一个简要的介绍和对比。 一、OpenHarmony OpenHarmony具有诸多有特点的技术突破和重要贡献&#xff0c;以下是一些主要方面&#xff1a; 架构设计创新 分层架构…

Electron-Vue 开发下 dev/prod/webpack server各种路径设置汇总

背景 在实际开发中&#xff0c;我发现团队对于这几个路径的设置上是纯靠猜的&#xff0c;通过一点点地尝试来找到可行的路径&#xff0c;这是不应该的&#xff0c;我们应该很清晰地了解这几个概念&#xff0c;以下通过截图和代码进行细节讲解。 npm run dev 下的路径如何处理&…

基础入门-Web应用蜜罐系统堡垒机运维API内外接口第三方拓展架构部署影响

知识点&#xff1a; 1、基础入门-Web应用-蜜罐系统 2、基础入门-Web应用-堡垒机运维 3、基础入门-Web应用-内外API接口 4、基础入门-Web应用-第三方拓展架构 一、演示案例-Web-拓展应用-蜜罐-钓鱼诱使 蜜罐&#xff1a;https://hfish.net/ 测试系统&#xff1a;Ubuntu 20.04 …

springboot中Controller内文件上传到本地以及阿里云

上传文件的基本操作 <form action"/upload" method"post" enctype"multipart/form-data"> <h1>登录</h1> 姓名&#xff1a;<input type"text" name"username" required><br> 年龄&#xf…

智慧城市工程:相关学点、优势、未来发展

目录 相关学点&#xff1a; 智慧城市的优势 挑战与未来发展 智慧城市工程是利用现代信息技术和数据分析手段&#xff0c;提升城市管理和服务水平&#xff0c;实现城市运行的智能化、便捷化和高效化的一种新型城市发展模式。智慧城市通过整合物联网&#xff08;IoT&#xff0…