给开发者的ChatGPT提示词工程指南

news2024/11/25 20:16:19

ChatGPT Prompt Engineering for Development

基本大语言模型和指令精调大语言模型的区别:
在这里插入图片描述
指令精调大语言模型经过遵从指令的训练,即通过RLHF(基于人类反馈的强化学习)方式在指令上精调过,因而更加有帮助,更加真诚,更不可能产生有害输出。

Two principle

  1. Write clear and specific instructions
  2. give the model time to think

编写清晰且明确的指令

clear不等于short,比较长的指令有可能时更加清晰的。

Tactic 1: Use delimiters(使用分隔符)

Triple quotes: “”"
Triple backtick ```
Triple dashes: —
Angle brackets: <>
XML tags:

使用分隔符可以防止指令注入,即误把目标文本中的指令识别为指令,下图为例:
在这里插入图片描述

Tactic 2: Ask for structure output (寻求格式化输出)

HTML, JSON
在这里插入图片描述

Tactic 3: Check Whether conditions are satisfied(检查必要条件是否满足)

Check assumptions required to do the task
在这里插入图片描述
必要条件无法满足时,可指令模型提前终止,这样可以避免无效输出,并可以节省计算资源。

Tactic 4: Few-shot prompting (少样本提示)

Given successful examples of completing tasks. Then ask model to perform the task.
给模型成功执行任务的示例,让模型照做。
在这里插入图片描述

give the model time to think(给与模型足够时间思考)

Tactic 1: Specify the steps to complete a task(指定完成任务的详细步骤)

Step1: …
Step2: …

Step N: …

Tactic 2: Intruct the model to work out its own solution before rushing to a conclusion (判别任务可以让模型先思考解决方案再以解决方案为依据进行判别)

判定学生回答是否正确场景下,先让模型自己回答问题,进而让模型比较学生回答和自己回答是否一致,以推断学生回答是否正确

Model Limitations

Hallucination (幻觉现象)
Makes statements that sound plausible but are not true.
做出看上去合理的回复但是不是真实的。

Reducing Hallucinations:
First find relevant information, then answer the question based on th relevant information.
通过首先寻找相关信息,再做出解答,有助于减轻幻觉现象

提示词迭代开发流程

在这里插入图片描述
提示词指引:

  • 清晰明确
  • 分析导致没有拿到预期输出的原因
  • 优化思路和提示词
  • 重复迭代

通过限定字数让模型输出更加简短,如下:
在这里插入图片描述
也可以替换为Use at most 3 sentence、Use at most 280 characters。

通过指定场景让模型切换视角,提示模型在文本末尾加上一些特殊说明,如下:
在这里插入图片描述

提示模型输出HTML代码(这个有点秀)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
提示词工程师要具备一个良好的迭代流程来产出更好的提示词。

摘要

在这里插入图片描述
在这里插入图片描述
可以指定摘要的用途使得它强调某一部分信息:
在这里插入图片描述
可以提示模型提取部分信息,而不是生成全文摘要:
在这里插入图片描述
可以使用for循环调用批量处理:
在这里插入图片描述

推理

大语言模型的一个优势是端到端应用,而不是pipeline流程应用,后者将一个任务拆分为几个子任务完成,比较繁琐,而且存在错误传播现象。

情感分类

在这里插入图片描述
可以通过限定模型输出来指定标签,相当于是做分类了:
在这里插入图片描述

提取评论者的情感倾向关键词(这个有点厉害,传统的情感分类很难做到):
在这里插入图片描述
判别评论者是否存在某种情绪:
在这里插入图片描述
提取关键信息,直接输出JSON(这才是真正的自然语言处理,有比较现实的应用场景),
在这里插入图片描述
一个提示词获取多维度信息:
在这里插入图片描述
通过提示词提取topic:
在这里插入图片描述
检测特定topic触发事件,是一个实际应用场景示例:
在这里插入图片描述

待更新。。。

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

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

相关文章

OverLeaf(LaTeX在线编辑器)制作项目周报

目录 注册及登录 1、登录官网 2、设置语言 制作周报 1、新建项目 2、整体预览 3、分段解析 3.1 页面大小/页边距 3.2 页眉页脚 3.3 标题样式 3.4 内容分栏显示 3.5 调整行间距 3.6 插入图片 3.7 图片和文字排版 3.8 分页 3.9 标题和内容 4、编译和导出 4.1 编…

hutool poi、apache poi实现导入导出以及解析excel

一、前言 看了例子之后后续需要更加深入学习或者更多理解其他API的话&#xff0c;建议看官方文档。hutool项目是中国人维护的&#xff0c;有中文文档&#xff0c;阅读起来很方便。apache poi比较底层一点&#xff0c;可以更加自由去二次开发自己所需的功能。 hutool官方文档 …

zkML零知识机器学习介绍

1. 引言 零知识证明技术的2大基石为&#xff1a; 1&#xff09;succinctness&#xff1a;相比于直接运行整个计算本身&#xff0c;验证该计算完整性证明要简单很多。2&#xff09;zero-knowledge&#xff1a;可在不泄露计算隐私的情况下&#xff0c;证明计算的完整性。 生成…

【Java入门】-- Java基础详解之 [数组、冒泡排序]

目录 1.为什么需要数组&#xff1f; 2.数组的介绍 3.数组的快速入门 4.数组的使用 5.动态初始化 6.静态初始化 7.数组的细节 8.数组的赋值机制 9.数组拷贝 10.数组反转 11.二维数组 12.冒泡排序 1.为什么需要数组&#xff1f; 有五个学生&#xff0c;他们英语成绩…

探索不同学习率对训练精度和Loss的影响

验证精度、验证Loss的影响 1 问题 在探索mnist数据集过程中&#xff0c;学习率的不同&#xff0c;对我们的实验结果&#xff0c;各种参数数值的改变有何变化&#xff0c;有何不同。 学习率对精度和损失的影响研究。训练周期100学习率 [0.1, 0.01, 0.001, 0.0001](1) 不同学习率…

蓝牙网关Gateway_数据采集,连接控制,室内定位VDB2602

蓝牙网关&#xff0c;内部集成了WiFi、蓝牙、4G等多种无线通信方式&#xff0c;因此也继承了蓝牙、WiFi的有扫描功能、连接功能、数据透传功能&#xff0c;被应用于智能家居的各种场景中&#xff0c;例如&#xff1a;远程控制BLE装置&#xff0c;接收BLE设备发送的数据&#xf…

线程的创建和使用(一)

1、线程 1.1、线程的概念 一个线程就是一个 "执行流". 每个线程之间都可以按照顺讯执行自己的代码. 多个线程之间 "同时" 执行着多份代码. 1.2、创建线程 方法一&#xff1a;继承Thread类 public class Exe_01 {public static void main(String[] args…

pandas与pyspark计算效率对比

日常工作中&#xff0c;主要还是应用HQL和SparkSQL&#xff0c;数据量大&#xff0c;分布式计算很快&#xff1b; 本地数据处理&#xff0c;一般会使用python的pandas包&#xff0c;api丰富&#xff0c;写法比较简单&#xff0c;但只能利用单核性能跑数&#xff0c;数据量大可…

【MySQL入门】-- 数据库简单的SELECT语句详解

目录 1.SQL分类 2.注释 3.数据导入指令 4.基本的SELECT语句 5.列的别名 6.去重复行 7.显示表结构 8.一些数据库基本操作 1.SQL分类 SQL语言在功能上主要分为三大类&#xff1a; DDL(Data Defintion Language)数据定义语言&#xff1a;定义不同的数据库&#xff0c;表…

【C#】并行编程实战:任务并行性(中)

本章继续介绍任务并行性&#xff0c;因篇幅所限&#xff0c;本章为中篇。 4、取消任务 .NET Framework 提供了以下两个类来支持任务取消&#xff1a; CancellationTokenSource &#xff1a;此类负责创建取消令牌&#xff0c;并将取消请求传递给通过源创建的所有令牌。 Cancell…

关于xinput1_3.dll丢失的详细解决方法

xinput1_3.dll是电脑文件中的dll文件&#xff08;动态链接库文件&#xff09;。如果计算机中丢失了某个dll文件&#xff0c;可能会导致某些软件和游戏等程序无法正常启动运行&#xff0c;并且导致电脑系统弹窗报错。 在我们打开软件或者游戏的时候&#xff0c;电脑提示xinput1_…

8、共享模型之工具

目录 8.1 线程池2、ThreadPoolExecutor&#xff08;及其重要&#xff09;1) 线程池状态2) 构造方法3) newFixedThreadPool4) newCachedThreadPool5) newSingleThreadExecutor6) 提交任务7) 关闭线程池8) 任务调度线程池 8.1 线程池 2、ThreadPoolExecutor&#xff08;及其重要…

中国电子学会2023年05月份青少年软件编程Python等级考试试卷六级真题(含答案)

2023-05 Python六级真题 分数&#xff1a;100 题数&#xff1a;38 测试时长&#xff1a;60min 一、单选题(共25题&#xff0c;共50分) 1. 明明每天坚持背英语单词&#xff0c;他建立了英语单词错题本文件“mistakes.txt”&#xff0c;将每天记错的单词增加到该文件中&…

DuiLib的编译和运行

文章目录 1、原生DuiLib的编译和运行1.1、下载并解压成这个样子1.2、打开.sln解决方案文件1.3、编译成功 2、网易DuiLib编译和运行2.1、下载并解压成这个样子2.2、打开.sln解决方案文件2.3、编译成功 3、腾讯DuiLib编译和运行vs 20173.1、下载并解压成这个样子3.2、打开.sln解决…

使用 Node.js、K8s 和分布式 SQL 构建世界上最具弹性的待办事项列表应用程序

本文演示了如何使用 Kubernetes (K8s) 和分布式 SQL 构建云原生 Node.js 应用程序。 开发可扩展且可靠的应用程序是一项热爱的工作。一个云原生系统可能包括单元测试、集成测试、构建测试&#xff0c;以及用于构建和部署应用程序的完整管道&#xff0c;只需单击一个按钮即可。 …

【计算机网络】第二章应用层-电子科技大学2023期末考试

第二章 应用层 应用层协议原理 网络应用程序体系结构 客户机/服务器体系结构&#xff1a;至少有一个服务器&#xff0c;一个客户机&#xff0c;其中服务器总是打开的&#xff0c;具有固定的众所周知的IP地址&#xff0c;主机群集常被用于创建强大的虚拟服务器&#xff0c;而客…

【Trino实战】Trino下ORC与Parquet查询性能分析

Trino下ORC与Parquet查询性能分析 环境 OS&#xff1a;CentOS 6.5 JDK&#xff1a;1.8 内存&#xff1a;256G 磁盘&#xff1a;HDD CPU&#xff1a;Dual 8-core Intel Xeon CPU (32 Hyper-Threads) E5-2630 v3 2.40GHz HDFS&#xff1a;2.9.2 Hive&#xff1a;2.3.9 T…

[n00bzCTF 2023] CPR 全

Crypto AES 给了java的加密原码&#xff0c;AES加密&#xff0c;有key import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.SecretKeySpec; import java.n…

arima模型原理及实战

目录 1&#xff0c;概念 2&#xff0c;数学知识 3&#xff0c;前提条件 4&#xff0c;序列不平稳时的平稳性方法 5&#xff0c;模型定阶&#xff0c;确定P和Q 6&#xff0c;模型训练与检验 1&#xff0c;概念 ARIMA模型&#xff08;英语&#xff1a;Autoregressive Integr…

grep及文本处理命令

正则表达式 一.基础命令 1.grep命令 对文本的内容进行过滤&#xff0c;针对行处理 1.1grep格式 grep [选项]…查找条件 目标文件 1.2grep命令选项 -m数字——————匹配几次后停止eg&#xff1a;grep -m 1 root /etc/passwd————————————多个匹配只取 -v …