对话机器人技术解说

一、RAG介绍

如何不通过微调模型来提高LLM性能,检索增强生成(RAG)是未来的发展方向。

  • Embedding:将文档的句子或单词块转换为数字向量。就向量之间的距离而言,彼此相似的句子应该很近,而不同的句子应该离得很远
  • Vector Store:Embedding文档之后将数据存储在矢量存储中,比如ChromaDB、FAISS或Pinecone。矢量存储就像一个数据库,但顾名思义,它对矢量嵌入进行索引和存储,以实现快速检索和相似性搜索
  • Query:文档已经嵌入并存储,向llm提出特定问题时,会embedding查询,并在向量存储中找到余弦相似度最接近你问题的句子
  • Answering Your Question:找到最接近的句子,会被注入到Prompt中,LLM现在可以在没有经过再训练或微调的情况下回答有关数据的特点问题

二、LangChain

1.LangChain框架核心目的

LangChain框架核心目的是为了连接多种大语言模型(如OpenAI、LLaMA等)和外部资源(如Google、Wikipedis、Notion以及Wolfram等),提供抽象和工具以在文本输入和输出之间进行接口处理。大语言模型和组件通过“链(Chain)”连接,使得开发人员可以快速开发原型系统和应用程序。

  • 组件化:LangChain框架提供了用于处理语音模型的抽象组件,以及每个抽象组建的一系列实现。
  • 现成的链式组装:LangChain框架提供了一些现成的链式组装,用于完成特定的高级任务。这些现成的链式组装使得入门变得更加容易。
  • 简化开发难度:通过提供组件化和现成的链式组装,LangChain框架可以大大简化大语言模型应用的开发难度。开发人员可以更专注于业务逻辑,而无需花费大量时间和精力处理底层技术细节。

2.LangChain框架核心模块

(1)链(Chain)

LangChain为“链式”应用提供了Chain接口,并将该节接口定义得非常通过。作为一个调用组件的序列,还可以包含其他链。

(2)记忆(Memory)

存储关于过去交互的信息的能力即记忆,需要包含读取和输入两个模块

(3)数据连接(Data connection)

数据连接模块通过以下方式提供组件来加载、转换、存储和查询数据

三、Mistral-7b模型介绍

Mistral-7b是由Mistral AI开源的,在多个benchmark上超过LLaMA2

四、LlamaIndex解锁自定义LLM关键步骤分块、索引、查询介绍

1.LlamaIndex分块

由于大模型的上下文有限,处理超大文档的成本很高,而通过对原始文本上进行关键词搜索的效率是非常低的。为了客服这些挑战,LLamaIndex采用了两种关键策略。首先,它将文档分为较小的上下文,如句子或段落,这些上下文被称为节点,语言模型可以有效的处理这些节点。其次,LLamaIndex使用向量嵌入对这些节点进行索引,从而实现快速和语义搜索。

2.建立索引

在Node对象列表建立索引,节点上的文本embedding会存储在Faiss索引中,可以节点上快速进行相似性搜索。索引还存储每个节点上的元数据,如文档ID、位置等。

3.检索合成

节点可以检索某个文档的内容,也可以检索特定文档。将检索到的内容合成。

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

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

相关文章

react-native 渲染引擎经历了什么

React Native 的渲染引擎经历了多个迭代,不断优化和改进。以下是一些较为显著的迭代: 原生组件封装:最初的 React Native 版本是通过 JavaScript 渲染 UI,并通过桥接层将 UI 转化为原生组件。随着发展,React Native 开…

Spring的监听器使用(实用,直接拿去修改可用)

一,前言 这里我们以ApplicationListener为例,简单说明一下监听器如何使用。 本人基本只输出实用,即用的代码,希望能帮助到各位,如果想研究底层逻辑,大家可自行根据代码去类源码查看。 监听器的使用主要分…

美易官方:收盘美股收涨纳指创历史新高,市场关注CPI通胀数据

​收盘之际,美股市场呈现出一派欣欣向荣的景象,各大指数纷纷收红,尤其是纳斯达克指数更是创下了历史新高,市场气氛热烈而积极。这一日的交易过程中,投资者们信心满满,积极寻觅着能够带来丰厚回报的投资机会…

上层建筑(理解)

上层建筑(Superstructure)是指建立在一定经济基础上的社会意识形态以及与之相适应的政治法律制度和设施等的总和。它包括阶级关系(基础关系)、维护这种关系的国家机器、社会意识形态以及相应政治法律制度、组织和设施等。 上层建筑与经济基础对立统一。建…

用go语言写一个代码,加班就自动给老婆发信息,下班自动提醒的代码

文章推荐 1 作为程序员,开发用过最好用的AI工具有哪些? 2 Github Copilot正版的激活成功,终于可以chat了 3 idea,pycharm等的ai assistant已成功激活 4 新手如何拿捏 Github Copilot AI助手,帮助你提高写代码效率 5 Jetbrains的a…

相机模型,坐标变换,畸变

小孔成像模型 墨子就记录了小孔成像是倒立的。这从几何光学的角度是很好理解的:光沿直线传播,上方和下方的光线交叉,导致在成像平面位置互换。 小孔的大小有什么影响? 小孔越大,进光量变大了,但是成像平…

