OpenAI发布GPT-4.0使用指南

大家好,ChatGPT 自诞生以来,凭借划时代的创新,被无数人一举送上生成式 AI 的神坛。在使用时,总是期望它能准确理解我们的意图,却时常发现其回答或创作并非百分之百贴合期待。这种落差可能源于我们对于模型性能的过高期望,亦或者在使用时未能找到最有效的沟通途径。

正如探险者需要时间适应新的地形,与 ChatGPT 的互动也需要耐心和技巧,此前 OpenAI 官方发布了 GPT-4 使用指南 Prompt engineering,这里面记载了驾驭 GPT-4 的六大策略,本文将对其进行介绍,助力与 ChatGPT 的交互沟通。

1.写出清晰指令

描述详细的信息

ChatGPT 无法判断我们隐含的想法,所以应该尽可能明确告知要求,如回复的长短、写作的水平、输出的格式等。越少让 ChatGPT 去猜测和推断意图,输出结果满足要求的可能性越大。例如,当让他写一篇心理学的论文,给出的提示词应该长这样:

请帮助我撰写一篇有关「抑郁症的成因及治疗方法」的心理学论文,要求:需要查询相关文献,不能抄袭或剽窃;需要遵循学术论文格式,包括摘要、引言、正文、结论等部分;字数 2000 字以上。

图片

让模型扮演某个角色

术业有专攻,指定模型扮演专门的角色,它输出的内容会显得更加专业。

例如:请你扮演一名警探小说家,用柯南式推理描述一起离奇命案。要求:需匿名处理,字数 1000 字以上,剧情跌宕起伏。

图片

使用分隔符清楚地划分不同部分

三引号、XML 标签、节标题等分隔符可以帮助划分需要区别对待的文本节,帮助模型更好地消除歧义。

图片

指定完成任务所需的步骤

将部分任务拆成一系列条例清晰的步骤,这样更有利于模型执行这些步骤。

图片

提供示例

提供适用于所有示例的一般性说明通常比通过示例演示更有效,但在某些情况下提供示例可能更容易。

如果告诉模型要学会游泳,只需要踢腿和摆动手臂,这就是一个一般性的说明。而如果给模型展示一个游泳的视频,展示踢腿和摆动手臂的具体动作,那就是通过示例来说明。

指定输出长度

我们可以告诉模型,希望它生成的输出有多长,这个长度可以以单词、句子、段落、要点等方式进行计数。

受限于模型内部机制和语言复杂性的影响,最好还是按照段落、要点来划分,这样效果才会比较好。

2.提供参考文本

让模型使用参考文本回答

假如我们手头上有更多参考信息,可以「喂」给模型,并让模型使用提供的信息来回答。

图片

让模型引用参考文本来回答

如果输入中已经包含了相关的知识文档,用户可以直接要求模型通过引用文档中的段落来为其答案添加引用,尽可能减少模型胡说八道的可能性。

在这种情况下,输出中的引用还可以通过编程方式验证,即通过对所提供文档中的字符串进行匹配来确认引用的准确性。

图片

3.复杂任务拆分简单子任务

使用意图分类来识别与用户查询最相关的指令

处理那些需要很多不同操作的任务时,可以采用一个比较聪明的方法。首先把问题分成不同的类型,看看每一种类型需要什么操作,这就好像在整理东西时,先把相似的东西放到一起。

接着可以给每个类型定义一些标准的操作,就像给每类东西贴上标签一样,这样一来,就可以事先规定好一些常用的步骤,比如查找、比较、了解等。

而这个处理方法可以一层层地递进,如果想提出更具体的问题,就可以根据之前的操作再进一步细化。这么做的好处是,每次回答用户问题时,只需要执行当前步骤需要的操作,而不是一下子把整个任务都做了。这不仅可以减少出错的可能性,还能更省事,因为一次性完成整个任务的代价可能比较大。

图片

处理很长对话应用场景的简化

模型在处理对话时,受制于固定的上下文长度,不能记住所有的对话历史。想要解决这个问题,其中一种方法是对之前的对话进行总结,当输入的对话长度达到一定的限制时,系统可以自动总结之前的聊天内容,将一部分信息作为摘要显示,或者可以在对话进行的同时,在后台悄悄地总结之前的聊天内容。

另一种解决方法是在处理当前问题时,动态地选择与当前问题最相关的部分对话,这个方法涉及到一种叫做「使用基于嵌入的搜索来实现高效的知识检索」的策略。

