当前位置: 首页 > news >正文

【大模型】3分钟了解提示(Prompt)工程、检索增强(RAG)和微调

我们先看下面这个图:
在这里插入图片描述
简单理解大模型是通过海量训练数据训练出来的,它的能力非常强,但是有时候会给出错误的回答。那产生错误的原因可能是什么呢?

1.提问错误(提示工程)

在我们提问的方式不对的情况下,大模型可能会给出不合理的回答,利用提示工程来提升大语言模型处理复杂任务场景的能力,如问答和算术推理能力。

2. 缺乏相关知识(检索增强-RAG)

另外一个原因可能是大模型的虽然是通过海量数据训练,但它的训练数据大部分是互联网公开数据,且数据有时效性,一些垂直领域的知识和实时性的知识它是缺乏的。利用检索增强(RAG)先检索相关知识,把相关知识通过prompt提供给大模型,再生成答案往往能得到解决。

3. 模型能力不足(微调)

大模型的在通用场景时有不错的能力,但是可能会缺乏特定领域的解决能力,例如:医学、金融领域等。通过提供特定领域的知识对模型进行微调训练,让模型记住特定领域的知识,可以有效减少对应领域的幻觉。

附录

  1. 提示工程(Prompt Engineering)

    • 是什么?
      • 提示工程是通过精心设计输入给语言模型,以获得更好的输出结果。
    • 适合场景:
      • 当你需要快速尝试不同任务,或者不想修改模型时。
      • 适用于生成文本、回答问题等任务。
  2. 检索增强生成(RAG)

    • 是什么?
      • RAG结合了信息检索和文本生成,首先从数据库中检索相关信息,再用生成模型产生答案。
    • 适合场景:
      • 当需要结合外部知识库或文档进行回答时。
      • 适用于问答系统、文档摘要等。
  3. 微调(Fine-tuning)

    • 是什么?
      • 微调是在特定任务或数据集上进一步训练预训练模型,使其更适合特定应用。
    • 适合场景:
      • 当你有特定领域的数据,并希望模型在该领域表现更好时。
      • 适用于情感分析、特定领域的文本生成等。

对比表格

特性提示工程RAG微调
操作难度
灵活性
依赖数据无需额外数据需要外部知识库需要特定领域数据
适应性一般
响应速度
开发成本
适用场景快速原型开发需要外部信息的复杂任务特定领域的精准任务

应用场景选择

  • 使用提示工程:

    • 当需要快速试验不同任务,或在没有特定数据的情况下进行文本生成。
  • 使用RAG:

    • 当任务需要结合外部文档或知识库来提供更准确的信息时。
  • 使用微调:

    • 当有足够的特定领域数据,并需要模型在该领域达到最佳性能时。

参考资料:

  • 通俗易懂理解提示工程、RAG和微调
  • 提示工程指南

相关文章:

【大模型】3分钟了解提示(Prompt)工程、检索增强(RAG)和微调

我们先看下面这个图: 简单理解大模型是通过海量训练数据训练出来的,它的能力非常强,但是有时候会给出错误的回答。那产生错误的原因可能是什么呢? 1.提问错误(提示工程) 在我们提问的方式不对的情况下&a…...

太速科技-509-基于XCVU13P的4路QSFP28光纤PCIeX16收发卡

基于XCVU13P的4路QSFP28光纤PCIeX16收发卡 一、板卡概述 基于XCVU13P的4路QSFP28光纤PCIeX16收发卡。该板卡要求符合PCIe 3.0标准,包含一片XCVU13P-2FLGA2014I、4组64-bit/8GB DDR4;4路QSFP28 4X光纤,每路光纤支持4X25Gbps&#…...

C#从零开始学习(基本语法概念)(2)

深入C# 本章所有的代码都放在 https://github.com/hikinazimi/head-first-Csharp 控制台项目结构 每个C#程序采用同样的方式组织,命名空间,类和方法 using System;namespace helloworld//命名空间 {class Program//类{static void Main(string[] args)//程序入口{Console.Writ…...

基于SSM+微信小程序的家庭记账本管理系统(家庭1)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 1、管理员端功能有首页、个人中心、用户管理,消费详情管理、收入详情管理、系统管理等。 2、用户端功能有首页、消费详情、收入详情、论坛信息、我的等功能。 2、项目技术 …...

MEMC功能详解

