学习记录(8):RAG and PAL and ReAct

news2024/12/27 14:01:46

咱就是说 习惯了做笔记
不做笔记 这知识真的是一点记不住啊(实则是脑子笨0.o
那咱就狠狠的来记住这个知识点0.o

参考学习:B站GenJi是真想教会你-《【包教包会】一条视频速通AI大模型原理》

文章目录

  • 一、RAG:检索增强生成
  • 二、PAL:程序辅助语言模型
  • 三、ReAct:推理行动结合


一、RAG:检索增强生成

LLM所拥有的知识受到训练数据的影响,如果训练数据里对某个领域的文本覆盖不多,那么AI学到的也不多,就没办法很好地帮我们回答相关问题。
因此,在小众细分领域上,AI的表现有可能不尽人意。而且,像公司内部数据、个人私密文件等,也都不可能作为公开大语言模型的训练数据。我们没法指望ChatGPT能帮我们回答相关问题。

概念:RAG是一种结合了检索和生成的模型架构。它首先从一个大型文档库中检索相关信息,然后使用生成模型(如GPT-3)基于检索到的信息生成回答。这种方法可以显著提高生成内容的准确性和相关性。

应对策略:我们可以提供外部文档,让模型访问外部知识库,获得实时且正确的数据生成更可靠和准确的回答。
↑上述架构就叫做Retrieval Augmented Generation(RAG)

具体步骤
首先,外部知识文档要先被切分成一个个段落。
因为,大语言模型一次性能接受的文本长度有限,
然后,每个段落会被转成一系列向量。
向量可以被看作是一串固定长度的数字,然后储存进向量数据库里。
当我们提问的时候,这个提示也会被转换为向量,
然后查找向量数据库里,和用户的查询向量最为接近的段落向量。
找到以后,段落信息会和原本的用户查询问题组合到一起,一块传给LLM,LLM就能把外部文档的段落作为上下文,基于里面的信息给出更严谨的回答。
因此,可以对外部文档里任何内容进行提问,即使AI模型从来没有受到过那些内容的训练。

优势: RAG有利于搭建企业知识库或个人知识库

二、PAL:程序辅助语言模型

概念:PAL是一种结合了编程和语言模型的技术。它利用编程语言的逻辑和计算能力来辅助语言模型完成复杂的任务。通过这种方式,PAL可以处理需要精确计算和逻辑推理的问题。

具体步骤
问题分解:将复杂问题分解为可以通过编程解决的子问题。
编程求解:使用编程语言(如Python)解决这些子问题。
语言生成:将编程结果与语言模型结合,生成自然语言回答。

《ChatGPT是无法直接进行计算的》
不让LLM自己生成结果,而是用其他计算工具。

相当于借用了大模型《接收问题的耳朵、思考的脑子、说话的嘴》
以及代码解释器做运算的手

三、ReAct:推理行动结合

LLM天然的缺陷为 局限于训练数据的日期影响。
LLM可以结合搜索引擎,做出实时的回答。
《不专职与搜索引擎结合》

可以借助LangChain工具
在这里插入图片描述
概念:ReAct是一种结合了推理和行动的模型架构。它不仅能够进行复杂的逻辑推理,还能基于推理结果采取行动。这种方法特别适用于需要多步推理和决策的任务。

具体步骤
推理阶段:使用语言模型进行多步推理,逐步接近问题的解决方案。
行动阶段:基于推理结果采取具体行动,如调用API、执行数据库查询等。

例子:假设用户问:“请帮我预订一家明天晚上7点的餐厅。” 系统会先进行推理,确定用户需求,然后采取行动预订餐厅。
在这里插入图片描述

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

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

相关文章

VMware Workstation 17 图文安装教程

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 🤓 同时欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深…

红黑树的实现及测试

目录 1.红黑树的结构 2.红黑树的节点 3.红黑树的实现 1)插入操作 1.u存在且为红 2.u不存在或存在且为黑(且cur 为 parent 的左) 3.u不存在或存在且为黑(且cur 为 parent 的右) 2)查找操作 3&#x…

63、ELK安装和部署

一、ELK日志系统 1.1、ELK平台的定义 ELK平台是一套完整的日志集中处理解决方案,将ElasticSearch、Logstash和Kiabana 三个开源工具配合使用,完成更强大的用户对日志的查询、排序、统计需求 E:elasticsearch ES分布式索引型非关系数据库,存…

Mybatis学习(2)

分页 目的:减少数据的处理量 方式一:使用limit实现分页,核心SQL sql语法:select * from user limit startIndex,pageSize; 步骤: 1、接口 2、Mapper.xml 3、测试 方式二:使用注解开发 1、…

Java同城货运搬家货运车小程序系统源码

🚚同城搬家不头疼!揭秘“同城货运搬家货运车小程序”的省心秘籍 📱开篇:一键下单,搬家新风尚 告别传统搬家的繁琐与不便,今天给大家种草一款超实用的生活神器——“同城货运搬家货运车小程序”&#xff0…

【设计模式:工厂模式】

目录 工厂模式的特点: 工厂模式种类 简单工厂模式: 简单工厂模式的创建步骤: 简单工厂代码: 工厂模式 : 特点: 工厂模式代码: 抽象工厂模式 抽象工厂的主要组成部分: 抽象…