简单来说,就是根据当前问题的内容,找到之前对话中与之相关的部分。这样可以更有效地利用之前的信息,让对话变得更有针对性。

分段总结长文档并递归构建完整摘要

由于模型只能记住有限的信息,不能直接用来总结很长的文本,为了总结长篇文档,可以采用一种逐步总结的方法。

就像阅读一本书时,可以通过一章又一章地提问来总结每个部分。每个部分的摘要可以串联起来,形成对整个文档的概括。这个过程可以一层一层地递归,一直到总结整个文档为止。

如果需要理解后面的内容,可能会用到前面的信息。在这种情况下,另一个有用的技巧是在阅读到某一点之前,先看一下摘要,并了解这一点的内容。

4.给模型时间思考

指示模型得出结论前提供解决方案

有时直接让模型判断学生的答案,它可能判断不准确,为了让模型更准确,可以先让模型自己做一下这个数学题,先算出模型自己的答案来,然后再让模型对比一下学生的答案和模型自己的答案。

先让模型自己计算,它就更容易判断出答案,让模型从最基本的第一步开始思考,而不是直接判断答案,可以提高模型的判断准确度。

图片

使用内心独白隐藏模型的推理过程

有时候在回答特定问题时,模型详细地推理问题是很重要的。但对于一些应用场景,模型的推理过程可能不适合与用户共享。

为了解决这个问题,有一种策略叫做内心独白。这个策略的思路是告诉模型把原本不想让用户看到的部分输出整理成结构化的形式,然后在呈现给用户时,只显示其中的一部分,而不是全部。

例如,假设我们在教某个学科,要回答学生的问题,如果直接把模型的所有推理思路都告诉学生,学生就不用自己琢磨了,所以我们可以用内心独白这个策略:先让模型完整思考问题,把解决思路都想清楚,然后只选择模型思路中的一小部分,用简单的语言告诉学生。

或者可以设计一系列的问题:先只让模型自己想整个解决方案,不让学生回答,然后根据模型的思路,给学生出一个简单的类似问题,学生回答后,让模型评判学生的答案对不对。最后模型用通俗易懂的语言,给学生解释正确的解决思路,这样就既训练了模型的推理能力,也让学生自己思考,不会把所有答案直接告诉学生。

图片

询问模型是否遗漏内容

假设让模型从一个很大的文件里,找出跟某个问题相关的句子,模型会将句子告诉我们。但有时候模型判断失误,在本来应该继续找相关句子的时候就停下来了,导致后面还有相关的句子被漏掉。

这个时候,就可以询问模型是否还有其他相关的句子,接着它就会继续查询相关句子,模型就能找到更完整的信息。

5.使用外部工具

使用基于嵌入的搜索实现高效的知识检索

如果在模型的输入中添加一些外部信息,模型就能更聪明地回答问题。比如,用户问有关某部电影的问题,可以把电影的一些重要信息(比如演员、导演等)输入到模型里,这样模型就能给出更准确的答案。

文本嵌入是一种能够度量文本之间关系的向量。相似或相关的文本向量更接近,而不相关的文本向量则相对较远,这意味着我们可以利用嵌入来高效地进行知识检索。

具体来说,我们可以把文本语料库切成块,对每个块进行嵌入和存储。然后,我们可以对给定的查询进行嵌入,并通过矢量搜索找到在语料库中最相关的嵌入文本块(即在嵌入空间中最接近查询的文本块)。

使用代码执行准确计算或调用外部 API

语言模型并不总是能够准确地执行复杂的数学运算或需要很长时间的计算,在这种情况下可以告诉模型写一些代码来完成任务,而不是让它自己去做计算。

具体做法是,可以指导模型把需要运行的代码按照一定的格式写下,比如用三重反引号包围起来。当代码生成结果后,提取出来并执行。

最后,可以把代码执行引擎(比如 Python 解释器)的输出当作模型下一个问题的输入,这样就能更有效地完成一些需要计算的任务。

图片

另一个很好的使用代码执行的例子是使用外部 API(应用程序编程接口),如果告诉模型如何正确使用某个 API,它就可以写出能够调用该 API 的代码。

可以给模型提供一些展示如何使用 API 的文档或者代码示例,引导模型学会利用这个 API。简单说,通过给模型提供一些关于 API 的指导,它就能够创建代码,实现更多的功能。

图片

警告:执行由模型生成的代码本质上是不安全的,任何尝试执行此操作的应用程序都应该采取预防措施,需要使用沙盒代码执行环境来限制不受信任的代码可能引起的潜在危害。

