Trieve实践:好用功的开源RAG

目录

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.hqwc.cn/news/703373.html

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

相关文章

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

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

ubuntu升级python

添加Python官方PPA源 sudo add-apt-repository ppa:deadsnakes/ppa 执行会显示各个版本ubuntu可以安装哪些python版本 更新软件包索引 sudo apt update 安装需要版本Python sudo apt install python3.11 检查Python版本: which python11 /usr/bin/python3.11 设置为系统默认Pyt…

前端无样式id或者class等来定位标签

目录: 1、使用背景2、代码处理 1、使用背景 客户使用我们产品组件,发现替换文件,每次替换都会新增如下的样式,造就样式错乱,是组件的文件,目前临时处理的话就是替换文件时删除新增的样式,但是发…

SAP揭秘者- SAP工单ATP检查专题之工单ATP检查的需求背景及相关操作

文章摘要: 从本章开始,我将给大家详细地介绍SAP生产订单/工单 ATP检查的相关的配置和操作,以及在项目上具体是怎么使用的,包含怎么应对实际项目中的一些疑难点需求。 ATP检查会应用到MM,SD,PP三个模块中,这里我们主要…

Spring初学入门(跟学笔记)

一、Spring概述 Spring是一款主流的Java EE轻量级开源框架。 Spring的核心模块:IoC(控制反转,指把创建对象过程交给Spring管理 )、AOP(面向切面编程,在不修改源代码的基础上增强代码功能) 二、…

ps找不到d3dcompiler_47.dll怎么办,无法启动,7个解决方法能搞定

当您在尝试运行某个游戏时,如果系统提示“d3dcompiler_47.dll丢失”或“无法找到d3dcompiler_47.dll”,这通常意味着DirectX组件不完整或损坏。下面是修复此问题的详细步骤: 一、d3dcompiler_47.dll的属性概述 文件名称:d3dcompi…

echarts去掉网格线

柱子后面白色的线太丑了! 去掉他 x轴平行的线,就写在yAxis下面 yAxis: {type: value,splitLine: {lineStyle: {type: dashed, // 虚线样式color: rgba(255, 255, 255, 0.15) // 虚线颜色}},//去除网格线}, 这个颜色一定要加‘’,不然不生效…

python 批量webp格式转换成jpg

首先,你需要安装Pillow库。如果还未安装,可以通过pip安装: pip install Pillow 创建一个Python脚本来读取webp文件,并将其转换为jpg格式。 只需修改source_folder和dest_folder变量为你的实际文件夹路径即可使用这个脚本。 fro…

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

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

EFDC建模方法及在地表水环境评价、水源地划分、排污口论证

原文链接:EFDC建模方法及在地表水环境评价、水源地划分、排污口论证https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247604351&idx3&snc39009090054285af83c60bad162f321&chksmfa821998cdf5908ed8ad874ee9fa121f21ec03dd3ba62f9082027335ca5…

Linux修改终端命令颜色

1.在家目录中修改.bashrc文件 cd ~ vim .bashrc2.找到PS1相关段落,把其他的注释掉,填上该行代码,修改为自己设置的颜色 (具体颜色查看参考文章) 提供两种颜色,其他的自学调色盘吧(下文有)~ (祝你愉快) ①浅蓝色 深蓝 PS1\[\03…

电脑版的学浪课程下载方法

想在你的电脑上无限制地访问你最爱的学浪课程吗?现在,让我揭秘如何用几个简单步骤,轻松下载任何学浪课程到你的电脑,让学习不再受时间和地点的限制,随时随地都是你的课堂。 下载学浪视频的工具,我已经打包…