ChatGPT 不好用?那你看下这份 Prompt 工程指南

news2024/11/23 22:23:04

作为大型语言模型接口,ChatGPT 生成的响应令人刮目相看,然而,解锁其真正威力的关键还是在于提示工程。

在本文中,我们将揭示制作提示的专家级技巧,以生成更准确、更有意义的响应。无论你使用 ChatGPT 是为了服务客户、创建内容,还是仅仅为了娱乐,本文提供的知识和工具可以帮助你优化 ChatGPT 的提示。

成本优化

在考虑高级提示时,不经意间很容易生成冗长且占用大量资源的提示,非常不利于成本控制,有一个行之有效的解决方案是:精简提示响应。

精简响应

为了缩减 ChatGPT 响应的长度,你可以在提示中注明长度或字符限制,例如:创建一个不超过 280 个字符的推特帖子。

更通用的方法是,将如下内容添加到提示中:

• Respond as succinctly as possible.(响应尽可能简洁。)

简化提示术语

• Zero-shot(零示例):不需要提供示例。

• One-shot(单示例):只提供一个例子。

• Few-shot(少量示例):提供几个例子。

模式

利用 ChatGPT 生成文本的最佳方法取决于大型语言模型执行的特定任务。如果你不确定使用哪种方法,可以尝试不同的方法,看看哪种方法最适合自己。下面,我们将介绍 5 种方法来帮助你快速上手。

思维链(Chain-of-Thought,CoT)

思维链方法需要为 ChatGPT 提供一些可用于解决特定问题的中间推理步骤示例。

自问法(Self-Ask)

自问法指的是,让模型在回答初始问题之前,先想一想(然后回答),再回答最初的问题。

分步法(Step-by-Step)

分步法指的是向 ChatGPT 提供以下说明:

• Let’s think step by step.(我们来一步步思考。)

实践证明,这种技术可以提高大型语言模型在各种推理任务上的表现,包括算术、常识和符号推理。

OpenAI 利用人类反馈强化学习(Reinforcement Learning from Human Feedback,RLHF)训练了 GPT 模型,因此,ChatGPT 的底层模型与类人的逐步思考方法相一致。

ReAct 法

ReAct(Reason + Act)法指的是结合推理轨迹与特定于任务的操作。推理轨迹帮助模型规划和处理异常,而操作允许它从知识库或环境等外部来源收集信息。

反思法

反思法(Reflexion)建立在 ReAct 模式的基础之上,通过添加动态记忆和自我反思的能力来增强大型语言模型,改进其推理轨迹和特定于任务的动作选择能力。

为了实现全方位自动化,反思法论文的作者引入了一种简单但有效的启发式方法,允许代理识别幻觉,防止重复动作,并在某些情况下创建环境的内部记忆映射。

以上,我们介绍了 5 种最先进的模式,下面我们来看一看与提示工程相关的几种反模式。

反模式

三星等公司已经意识到:不要共享私人或敏感信息。了解员工如何将专有代码和财务信息输入到 ChatGPT 仅仅是个开始。很快,Word、Excel、PowerPoint 以及所有常用的企业软件都会集成类似 ChatGPT 的功能。

将数据输入到 ChatGPT 之类的大型语言模型之前,请确保制定好政策。需要注意的是,OpenAI API 的数据使用政策明确指出:

“默认情况下,OpenAI不会使用客户通过我们的API提交的数据来训练OpenAI的模型或改进OpenAI的服务产品。”

“OpenAI API的数据将保留30天,用于监控滥用和误用。个别有授权的OpenAI员工以及保密和安全义务约束的专业第三方承包商可以访问此数据,仅用于调查和验证涉嫌滥用行为。”

提示注入

正如你需要保护数据库免受 SQL 注入攻击一样,请务必确保你向用户公开的任何提示免受提示注入的攻击。此处的“提示注入”指的是,一种通过向提示中注入恶意代码来操纵语言模型输出的技术。

第一个记录在案的提示注入是由 Riley Goodside 提出的,他只是在提示前添加了下面这句话:

“Ignore the above directions”(忽略上述指示)。

然后再给出想要的动作,从而成功地让 GPT-3 执行任意动作。

提示泄露

同理,提示不仅会被忽略,还有可能被泄露。

