RAG与Langchain简介

RAG与Langchain简介

  • 什么是RAG
  • RAG解决的问题
  • RAG工作流程
  • RAG调优策略
  • LangChain简介

什么是RAG

检索增强生成(Retrieval-Augmented Generation),主要是通过从外部给大模型补充一些知识,相当于给模型外挂了一个知识库,让模型减少幻觉,生成更加精确的答案

RAG解决的问题

1.每次有新的知识加入,都需要进行微调,成本大
2.训练模型的成本是很高的

RAG工作流程

在这里插入图片描述

检索(Retrieve):把用户的问题送到知识库中进行检索相关内容,返回相似的前n个内容
增强(Augment):用户的问题和检索的内容放在一起,构成一个prompt
生成(Generate):将prompt送入LLM中

RAG调优策略

在这里插入图片描述

LangChain简介

LangChain 是一个用于开发由语言模型驱动的应用程序的框架。他主要拥有 2 个能力:
1.可以将 LLM 模型与外部数据源进行连接
2.允许与 LLM 模型进行交互

基本概念:
loader加载器:从哪里加载数据
document文档:将数据转换为Document对象
文本分割:受限于大模型token数量,将长文本分割
向量数据库:将数据向量化存入库中,便于搜索匹配
chainl链:一个chain就是一个任务,一个一个的执行多个任务
Agent代理:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件测试-第2章-软件测试策略

目录 1.1软件测试的生命周期 1.计划阶段 2.设计阶段 3.开发阶段 4.执行阶段 5.评估阶段 1.2测试步骤 ​编辑2.2.1 单元测试 2.2.2 集成测试 2.2.3 确认测试 2.2.4 系统测试 1.3静态方法与动态方法 1.4…

RERCS系统开发实战案例-Part05 FPM Application的Feeder Class搜索组件的实施

1、通过事务码 SE24对Feeder Class实施 1)接口页签的简单说明: ① IF_FPM_GUIBB:通用UI构建块,整个UIBB模块的基础接口; ② IF_FPM_GUIBB_SEARCH:通用搜索UI构建块,搜索组件UIBB的基础接口&…

PCL 拟合二维椭圆(迭代法)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 一般情况,我们会用椭圆拟合二维点,用椭球拟合三维点。在n维中,这些对象被称为超椭球体,由二次方程隐式定义 超椭球的中心是n1向量C,nn矩阵S是正定的,n1向量X是超椭球上的任意点。矩阵S可以用特征分解,S = R…

前端学习笔记100篇之002:Webpack简明教程(持续完善中)

文章目录 1. **安装和初始化**2. **创建和配置入口文件**3. **编写和配置Webpack配置文件**4. **打包和运行项目** Webpack是一个静态模块打包工具,适用于前端项目构建和模块化开发。Webpack通过从入口文件构建依赖图,然后打包相关的模块,最终…

数据库管理-第205期 换个角度看23ai(20240617)

数据库管理205期 2024-06-17 数据库管理-第205期 换个角度看23ai(20240617)1 规范应用开发2 融合总结 数据库管理-第205期 换个角度看23ai(20240617) 作者:胖头鱼的鱼缸(尹海文) Oracle ACE Pro…

【Linux】进程间通信2——命名管道

1. 命名管道(FIFO) 1.1. 基本概念 简单,给匿名管道起个名字就变成了命名管道 那么如何给 匿名管道 起名字呢? 结合文件系统,给匿名管道这个纯纯的内存文件分配 inode,将文件名与之构建联系,关键点在于不给它分配 D…

Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors

Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors 块设备名称为: /dev/sda 设备的大小为:107.4 GB 107374182400 bytes : 107374182400/1024/1024/1024100G (1)块设备名称为:/dev/sd…

qt笔记之qml和C++的交互系列(二):rootObject

qt笔记之qml和C的交互系列(二):rootObject code review! —— 2024-06-17 杭州 夜 文章目录 qt笔记之qml和C的交互系列(二):rootObject一.使用rootObject例程1.运行2.main.cpp3.main.qml3.用于Debug的加长版main.cpp 二.QML文件的根对象详解基本概念常…

【减法网络】Minusformer:通过逐步学习残差来改进时间序列预测

