Trieve实践:好用功的开源RAG

news2024/11/15 21:45:31

目录

RAG概述

RAG架构

Trieve

Trieve介绍

Trieve使用

初始化

自行搭建RAG

Trieve是什么,RAG是什么,本文来带你了解。其实在很多产品应用里面都会有RAG,比如ai客服,针对性的智能问答,都是基于RAG实现的

RAG概述

RAG 是一种使用额外数据增强 LLM 知识的技术。
LLM 可以对广泛的主题进行推理,但他们的知识仅限于他们接受培训的特定时间点之前的公共数据。如果要构建可以推理私有数据或模型截止日期后引入的数据的 AI 应用程序,则需要使用模型所需的特定信息来增强模型的知识。引入适当信息并将其插入模型提示符的过程称为检索增强生成 (RAG)。
如果用白话来说,就是ai+数据知识库

RAG架构

典型的 RAG 应用程序有两个主要组件:

索引:用于从源引入数据并对其进行索引的管道。这通常发生在离线状态。

检索和生成:实际的 RAG 链,它在运行时接受用户查询并从索引中检索相关数据,然后将其传递给模型。

从原始数据到答案最常见的完整序列如下所示:

索引

  • 加载:首先我们需要加载数据。这是使用 DocumentLoaders 完成的。
  • 拆分:文本拆分器将大块拆分为更小的块。这对于索引数据和将数据传递到模型都很有用,因为大块更难搜索,并且不适合模型的有限上下文窗口。Documents
  • 存储:我们需要某个地方来存储和索引我们的拆分,以便以后可以搜索它们。这通常是使用 VectorStore 和 Embeddings 模型完成的。

image.png


检索和生成

  • 检索:给定用户输入,使用 Retriever 从存储中检索相关拆分。
  • 生成:ChatModel / LLM 使用包含问题和检索数据的提示生成答案

Trieve

Trieve介绍

Trieve是RAG的一个开源的实现项目, 是一个用于将 AI 搜索构建到应用程序中的基础设施。Trieve 将强大的语言模型与人类微调工具相结合。在单个服务中获取密集向量语义搜索、稀疏向量全文搜索、交叉编码器重新排名模型、RAG 端点、相关性加权等功能。开源地址:https://github.com/devflowinc/trieve

Trieve使用

Trieve是一个小公司开发的开源项目,目前来看github上部署流程还不是很完善,如果需要使用需要阅读代码后自行部署。或者联系官方获取支持,可以获得官方的docker运行。
当然本文主要介绍如何在Trieve官方的平台去试用RAG搜索功能。RAG核心其实就是llm+自有数据

初始化

Trieve Dashboard 在trieve官方平台注册一个账号,进来后可以看到Datasets这里就是数据集,把我们要的知识库在这里上传即可
 

image.png


可以看到这里需要输入数据集的一个名字,然后选择Embedding Model,为了测试方便可以直接用openai的。如果小伙伴还不知道Embedding Model的作用,可以去网上搜索一下
 

image.png


这里我创建了一个叫youtube的集合。那么如何上传数据到这个集合呢?
 

image.png


 

image.png


点击这个search,会发现上面有两个模块,Create Chunk和Upload File,Create Chunk是可以直接创建一个块,也就是RAG介绍里面拆分的块,然后Upload File是可以直接上传一个大文件,然后trieve用默认的拆分段落给你拆分块
 

image.png


上传完数据块或者文件后,过一段时间,会在我们的数据集这里看见区块增加了,这时候就可以搜索或者提问了。

image.png


点击左侧栏目的RAG chat,然后左下角选择你对应的知识库集合。就可以提问了,这个提问一般来说是chatgtp根据你的数据集来回答的,会比直接问chatgpt会好很多,一般客服系统什么的就是基于这个做的

自行搭建RAG

自行搭建一个RAG也很简答,一般用python的LangChain框架来做。这个是官网https://python.langchain.com/,安卓官网的介绍来就可以了

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

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

相关文章

【竞技宝】英超:曼城击败热刺,赢西汉姆联就夺冠

曼城在英超补赛中跟热刺相遇,这场比赛对于双方来说都必须赢。曼城要是拿不下热刺,联赛夺冠形势就不容乐观。热刺则是需要击败曼城,保留拿到下赛季欧冠的一线希望。所以,热刺和曼城开场就全力以赴。上半场热刺和曼城门将都做出精彩扑救,比分维持在0比0。下半场曼城金靴哈兰德发威…

基于springboot实现医药管理系统项目【项目源码+论文说明】

基于springboot实现医药管理系统演示 摘要 计算机网络发展到现在已经好几十年了,在理论上面已经有了很丰富的基础,并且在现实生活中也到处都在使用,可以说,经过几十年的发展,互联网技术已经把地域信息的隔阂给消除了&…

airmon-ng start wlan0

错误原因:有一些后台程序干扰,导致无法成功启动监听模式 解决,关闭提示的进程即可 kill -9 PID号

apache与nginx下安装zabbix

apache下安装zabbix #进入zabbix官网 https://www.zabbix.com/ #选择好要配置的服务#安装zabbix存储库 [rootzabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm [rootzabbix-server ~]# yum clean all #清理…

C++ STL概念之 迭代器