提示泄露是一个安全漏洞,攻击者可以提取模型自带的提示,Bing 在发布自己的 ChatGPT 集成后不久后,就遇到了这样的情况。

从广义上讲,提示注入和提示泄漏大致如下所示:

虽然总有一些行为不端者希望利用你公开的提示,但就像通过准备好的语句防止 SQL 注入一样,我们也可以创建防御性的提示来对抗不良提示。

三明治防御

三明治防御就是这样的一种技术,你可以将用户的输入与你的提示目标“夹在中间”。

总结

ChatGPT 响应是不确定的,这意味着即使输入相同的提示,模型也有可能返回不同的响应。为了应对不确定性结果的不可预测性,你可以在使用OpenAI API时,将参数 temperature 设置为零或很低的值。

你可以自由尝试本文介绍的提示技巧,但是,在探索时请记住大型语言模型的不确定性:

• ChatGPT(ai.com):OpenAI 的公共聊天机器人界面。

• OpenAI Playground:注册 OpenAI API 密钥后,你可以通过 OpenAI 的 playground 测试你的提示和相应的参数,例如参数temperature等。

• Vercel AI Playground:免费的练习场所。你可以比较多个大型语言模型的提示结果,包括 GPT-4 和 Anthropic 的 Claude 等。

• OpenAI API JavaScript Jumpstart(需要 OpenAI API 密钥):我开源的一个 UI,你可以全权控制 OpenAI 的提示、呈现方式并计算每个提示的成本。

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

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

相关文章

用格林童话教你1分钟清晰JS加密

在许多格林童话中,我们可以看到许多隐藏的玄机和谜题,就像JavaScript代码一样。为了保护您的代码安全,我们可以使用JavaScript混淆加密技术来隐藏代码中的逻辑和关键信息。在本文中,我们将以“灰姑娘”为例,介绍如何使…

【视频解读】动手学深度学习V2_00预告

00预告 【动手学深度学习V2】 深度学习是人工智能最热的领域,在过去十年,人工智能的主要突破都来自于深度学习。 深度学习的核心是神经网络,它与人工智能的其他领域不一样的是,神经网络是一个非常灵活的框架,它允许我…

typescript is类型谓词

一、类型谓词是干嘛的? 类型谓词可以有效的帮助我们根据条件缩小类型范围(narrowing)。它与 typeof、instanceof、in类似。但是不同的是typeof、instanceof、in关键字在js中已经是存在的,在ts中使用它们,进行类型收缩…

为什么北欧的顶级程序员数量远远超于中国?

说起北欧,很多人会想到寒冷的冬天,漫长的极夜,童话王国和圣诞老人,但是如果我罗列下诞生于北欧的计算机技术,恐怕你会惊掉下巴,先来看一些人物介绍: Linus Torvalds:是芬兰籍的计算…

人才引进都选什么大学,哪些世界大学排名更靠谱?

最近几年,全国各地都在加大力度引进人才。上海市2020年首先推出留学生落户政策,毕业于世界排名前50名大学的留学生可直接申办落户,毕业于51-100名大学的,缴纳社保满6个月后可申办落户。 国家人事部门也确定了留学生“国家引进人才…

Portraiture4.03一款适用于PS与LR的智能AI磨皮修饰滤镜插件

一款好的图片磨皮软件可以解放修图者的双手,减去繁琐的抠图操作,轻松去除人像脸部的瑕疵。经典而实用的portraiture图片磨皮软件,是人像修图的颇佳选择。 Portraiture 4 是专为人像磨皮开发的经典滤镜,多年以来已经成为人像后期基…

不懂新经济的周黑鸭,陷入“诺基亚式”困境

2022年,卤味巨头们的日子并不好过。曾经创造辉煌业绩的卤味三巨头绝味、周黑鸭、煌上煌,如今都处于业绩下滑的困境之中,巨头自救已然迫在眉睫,其中周黑鸭正在接受挑战的路上。 近期,周黑鸭在武汉举办首届单店特许领袖峰…

YOLO系列损失函数详解

YOLOV1 YOLOV1最后生成77的网格(grid cell),每个grid cell会产生两个预测框(bounding box),每个grid cell产生的两个预测框只能预测同一种类物体,也就是说YOLOV1最多只能预测49种物体,两个预测框中哪一个与标注框的IOU大就选哪一个…