让模型提供特定功能

通过 API 请求,向模型传递一个描述功能的清单,进而能够根据提供的模式生成函数参数。生成的函数参数将以 JSON 格式返回,再利用它来执行函数调用。

把函数调用的输出反馈到下一个请求中的模型里,就可以实现一个循环,这就是使用 OpenAI 模型调用外部函数的推荐方式。

6.系统测试变更

对一个系统做修改时,很难判断这些修改是好是坏,有时候修改在某些情况下是好的,在其他情况下是坏的。

为了评价系统输出的质量,若问题只有一个标准答案,计算机可以自动判断对错,没有标准答案可以用其他模型来判断质量。

此外可以让人工来评价主观的质量,又或者计算机和人工结合评价当问题的答案很长时,不同的答案质量差别不大,这时就可以让模型来评价质量。

随着模型变得更先进,可以自动评价的内容会越来越多,需要人工评价的越来越少,评价系统的改进非常难,结合计算机和人工是最好的方法。

图片

在和 ChatGPT 人机交流的过程中,提示词看似简单,却又是最为关键的存在。在数字时代,提示词是拆分需求的起点,通过设计巧妙的提示词,我们可以将整个任务拆分成一系列简明的步骤。

这样的分解不仅有助于模型更好地理解用户的意图,同时也为用户提供了更为清晰的操作路径,就好像给定了一个线索,引导一步步揭开问题的谜底。

你我的需求如同涌动的江河,而提示词就像是调节水流方向的水闸,它扮演着枢纽的角色,连接着用户的思维与机器的理解。毫不夸张地说,一个好的提示词既是对用户深度理解的洞察,也是一种人机沟通的默契。

当然,要想真正掌握提示词的使用技巧,仅依靠 Prompt engineering 还远远不够,但 OpenAI 官方的使用指南总归提供了宝贵的入门指引。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【R语言数据分析】函数

目录 自定义函数 apply函数 分类汇总函数aggregate 自定义函数 R语言中的自定义函数更像是在自定义一种运算规则。 自定义函数的语法是 函数名 函数体 } 比如 表示定义了一个名为BMI_function的函数,这个函数代表了一种运算规则,就是把传入的x和…

如何处理微服务之间的通信和数据一致性?

✨✨祝屏幕前的兄弟姐妹们每天都有好运相伴左右,一定要天天开心哦!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 一、微服务通信 1、同步通信:HTTP 1.1.同步通信示例代码&#xf…

记录几种排序算法

十种常见排序算法可以分类两大类别:比较类排序和非比较类排序。 常见的快速排序、归并排序、堆排序以及冒泡排序等都属于比较类排序算法。比较类排序是通过比较来决定元素间的相对次序,其时间复杂度不能突破 O(nlogn)。在冒泡排序之类的排序中&…

项目经理【人】原则

系列文章目录 【引论一】项目管理的意义 【引论二】项目管理的逻辑 【环境】概述 【环境】原则 【环境】任务 【环境】绩效 【人】概述 【人】原则 一、共创模式 1.1 共创模式 二、干系人的影响力强度和态度 2.1 干系人影响力 2.2 干系人态度 2.3 干系人管理 三、干系人权力…

夏目友人帐所有妖怪名单

夏目友人帐妖怪名单 夏目友人帐 第一季 2008.07.07第1话:猫和友人帐 / 猫と友人帐 菱垣 狞影 斑第2话:露神之祠 / 露神の祠 露神 濯第3话:八原的怪人 / 八ツ原の怪人 一只目 牛头(中级妖怪)第4话:时雨与少女…

OceanBase 助力同方智慧能源,打造安全可靠、高性能的能源数据架构

本文作者:丁泽斌,同方智慧能源数据库工程师 业务背景 作为同方股份有限公司旗下的领军企业,同方智慧能源集团矢志成为全球领先的综合智慧能源解决方案提供商。凭借中核集团和清华大学的科技实力,专注于向建筑、交通、工业、北方供…

Initialize failed: invalid dom.