文章目录 MEMC的工作原理:优点:缺点:适用场景:1. Deblur(去模糊)2. Dejudder(去抖动)总结两者区别: MEMC(Motion Estimation and Motion Compensation&#x…...

C++ | Leetcode C++题解之第493题翻转对

题目&#xff1a; 题解&#xff1a; class BIT { private:vector<int> tree;int n;public:BIT(int _n) : n(_n), tree(_n 1) {}static constexpr int lowbit(int x) {return x & (-x);}void update(int x, int d) {while (x < n) {tree[x] d;x lowbit(x);}}in…...

Git 修改分支名

在Git中修改分支名称&#xff0c;可以使用以下步骤&#xff1a; 切换到要重命名分支之外的其他分支&#xff1a; git checkout <其他分支名>重命名本地分支&#xff1a; git branch -m <旧分支名> <新分支名>如果需要删除远程的旧分支并创建新分支&#xff1…...

[自动化测试:Selenium]:环境部署和Webdriver的使用

文章目录 修改安装源打开Python Packages。点击梅花按钮。在弹出的对话框中&#xff0c;填入Name&#xff08;随便填&#xff09;&#xff0c;Repository URL&#xff0c;选择下列的源&#xff0c;一般先选择清华源按OK确认。配置完成 安装seleniumFile→Settings→Project&…...

51单片机——OLED显示图片

取模软件&#xff1a;链接:https://pan.baidu.com/s/1UcrbS7nU4bsawNxsaaULfQ 提取码:gclc 1、如果图片大小和格式不合适&#xff0c;可以先用Img2Lcd软件进行调整图片大小&#xff0c;一般取模软件使用的是.bmp图片&#xff0c;可以进行输出.bmp格式。软件界面如下&#xff1…...

Gin 协程mysql客户端

一、Gin框架 mysql配置 这里选择yaml文件配置 二、配置读取 viper 读取yaml文件中对应配置 三、mysql 的协程客户端 文件位置 package databaseimport ("database/sql""fmt""github.com/spf13/viper""log""net/http"&quo…...

量子门电路开销——T门、clifford门、toffoli门、fredkin门

在量子计算中&#xff0c;T门的成本比Clifford门高出很多倍的原因与量子计算中纠错的实现、物理门操作的复杂性以及容错量子计算架构中的成本评估有关。以下是几个关键原因&#xff0c;解释了为什么 T 门的成本在量子计算中远远高于 Clifford 门&#xff1a; 1. T 门和 Cliffo…...

C++之《剑指offer》学习记录(1):类型转换关键字

笔者最近在找工作时&#xff0c;无意间读到了一本名为《剑指offer》的书&#xff0c;粗略翻阅了一下&#xff0c;感觉这将会是一本能让我不再苦恼于笔试和面试“手搓代码”的书。故笔者写下该系列博客记录自己的学习历程&#xff0c;希望能和这本书的读者朋友们一起交流学习心得…...

【Linux】平台设备驱动

在设备驱动模型中&#xff0c;引入总线的概念可以对驱动代码和设备信息进行分离。但是驱动中总线的概念是软件层面的一种抽象&#xff0c;与我们SOC中物理总线的概念并不严格相等。 物理总线&#xff1a;芯片与各个功能外设之间传送信息的公共通信干线&#xff0c;其中又包括数…...

【Linux】命令行参数环境变量

文章目录 命令行参数环境变量环境变量的概念常见环境变量查看环境变量测试PATH修改PATH HOME和环境变量相关的命令环境变量是如何被组织的通过系统调用putenv和getenv获取或设置环境变量环境变量通常是具有全局属性的普通变量与环境变量的区别 命令行参数 main函数有三种形式&…...

libaom 源码分析:twopass_encoder.c 文件

libaom libaom 是 AOMedia&#xff08;开放媒体联盟&#xff09;开发的一个开源视频编解码器库&#xff0c;它是 AV1 视频压缩格式的参考实现&#xff0c;并被广泛用于多种生产系统中。libaom 支持多种功能&#xff0c;包括可扩展视频编码&#xff08;SVC&#xff09;、实时通信…...

ruoyi同时支持mysql+sqlserver+oracle+postgresql

需求背景 最近需要一个小demo,项目中需要同时连接sqlserver和mysql数据库。 操作教程 1、pom.xml -- 修改common/pom.xml<!-- 动态数据源 --> <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-star…...

微信小程序绘制轨迹

1、map | uni-app官网 根据官网描述&#xff1a;通过从数据库获取POI数据&#xff0c;并通过 uni-id-common 内的路线规划API&#xff0c;计算路线、距离、时间。 2、 <map style"width:100%;height:96%;" id"myMap" :scale"scale" :longi…...

UNION 联合查询

1.UNION ALL联合查询 同样为了演示方便&#xff0c;先向 teacher 表插入多条测试数据&#xff1a; INSERT INTO teacher (name,age,id_number,email) VALUES (姓名一,17,42011720200604077X,NULL), (姓名二,18,42011720200604099X,123qq.com), (姓名三,19,42011720200604020X…...

blender 理解 积木组合 动画制作 学习笔记

一、学习blender视频教程链接 案例2&#xff1a;积木组合_动画制作_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Bt4y1E7qn?vd_sourced0ea58f1127eed138a4ba5421c577eb1&p10&spm_id_from333.788.videopod.episodes 二、说明 之前已经学习了如何制作积木组…...

关于 FreeSWITCH mod_sofia 注册过期时间的测试

FreeSWITCH 版本&#xff1a;1.10.12&#xff0c;以下简称 Fs SIP 终端&#xff1a;Eyebeam 1.5.14.4 Eyebeam 设置注册的过期时间为 30 Fs 设置为 120&#xff0c;下面是详细配置&#xff1a; <param name"sip-force-expires-max" value"120"/>…...

告别环境冲突|Anaconda实战:AI开发全流程(数据→训练→部署)环境标准化指南,建议收藏

摘要&#xff1a;告别环境冲突、依赖地狱、复现失败&#xff01;本文以 Anaconda 为核心&#xff0c;打造一套可复制、可迁移、可团队协作的 AI 全流程标准化方案&#xff0c;覆盖环境初始化→数据预处理→模型训练→打包部署&#xff0c;一套流程通吃个人实验与工程落地。前言…...

app启动自启动后无法重启后启动

开启High background power usage 可以就可以了有时候&#xff0c;只是因为手机需要一定的初始化时间&#xff0c;等1分钟就启动了。...

两相交错并联同步整流双向Buck Boost变换器仿真研究

两相交错并联同步整流双向Buck Boost变换器仿真 所有开关管均可实现ZVs软开关 Buck模式 输入&#xff1a;200-360VDC 额定280VDC 输出&#xff1a;140VDC 10A 开关频率&#xff1a;10kHz Boost模式&#xff1a; 输入&#xff1a;120-160VDC 额定140VDC 输出&#xff1a;280VDC…...

BetterJoy全场景应用指南:从问题诊断到多设备协同的完整解决方案

BetterJoy全场景应用指南&#xff1a;从问题诊断到多设备协同的完整解决方案 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gi…...

基于MAKLINK图理论的混合蚁群算法与Dijkstra算法在二维空间路径规划中的优化实现

【蚁群算法】/改进蚁群算法/Dijkstra算法/遗传算法/人工势场法实现二维/三维空间路径规划 本程序为蚁群算法Dijkstra算法MAKLINK图理论实现的二维空间路径规划 算法实现&#xff1a; 1&#xff09;基于MAKLINK图理论生成地图&#xff0c;并对可行点进行划分&#xff1b; 2&…...

ROS2 Jazzy机器人导航避坑指南:详解Navigation2参数配置中那些容易出错的‘坑’

ROS2 Jazzy导航系统参数配置实战&#xff1a;从踩坑到精通的避坑手册 当你第一次打开ROS2 Jazzy的Navigation2参数配置文件时&#xff0c;是否感觉像是面对一本没有注释的古老秘籍&#xff1f;那些看似简单的参数背后&#xff0c;往往隐藏着让机器人"发疯"的陷阱。本…...

LuatOS固件玩转多摄像头:Air8101开发板的USB端口切换技巧大全

LuatOS固件玩转多摄像头&#xff1a;Air8101开发板的USB端口切换技巧大全 在工业检测和安防监控领域&#xff0c;多摄像头系统的动态切换能力往往决定着整个方案的灵活性与可靠性。Air8101开发板搭载LuatOS固件后&#xff0c;其USB端口管理功能为开发者提供了前所未有的摄像头控…...

异步编程中的重试策略:backoff与asyncio完美结合

异步编程中的重试策略&#xff1a;backoff与asyncio完美结合 【免费下载链接】backoff Python library providing function decorators for configurable backoff and retry 项目地址: https://gitcode.com/gh_mirrors/bac/backoff 在现代Python异步编程中&#xff0c;处…...

第二部分:为什么要引入 Harness?

一个类比:把新手丢进没有文档的项目 想象你是一个刚入职的工程师,被丢进一个没有任何文档的项目里。 没有 README,代码里没有注释,没有人告诉你怎么跑测试,CI 配置文件藏在某个角落里。你能写出好代码吗? 也许能——如果你足够聪明又足够有耐心。但你会花大量时间在&q…...

7个实用技巧:用immich实现自托管相册智能管理 | 隐私保护与高效共享指南

7个实用技巧&#xff1a;用immich实现自托管相册智能管理 | 隐私保护与高效共享指南 【免费下载链接】immich High performance self-hosted photo and video management solution. 项目地址: https://gitcode.com/GitHub_Trending/im/immich 你是否曾在数千张照片中艰难…...