创新案例 | Web3典范BrainTrust如何打造DAO增长飞轮3年扩张50倍

BrainTrust是一家创新的多边平台,类似于去中心化的BOSS直聘。在过去三年中,BrainTrust取得了惊人的增长,总服务价值增长了50倍以上。这家公司的增长模式非常独特,使得它的增长飞轮一路狂飙。在2022年,BrainTrust的成绩…

IP地址是如何定位的

IP地址是互联网中计算机的唯一标识,它由32位二进制数组成,分为四个8位的数字,每个数字之间用"."隔开,例如:106.110.92.215。IP地址的归属地指的是这个IP地址所在的地理位置,对于网络安全、网络监…

巧用语言模型——让准确率再涨一点点!

还记得在去年,我们曾经发过一篇文章介绍 icefall 中的语言模型使用方法:升点小技巧之—在icefall中巧用语言模型。如今半年过去了,k2 团队又有了一些新进展。今天来给大家做一个小小的总结,再给大家的模型涨涨点(又又又…

【问题解决】小米 升级后蓝牙关闭后 早上自动打开怎么办?

目录 原理 连接态: 半连接态:​编辑 关闭态:​编辑 重点来了 升级小米MIUI 14后,发现蓝牙无法关闭,每天睡觉前点击关闭,第二早上它又自动打开,感觉 手机中毒了!! 经过一番研究,搞…

YOLOv6 4.0 使用记录: OpenCV DNN C++推理

目录 1、下载源码 2、下载权重文件 3、配置环境 4、推理 6、ONNX格式导出 权重文件为yolov6list_s.pt 权重为yolov6.pt 7、opencv DNN推理 8、个人总结 1、下载源码 下载最新的4.0版本的 2、下载权重文件 我下的是YOLOv6Lite-S 3、配置环境 cd到项目目录,运…

国民技术N32G430开发笔记(16)- IAP升级 整合多个bin文件为一个升级包

IAP升级 整合多个bin文件为一个升级包 1、我们的程序分区目前为: Boot 0x8000000 – 0x8004000 16KB Settings 0x8004000 – 0x8006000 8KB App 0x8006000 – 0x800B000 20KB Download 0x800B000 – 0x800FFFF 20KB 2、烧录时候的bin文件有三个: Bootl…

Docker笔记整理

安装Docker 通过 uname -r 命令查看你当前的内核版本 uname -r 使用 root 权限登录 Centos。确保 yum 包更新到最新 yum -y update 卸载旧版本(如果安装过旧版本的话) yum remove docker docker-common docker-selinux docker-engine 安装需要的软件包, yum-u…

Web前端已死?别带节奏了,说白了就是“卷”

趁着“前端已死”这个话题还有点热度,我想再好好聊聊这个话题。社区里怎么只有前端已死的论调,后端、DB、运维、连原生开发还在好好“划水”。前端却发出了哀嚎:前端已死,找工作好难啊。 前端技术精微渊深,除了基础的…

( 数组和矩阵) 766. 托普利茨矩阵 ——【Leetcode每日一题】

❓766. 托普利茨矩阵 难度:简单 给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。 如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。…

【Python习题集7】Python对CSV文件数据进行可视化

csv可视化 一、实验内容二、实验总结 一、实验内容 1、datal.csv中的B、C、D和E列数据分别是日期、权重、A企业的销售额、B企业的销售额。读取C、D、E列数据,并统计E列数据的算术平均数、加权平均值(权值为C列数据)、方差、中位数、最小值、最大值。并绘制E列数据的…

MyBatis:使用 MyBatis 实现多表查询(多对一和一对多)、动态 SQL、缓存

文章目录 MyBatis:Day 03一、复杂查询的环境搭建二、多表查询1. 多对一:关联(1)联表查询(2)子查询 2. 一对多:集合(1)联表查询(2)子查询 3. 总结 …

JavaScript学习(一)

一、JavaScript的背景及知识结构 1、三个问题 什么是JavaScript?JavaScript能干什么?JavaScript是由什么构成的?怎样学习JavaScript? 2、什么是JavaScript? ①JavaScript是一种轻量级的编程语言;借鉴了J…