项目场景: 在vue中使用Echarts出现的错误 问题描述 提示:这里描述项目中遇到的问题: 例如:在vue中使用Echarts出现的错误 ERROR Initialize failed: invalid dom.at Module.init (webpack-internal:///./node_modules/echarts…

放下洒脱,活出勇气 -java面试我来了-(数据库和Spring篇)

事先说明 老师要求我们记面试题-基础篇开始背-五一作业😂😂😂😂 基础重要呀~~~~~复习是必须得-~~~~fighting😁😁 如果有大佬--请不要太在意细节-我的水平有限 开始我们的复习之路----🚀&am…

【Spring 】Spring MVC 入门Ⅱ

Spring MVC 入门Ⅱ 一、接收Cookie / Session 这两者都是用来保存用户信息的,但不同的是: Cookie存在客户端 Session存在服务器 Session产生时会生成一个唯一性的SessionID,这个SessionID可以用于匹配Session和Cookie SessionID可以在Cooki…

如何将安卓手机投屏到Windows 10电脑上

诸神缄默不语-个人CSDN博文目录 我之所以要干这个事是为了用手机直播的时候在电脑上看弹幕…… 文章目录 1. 方法一:直接用Win10内置的投影到此电脑2. 方法二:用AirDroid Cast投屏到电脑上 1. 方法一:直接用Win10内置的投影到此电脑 在设置…

Android 音视频播放器 Demo(二)—— 音频解码与音视频同步

音视频编解码系列目录: Android 音视频基础知识 Android 音视频播放器 Demo(一)—— 视频解码与渲染 Android 音视频播放器 Demo(二)—— 音频解码与音视频同步 RTMP 直播推流 Demo(一)—— 项目…

【跟马少平老师学AI】-【神经网络是怎么实现的】(七-2)word2vec模型

一句话归纳: 1)CBOW模型: 2c个向量是相加,而不是拼接。 2)CBOW模型中的哈夫曼树: 从root开始,向左为1,向右为0。叶子结点对应词有中的一个词。每个词对应唯一的编码。词编码不等长。…

Flask表单详解

Flask表单详解 概述跨站请求伪造保护表单类把表单渲染成HTML在视图函数中处理表单重定向和用户会话Flash消息 概述 尽管 Flask 的请求对象提供的信息足够用于处理 Web 表单,但有些任务很单调,而且要重复操作。比如,生成表单的 HTML 代码和验…

matlab例题大全

1.第1章 MATLAB系统环境 1.1 注:plot函数为画图函数。例plot(x1,y1,:,x2,y2,*); 1.2 注:root为求根函数。p为方程变量前面系数矩阵。 1.3 注: 2*x3y-1*z 2; 8*x2*y3*z 4; 45*x3*y9*z 23 求:x,y,z的…

第十二章 案例二:配置Trunk,实现相同VLAN的跨交换机通信

1、实验环境 公司的员工人数已达到 100 人,其网络设备如图12.13所示,现在的网络环境导致广播较多网速慢,并且也不安全,公司希望按照部门划分网络,并且能够保证一定的网络安全性 图12.13 实验案例二拓扑图 其网络规划…

C++从入门到精通——string类

string类 前言一、为什么学习string类C语言中的字符串示例 二、标准库中的string类string类string类的常用接口说明string类对象的常见构造string类对象的容量操作string的接口测试及使用string类对象的访问及遍历操作下标和方括号遍历范围for遍历迭代器遍历相同的代码&#xf…

【多模态】29、OCRBench | 为大型多模态模型提供一个 OCR 任务测评基准

文章目录 一、背景二、实验2.1 测评标准和结果2.1.1 文本识别 Text Recognition2.1.2 场景文本中心的视觉问答 Scene Text-Centric VQA2.1.3 文档导向的视觉问答 Document-Oriented VQA2.1.4 关键信息提取 Key Information Extraction2.1.5 手写数学公式识别 Handwritten Mathe…

Bert基础(二十一)--Bert实战:文本摘要

一、介绍 1.1 文本摘要简介 文本摘要(Text Summarization),作为自然语言处理(NLP)领域的一个分支,其核心目标是从长篇文档中提取关键信息,并生成简短的摘要,以提供对原始内容的高度…

Unity---版本控制软件

13.3 版本控制——Git-1_哔哩哔哩_bilibili Git用的比较多 Git 常用Linux命令 pwd:显示当前所在路径 ls:显示当前路径下的所有文件 tab键自动补全 cd:切换路径 mkdir:在当前路径下创建一个文件夹 clear:清屏 vim…

linux内核源码分析--核心网络文件和目录

图3-2显示了在/proc/sys中由网络代码所使用的主要目录,就每个目录而言,都列出了在哪一章描述其文件。 proc/sys/net bridge ipv4 core route neigh conf 图3-2/proc/sys/net 中的核心目录 根据前借所述,我们来看net中的树根是如何定义的&…