基于RAG的大模型知识库搭建

news2024/11/23 4:49:08

什么是RAG

RAG(Retrieval Augmented Generation),即检索增强生成技术。

RAG优势

  • 部分解决了幻觉问题。由于我们可以控制检索内容的可靠性,也算是部分解决了幻觉问题。
  • 可以更实时。同理,可以控制输入给大模型上下文内容的时效性,解决大模型更新不及时问题。
  • 可以成为某个领域的专家。
  • 可追溯。

RAG大概示意

RAG流程示意
大致示意图如上。网上资料一搜一大堆,这里就不过多赘述。
想要自己搞一套也很简单,可以用一些开源的组装好的项目,也可以用langchain、llama-index自己搞一套。关于langchain、llama-index该选哪个,简单搞搞langchain,深入搞llama-index。

RAG 进一步优化

实现一个RAG很容易,但是想要做好有一定难度,这里提一些优化方案,也是本文的核心。

优化输入内容的组织形式

输入的内容不要只是简单平铺的文本,建议markdown、html形式,带上段落信息,分割也是以段落以句子为分割点,不要只是固定长度。

内置一些问答对

针对常见问题,预先内置一些问答对。

支持图文表格形式

对图片、表格,也通过一样上传向量库的方式进行支持。图片可以上传到cos,向量数据库存图片描述的embedding跟cos地址。

去掉低相关度回复

embedding检索时不要简单用top-k进行检索,需要关注实际相关度,相关度比较低时进行异常提示。

支持多轮

RAG多轮比较麻烦,除了对话多轮外,还需要支持的是检索多轮,即怎么根据上下文决定本次检索的信息。

其他

其他就是做好评测,做好正负反馈数据收集,持续迭代的事情了。另外,llama-index的数据结构也需要多看看,会有很多有意思的优化点。

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

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

相关文章

【Java程序设计】【C00369】基于(JavaWeb)Springboot的笔记记录分享平台(有论文)

[TOC]() 博主介绍:java高级开发,从事互联网行业六年,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,博客中有上百套程序可供参考,欢迎共同交流学习。 项目简介 项目获取 🍅文末点击…

PTA L2-034 口罩发放

为了抗击来势汹汹的 COVID19 新型冠状病毒,全国各地均启动了各项措施控制疫情发展,其中一个重要的环节是口罩的发放。 某市出于给市民发放口罩的需要,推出了一款小程序让市民填写信息,方便工作的开展。小程序收集了各种信息&…

【MySQL】数据库--库操作