第二步 完善MBR

文章目录 前言一、什么是MBR?二、我们需要什么样的MBR?三、设计我们的MBR!1、打印“1 MBR”2、加载次引导程序——loader 四、实践检验! 查看系列文章点这里: 操作系统真象还原 前言 在上一篇文章 第一步 从启动BIOS开…

社交电商的三大模式,新零售招商模式策划

链动21奖励模式,七人拼团模式拆解,分享购模式解析 坐标:厦门,我是易创客肖琳 深耕社交新零售行业10年,主要提供新零售系统工具及顶层商业模式设计、全案策划运营陪跑等。 随着数字时代的到来,“互联网”概…

PyCharm2023 社区版安装 +中文语言包+配置教程+Python环境搭建

一、Python 安装 我们在安装Pycharm之前,首先要先安装Python环境也就是安装Python解释器 因为PyCharm是一个用于编写和调试Python代码的开发工具,而Python解释器是用于解释执行Python代码PyCharm需要依赖Python解释器来执行Python代码,因此…

R语言贝叶斯方法在生态环境领域中的应用

贝叶斯统计已经被广泛应用到物理学、生态学、心理学、计算机、哲学等各个学术领域,其火爆程度已经跨越了学术圈,如促使其自成统计江湖一派的贝叶斯定理在热播美剧《The Big Bang Theory》中都要秀一把。贝叶斯统计学即贝叶斯学派是一门基本思想与传统基于…

R语言基础--文件读写

From生物技能树(R第五节) 文章目录 一、文件读写1.注意用project管理工作目录2、文件读取1、读取.txt文件2、读取.csv文件注意:数据框不允许重复的行名 3.数据框的导出4.读取文件的其他方式(用于读取/导出文件的R包)--经验1.base2.readr3.dat…

图搜索算法-最小生成树问题-克鲁斯卡尔算法(kruskal)

相关文章: 数据结构–图的概念 图搜索算法 - 深度优先搜索法(DFS) 图搜索算法 - 广度优先搜索法(BFS) 图搜索算法 - 拓扑排序 图搜索算法-最短路径算法-戴克斯特拉算法 图搜索算法-最短路径算法-贝尔曼-福特算法 最小生…

CocoaPods 安装 b rew安装

安装 CocoaPods 通常是在 macOS 上进行的。以下是安装 CocoaPods 的步骤: 安装 Homebrew(如果尚未安装): Homebrew 是 macOS 上一个非常受欢迎的软件包管理器。你可以在终端中执行以下命令来安装 Homebrew: bash Copy…

【Redis】数据类型

Redis数据类型(5 3 1) 五种基本数据类型 String字符串 特点 二进制安全,可以包含任何数据,如数字,字符串,jpg图片或者序列化的对象 应用场景 缓存: redis作为缓存层,mysql做持…

【ORACLE战报】2024.4月最新OCP考试喜报.

课程介绍 DBA数据库管理必备认证:ORACLE OCP 19C 教材下载 ORACLE OCP 19C 官方电子教材 ORACLE OCP 12C官方电子教材 题库下载 ORACLE 19C题库 (083384题、082362题)-2024答案修正版.rar 所有的收获都是默默耕耘的成果 2024.4月【最新考试成…

Chromium 调试指南2024 Windows11篇-条件断点、函数断点(十一)

1. 前言 在调试过程中,步进代码和条件断点/函数断点是非常有用的工具和技术,它们可以帮助开发者更加精确地定位和解决问题。本文将介绍步进代码的常用工具以及条件断点/函数断点的设置方法,帮助开发者更加高效地进行调试工作。 2. 步进代码…

ControlNet原理解析

前排提示照片已经获得小姐姐许可。 光知道ControlNet好用,不想知道它背后的原理么?今天就看一看这篇论文,带大家了解一下ControlNet是如何炼成的。 ControlNet是干嘛的 我们知道现在文本到图像生成很火爆,你只需要输入文字就可以…

内存函数:memcpy(拷贝),memmove(拷贝),memcmp(比较),memset(设置)

内存函数 一.memcpy(内存拷贝1)1.函数使用2.模拟实现 二.memmove(内存拷贝2)1.函数使用2.模拟实现 三.memcmp(内存比较)1.函数使用2.模拟实现 四.memset(内存设置)1.函数使用2.模拟实…

【Linux】用户组、用户、文件权限(ugo权限),权限掩码,chmod,chown,suid,sgid,sticky,su,sudo

用户组 注意:普通用户只能查看有哪些组,不能创建/修改/删除,会提示:用户名 is not in the sudoers file.This incident will be reported. groupadd 用户组名新建用户组cat /etc/group查看有哪些组(普通用户可以操作…

Windows下配置TortoiseGit 访问Ubuntu虚拟机下Samba共享目录

前言: 本文记录学习使用 Git 版本管理工具的学习笔记,通过阅读参考链接中的博文和实际操作,快速的上手使用 Git 工具。 本文参考了引用链接博文里的内容。 引用: 【TortoiseGit】TortoiseGit安装和配置详细说明-CSDN博客 Git版本管理可视…