摘要 本文发现泛在时间序列(TS)预测模型容易出现严重的过拟合。为了解决这个问题,我们采用了一种去冗余的方法来逐步恢复TS的真实值。具体来说,我们引入了一种双流和减法机制,这是一种深度Boosting集成学习方法。通过将信息聚合机制从加法转…

【最全面最优质的PyTorch学习资源】

纯 PyTorch 资源 PyTorch 博客 https://pytorch.org/blog/ PyTorch 文档 https://pytorch.org/docs PyTorch 性能调优指南 https://pytorch.org/tutorials/recipes/recipes/tuning_guide.html# PyTorch Recipes https://pytorch.org/tutorials/recipes/recipes_index.h…

AI 有感:智能体 = 提示词工程 + 大模型算力 + 插件类工具?

回顾 继这篇文章推出:怎么看 AI 大模型(LLM)、智能体(Agent)、知识库、向量数据库、知识图谱,RAG,AGI 的不同形态? 引起了很多粉丝朋友的反响,随着目前各大模型的发布以…

PBC密码库安装及使用教程

文章目录 1.PBC库介绍2.PBC库安装3.PBC库使用4.相关API4.1 配对的初始化和释放4.2 元素的初始化和释放4.3 元素的赋值4.4 哈希4.5 元素的常用运算4.6 元素的幂运算4.7 元素的比较4.8 从群中随机选取一个元素(常用)4.9 配对的运算4.10 小结 5.Some exampl…

Unity 使用TextMeshPro实现图文混排

最后实现出的效果是这样的 开始实现 准备两张图 选中图片右键->Create->TextMeshPro->Sprite Asset 然后文件夹内就会出现一个同名的这个文件 新建一个Text Inspector面板 点击最底下的Extra Settings 然后把刚刚创建的SpriteAsset拖过来 放到对应的地方 然后…

牛客周赛 E-茜茜的计算器

原题链接:E-茜茜的计算器​​​​​​ 题目大意:在计算器上显示的0~9十个数字,如果这个计算器有n个位置,可以显示n个数字,问能显示多少种不同的对称数字。只能横轴和竖轴对称。 思路:容斥,最终…

Docker(二)-Centos7安装Docker并配置镜像加速

系统用户为非root用户 1.安装条件 确定Centos版本是否是7及以上sudo vim /etc/redhat-release2.官网地址 https://docs.docker.com/engine/install/centos3.卸载已安装的旧版本 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-lates…

数字孪生定义及应用介绍

数字孪生定义及应用介绍 1 数字孪生(Digital Twin, DT)概述1.1 定义1.2 功能1.3 使用场景1.4 数字孪生三步走1.4.1 数字模型1.4.2 数字影子1.4.3 数字孪生 数字孪生地球平台Earth-2 参考 1 数字孪生(Digital Twin, DT)概述 数字孪…

项目(一)--高并发内存池项目简介

什么是高并发内存池 它是一个全球性大厂google(谷歌)的 开源项目,项目名字叫tcmalloc,全称是Thread-Caching Malloc,即线程缓存的malloc 作用: 我们知道C语言在堆上开辟空间和 释放使用的是malloc和free函数 并且C的动态内存管理new和delete 的底层实际上也调用了…

白酒行业数字化营销转型方向

白酒行业正站在数字化营销的新风口,随着科技的迅猛发展和消费者行为模式的变革,这一传统行业正迎来前所未有的发展机遇。数字化营销不仅为白酒企业打开了新的市场大门,更在重塑消费者与品牌之间的关系,推动行业向更智能、更个性化…

day02论文学习:能够使大语言模型产生带有引用的文章

1.主题:Enabling Large Language Models to Generate Text with Citations(能够使大语言模型产生带有引用的文章) 引用出处: Gao, T., Yen, H., Yu, J., & Chen, D. (2023). Enabling Large Language Models to Generate Tex…

05通讯录管理系统——添加联系人

功能描述:实现添加联系人功能,联系人上限为1000人,联系人信息包括姓名、性别、年龄、联系电话、家庭住址。 添加联系人实现步骤: 1.设计联系人结构体 2.设计通讯录结构体 3.main函数中创建通讯录 4.封装添加联系人函数 5.测…