什么是迭代器 迭代器(Iterator)是一个在容器中访问元素的对象,提供了一种方法来顺序访问容器中的元素,而无需暴露容器的底层表示。 或者说 行为像指针一样的类型。可能是指针也可能是被类封装的指针,不关注容器底层细…

SWAT模型高阶应用暨SWAT模型无资料地区建模、不确定分析及气候、土地利用变化对水资源与面源污染影响分析

原文链接:SWAT模型高阶应用暨SWAT模型无资料地区建模、不确定分析及气候、土地利用变化对水资源与面源污染影响分析https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247604401&idx4&snd2d39846dce07bee765c820de1cf92f3&chksmfa821956cdf5904…

GM812条码模块的技术参数

扫码性能参数 *测试条件:环境温度23℃;环境照度300 LUX; **测试条件:测试距离(最小景深最大景深)/2; 环境温度23℃;环境照度300 LUX; *规格如有更改,恕不另…

嵌入式学习72-复习(字符设备驱动框架)

编辑 drivers/char/Kconfig 为了在make menuconfig是能够显示出我们写的驱动程序 make menuconfig 编辑 drivers/char/Makefile 才是真正把编写好的源文件加入到编译中去 make modules cp drivers/char/first_driver.ko ~/nfs/rootfs/

Kotlin扩展函数和运算符重载

扩展函数 fun String.lettersCount():Int{var count 0for(i in this){if(i.isLetter())count}return count } fun main(){val str:String "12we"println(str.lettersCount()) } 相当于直接将方法写在类里面。函数体内可以直接使用this而不用传参。 运算符重载 …

织梦dedecms企业网站模板安装教程

很多新手在拿到织梦模板后不知道如何安装,所以,云部落(Yunbuluo.Net)资源网专门整理了一份图文版织梦模板通用安装教程,希望对大家有所帮助。 第一步: 将域名解析绑定好之后,上传下载的模板至您的WEB根目录中&#xf…

品鉴中的食物搭配:如何创造美味的红酒与食物组合

品鉴云仓酒庄雷盛红酒时,食物搭配是一个不可忽视的环节。通过巧妙的搭配,红酒与食物可以相互衬托,呈现出更加美妙的风味。下面就让我们一起探讨如何创造美味的红酒与食物组合。 首先,了解红酒与食物的搭配原则是关键。一般来说&a…

React Native 开发心得分享

有一段时间没更新了,花了点时间研究了下 React Native(后续用 RN 简称),同时也用该技术作为我的毕设项目(一个校园社交应用,仿小红书),经过了这段时间的疯狂折腾,对 RN 生态有了一定的了解&…

国际生物多样性科普暨母亲节亲子活动在天河公园举行

引言:"人类是命运共同体,不论是战胜新冠疫情,还是加强生物多样性保护,实现全球可持续发展,唯有团结合作,才能有效应对全球性挑战。生态兴则文明兴。我们应该携手努力,共同推进人与自然和谐…

OpenHarmony标准设备应用开发实战(一)——HelloWorld

本文主要内容包括三个方面: 1. 应用编译环境准备; 2. Hello Openharmony 页面编写; 3. 安装应用到标准设备上面。下面就让我们从零开始学习 OpenHarmony 标准设备应用开发。 一、应用开发环境准备 1.1 下载 DevEco Studio 3.0 Beta2 版本 …

3SRB2516-ASEMI适配大功率充电桩3SRB2516

编辑:ll 3SRB2516-ASEMI适配大功率充电桩3SRB2516 型号:3SRB2516 品牌:ASEMI 封装:SGBJ-5 正向电流(Id):25A 反向耐压(VRRM):1600V 正向浪涌电流&…

海外静态IP:全球互联的稳定之选

在全球化的商业环境中,企业与个人对于网络的依赖日益加深,而一个稳定、可靠的海外静态IP成为了连接世界的关键。本文将从五个方面深入探讨海外静态IP的重要性、应用场景、技术优势、市场趋势以及选择时的考量因素。 一、海外静态IP的重要性 静态IP地址是…

耐克、肯德基、美宝莲…六大品牌的经典广告语是如何诞生的?

近期,创意翻译公司franklyfluent推出了一个名为“Hard to Make, Easy to Break”的创意户外活动,展示了创意和文字艺术在品牌翻译中的重要性。 “Hard to Make, Easy to Break”的活动于2024年5月份在英国正式发布。这些移动广告牌出现在伦敦的各个体育…

【算法学习】拓扑排序

文章目录 拓扑排序课程表 拓扑排序 算法原理: 1.先找出图中入度为0的点,将该点加入到队列中 2.队列不为空时,拿出队头元素加入到最终结果 3.再遍历该点的邻接阵,将连接该点的点的入度全部减减 4.判断减减的点是否为入度为0&#…

渗压计与水位计的区别:监测工具的关键用途解析

在土木工程和水利工程领域,渗压计和水位计是两种重要的监测工具。它们虽然在外观和一些基本功能上可能相似,但其实各有专长,适用于不同的监测需求。了解它们的区别对于正确选择和应用这些工具至关重要本文将探讨渗压计和水位计的主要区别&…

【挑战全网】最全高德地图充电桩接入指南,流量必火!

分享《一套免费开源充电桩物联网系统,是可以立马拿去商用的!》 一、和高德直接互联互通的优势: 1、高德官方直接互联互通,提供给合作商户独立发展自主权,不依赖任何第三方平台; 2、自己控制电站的上线、下线、修改电…