unity中实现流光效果——世界空间下

Properties{_MainTex ("Texture", 2D) "white" {}_FlowColor ("Flow Color", Color) (1, 1, 1, 1) // 流光颜色_FlowFrequency ("Flow Frequency", Float) 1.0 // 流光频率_FlowSpeed ("Flow Speed", Float) 1.0 // 流光…

二维码门楼牌管理应用平台建设:实有单位采集管理

文章目录 前言一、实有单位信息采集:构建城市信息基石二、快速查询功能:精准定位,一触即达三、单位详情全面展示:历史轨迹,一目了然四、信息核实机制:确保数据准确无误五、单位注销流程:灵活管理…

Jenkins保姆笔记(1)——基于Java8的Jenkins安装部署

前言 记录分享下Jenkins的相关干货知识。分2-3篇来介绍Jenkins的安装部署以及使用。还是和以前一样,文章不介绍较多概念和细节,多介绍实践过程,以战代练,来供大家学习和理解Jenkins 概念 Jenkins是一个开源的自动化服务器&…

7.31 Day13 DHCP服务器的配置与管理

DHCP服务及其工作原理 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)提供了动态配置IP地址的功能。在DHCP网络中,客户端不再需要自行输入网络参数,而是由DHCP服务器向客户端自动分配。 DHCP服务工作端…

拓扑未来物联网平台简介

拓扑未来物联网平台是基于Thingsboard二次开发的面向产业互联和智慧生活应用的物联网PaaS平台,支持适配各种网络环境和协议类型,可实现各种传感器和智能硬件的快速接入。有效降低物联网应用开发和部署成本,满足物联网领域设备连接、智能化改造…

day27——homework

1、使用两个线程完成两个文件的拷贝&#xff0c;分支线程1拷贝前一半&#xff0c;分支线程2拷贝后一半&#xff0c;主线程回收两个分支线程的资源 #include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <fcntl.h> #include <uni…

释放自动化测试潜能:性能优化策略与实战技巧!

引言 在当今追求软件快速迭代的环境下&#xff0c;自动化测试的性能瓶颈正成为制约开发流程加速的主要障碍。本文将深入探讨如何通过策略和实践&#xff0c;优化自动化测试的性能&#xff0c;实现测试执行速度的质的飞跃。 自动化性能瓶颈的识别与突破 首先&#xff0c;识别并…

Day4

请求与响应 请求和响应是Web应用的基本组成部分&#xff0c;它们处理客户端&#xff08;通常是浏览器&#xff09;和服务器之间的交互。 注意三个常见的请求和响应就行&#xff1a; 【注意】&#xff1a; 关于重定向&#xff1a; 浏览器向某个网站发来请求&#xff0c;该网…

在Windows系统上生成SSH秘钥

SSH秘钥是指在SSH协议中使用的加密密钥&#xff0c;用于实现安全认证和数据加密。SSH秘钥通常指的是一对密钥&#xff1a;公钥&#xff08;Public Key&#xff09;和私钥&#xff08;Private Key&#xff09;。 使用以下命令生成SSH密钥 输入下面命令行生成SSH秘钥&#xff0c…

slot 插槽的方式

当组件作为标签使用时&#xff0c;子组件中用slot标签占一个位置&#xff0c;父组件可以在此填充数据&#xff0c;父组件未填充数据&#xff0c;有默认数据 则显示默认数据 具名插槽&#xff1a;子组件中slot标签有name属性&#xff0c;如name“title”&#xff0c;父组件可以用…

Spring面试篇章——Spring基本概述

Spring 的基本概述 Spring学习的核心内容—一图胜千言 IOC&#xff1a;控制反转&#xff0c;可以管理 Java 对象AOP&#xff1a;切面编程JDBCTemplate&#xff1a;是Spring提供一套访问数据库的技术&#xff0c;应用性强&#xff0c;相对好理解声明式事务&#xff1a;基于IOC …

操作系统篇--八股文学习第十一天|进程调度算法你了解多少,进程间有哪些通信方式,解释一下进程同步和互斥,以及如何实现进程同步和互斥

进程调度算法你了解多少&#xff1f; 答&#xff1a; 先来先服务&#xff1a;按照请求的顺序进行调度。 这种调度方式简单&#xff0c;但是能导致较长作业阻塞较短作业。最短作业优先&#xff1a;非抢占式的调度算法&#xff0c;按估计运行时间最短的顺序进行调度。 但是如果…

selenium之批量上传文件

在UI自动化测试过程经常会有上传附件的操作&#xff0c;针对附件上传的场景&#xff0c;通常可以归为几类&#xff1a; 场景一&#xff1a;只上传一个附件场景二&#xff1a;上传固定几个附件场景三&#xff1a;上传动态数量的附件 2.针对以上几种场景&#xff0c;以动态文件数…

【iOS】APP仿写——学生管理系统

前言 学生管理系统和C语言学生管理系统要求相似&#xff0c;需要实现增删改查排序功能&#xff0c;这个仿写比较简单&#xff0c;但通过这个仿写中的限制输入的要求&#xff0c;初步了解了正则表达式。 注册、登陆界面 这个界面和3G share相同&#xff0c;这里就不多做解释了…