目录 一、创建数据库 二、打开数据库 三、修改数据库 四、显示数据库 五、删除数据库 六、备份与恢复数据库 1.备份: 2.恢复: 一、创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification] …] [DEF…

基于springboot的交通管理在线服务系统的开发

传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装交通管理在线服务系统软件来发挥其高效地信息处理的作用&#xff0…

私域必看:让多微信管理事半功倍的妙招!

微信作为中国最大的社交平台之一,是成为私域流量的重要入口。然而,随着私域流量管理的需求增加,如何高效管理多个微信号成为许多企业或是个人的烦恼。 下面就教大家几招,让大家在管理多个微信号时都能事半功倍,轻松把…

xxl-job 适配人大金仓数据库 V8R6

前言 由于一些众所周知的原因&#xff0c;项目需要需要进行改造使其适配人大金仓的数据库。 xxl-job适配人大金仓 特此说明&#xff1a; 当前修改的xxl-job版本 为 2.4.1-SNAPSHOT mysql上的xxl-job库 迁移到 人大金仓数据库上pom中新增依赖 kingbase8 驱动 注意版本<!-…

分布式系统CAP理论

1、什么是CAP理论 C是Consistency(强一致性)、A是Availability(可用性)、P是Partition Tolerance(分区容错性)&#xff0c;一个分布式系统不可能同时很好的满足—致性、可用性和分区容错性这三个需求&#xff0c;不能同时成立&#xff0c;最多只能同时满足其中的两项&#xff…

Vue3使用v-if指令进行条件渲染

Vue3使用v-if指令进行条件渲染 条件渲染是根据条件的真假来有条件地渲染元素。在Vue.js 3.x中&#xff0c;常见的条件渲染包括使用v-if指令和v-show指令。本文讲解使用v-if指令进行条件渲染。 2.3.1 v-if/v-else-if/v-else 在Vue中使用v-if、v-else-if和v-else指令实现条件…

虚拟机VMware分屏操作

虚拟机VMware分屏操作 打开虚拟机设置&#xff0c;选择监视器设置&#xff0c;监视器数量就是要分屏的数量&#xff0c;因为我使用的是两个显示器&#xff0c;所以选择二&#xff0c;下面的分辨率选择自己使用分屏显示器的最大分辨率。 启动虚拟机&#xff0c;打开后选择循环…

为什么建议你尽快入局鸿蒙?

鸿蒙生态的迅速崛起&#xff0c;为广大开发者带来了前所未有的机遇和挑战。尤其是 2024 年&#xff0c;这个被称为“鸿蒙元年”的关键时刻&#xff0c;程序员一定要抓紧机遇&#xff0c;尽早入局鸿蒙&#xff01; 1、市场需求激增 截至 2023 年四季度&#xff0c;HarmonyOS 在…

CAPL - 如何实现弹窗提示和弹窗操作(续)

目录 函数介绍 openPanel closePanel 代码示例 1、简单的打开关闭panel面板

本地大模型(免安装绿色版)

上一篇文章我们讨论了如何在本地运行大模型 。 安装本地大模型 大部分软件都需要安装&#xff0c;今天是免安装绿色版。 很多人下载不了原版&#xff0c;所以我放百度网盘了。 下载 下载&#xff1a;llava-1.5大模型(7b参数,流量警告:4G) 运行&#xff1a;.\llava-v1.5-7b-…

鸿蒙OS实战:【module的使用】

在开发HarmonyOS应用时&#xff0c;默认创建的工程会有一个entry module&#xff0c;实际应用场景为了代码或者功能解耦&#xff0c;我们需要用到module来进行隔离。根据鸿蒙3.0/3.1/4.0官方指导&#xff0c;我们可以了解到关于module的类型&#xff0c;以及依赖关系&#xff0…

MySQL面试题--MySQL内部技术架构

目录 1.Mysql内部支持缓存查询吗&#xff1f; 2.MySQL8为何废弃掉查询缓存&#xff1f; 3.替代方案是什么&#xff1f; 4.Mysql内部有哪些核心模块组成&#xff0c;作用是什么&#xff1f; 5.一条sql发送给mysql后&#xff0c;内部是如何执行的&#xff1f;&#xff08;说…

Linux的学习之路:1、发展史与编译环境的搭建

一、发展史 1991年10月5日&#xff0c;赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组 &#xff08;comp.os.minix&#xff09;中宣布他编制出了一种类似UNIX的小操作系统&#xff0c;叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发…

基于Springboot的狱内罪犯危险性评估系统的设计与实现(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的狱内罪犯危险性评估系统的设计与实现&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#…

面试经典150题【91-100】

文章目录 面试经典150题【91-100】70.爬楼梯198.打家劫舍139.单词拆分322.零钱兑换300.递增最长子序列77.组合46.全排列39.组合总和&#xff08;※&#xff09;22.括号生成79.单词搜索 面试经典150题【91-100】 五道一维dp题五道回溯题。 70.爬楼梯 从递归到动态规划 public …

Copilot 编程助手的介绍及使用

介绍 Copilot 是2021年由 GitHub 与 OpenAI 合作研发的一款编程助手&#xff0c;同时也是全球首款使用OpenAI Codex模型&#xff08;GPT-3后代&#xff09;打造的大规模生成式AI开发工具。 Copilot 底层模型目前经过了数十亿行公开代码的训练&#xff0c;与大多数代码辅助工具…

RuoYi-Vue若依框架-代码生成器的使用

代码生成器 导入表 在系统工具内找到代码生成&#xff0c;点击导入&#xff0c;会显示数据库内未被导入的数据库表单&#xff0c;选择自己需要生成代码的表&#xff0c;友情提醒&#xff0c;第一次使用最好先导入一张表进行试水~ 预览 操作成功后可以点击预览查看效果&…

雪里温柔,水边明秀,不及Java 抽象类 和 Object类

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…