【大模型LLM第二篇】openai官方prompt教程详细解读

前言

毕竟openai是大模型的鼻祖,官方推荐的prompt教程还是有必要好好学习一下的

网站:

  • https://platform.openai.com/docs/guides/prompt-engineering

其中一共有6种策略

Six strategies for getting better results

  1. Write clear instructions(写清晰的指令)

  2. Provide reference text(提供参考文本)

  3. Split complex tasks into simpler subtasks(将复杂的任务拆分为更简单的子任务)

  4. Give models time to “think”(给模型时间“思考”)

  5. Use external tools(使用外部工具)

  6. Test changes systematically(系统地测试变化)

一、 Write clear instructions(写清晰的指令)

1.1 在查询中包含更多的上下文详细信息

为了获得高度相关的响应,请确保请求提供任何重要的详细信息或上下文。

白话讲:就是要尽可能提供这个问题的context,否则很有可能幻觉回答

1.2 要求模型采用角色

添加role的相关信息,让信息回答更收缩

1.3 使用分隔符清楚地标注输入的不同部分

三引号、XML 标记、节标题等分隔符可以帮助分隔要区别对待的文本部分。

  1. 三引号

  2. xml
    在这里插入图片描述

  3. section title

其实就是用格式让大模型更理解,且让大模型减少歧义

1.4 指定完成任务所需的步骤

某些任务最好指定为一系列的步骤。显式的编写步骤可以使模型更容易遵循。

1.5 提供示例

没啥说的,few shot,也是实战中比较容易实现提升表现得方式

1.6 指定输出长度

可以要求模型生成具有给定目标长度的输出。目标输出长度可以根据单词、句子、段落、项目符号等的数量来指定.

在这里插入图片描述

二、 Provide reference text(提供参考文本)

2.1 指示模型使用参考文本进行回答

如果可以为模型提供与当前查询相关的可信上下文信息,那就可以指示模型使用提供的信息来撰写其答案。

这也是对抗幻觉的方式之一

2.2 指示模型使用参考文本中的引用来回答

添加citation的官方指引

三、 将复杂的任务拆分为更简单的子任务

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

对于需要大量独立指令来处理不同情况的任务,首先对user input进行分类并使用该分类来确定需要哪些指令可能是有益的。

官网给的例子是一个客户服务应用程序的例子:

其中主要给的意思是 将每个查询分类为主要类别和次要类别,其中主要分类有计费、技术支持等,每个分类下面还有次要分类:计费的次要分类、技术支持的次要分类等。

可以理解为根据用户的输入,用大模型的能力先进行一次分类。

比如此时的输入被分类为:故障排除

则使用故障排除分类的特有prompt:

大概意思是通过对用户输入的初次分类,用以更合适的prompt模板。

3.2 对于需要很长对话的对话应用程序,总结或过滤以前的对话

由于模型具有固定的上下文长度(token限制),因此用户和大模型之间的对话(其中整个对话都包含在上下文窗口中)不能无限期地继续。

其实就是history的对话信息,不能都放进去。

对于这种情况给的两种结局方案

  1. 总结对话中的前几个回合。一旦输入的大小达到预定的阈值长度,这可能会触发一个查询,该查询汇总了过去的部分会话的摘要,并且可以这个摘要作为系统消息的一部分。或者,可以在整个对话的后台异步总结先前的对话的内容。

  2. 动态选择与当前查询最相关的对话的先前部分

3.3 分段总结长文本,递归构建完整摘要

主要的原因还是因为输入有一定的token的限制,所以对于非常非常长的文本,需要递归的构建,再得到最终的summary

要总结一个很长的文档,比如一本书,可以使用一系列查询来总结文档的每个部分。章节摘要可以串联和汇总,从而产生摘要的摘要。此过程可以递归进行,直到汇总整个文档为止。

四、Give models time to “think”(给模型时间“思考”)

4.1 在匆忙下结论之前,指示模型制定自己的解决方案

思路大概是通过给予一个完整的例子和解决方案,让大模型判断是非对错,去对比方案,让他自己去独立思考,并且找到逻辑,形成自己的解决方案,并解决。

官网的例子:例如,假设我们想要一个模型来评估学生对数学问题的解决方案。解决这个问题的最明显方法是简单地询问模型,学生的解决方案是否正确。

但是实际上是不正确的。

但是如果prompt改成这样,就可以得到正确的回答了

可以对比一下上下两个system的prompt,主要多的话术是:Then compare your solution to the student’s solution and evaluate if the student’s solution is correct or not. Don’t decide if the student’s solution is correct until you have done the problem yourself.

4.2 使用内心独白或一系列查询来隐藏模型的推理过程

前面的策略表明,在回答特定问题之前,模型有时对问题进行详细推理很重要。

但是对于某些应用程序,模型用于得出最终答案的推理过程不适合与用户共享。例如,在辅导应用程序中,我们可能希望鼓励学生自己找出答案,但模型对学生解决方案的推理过程可能会向学生揭示答案。

内心独白是一种可以用来缓解这种情况的策略。 这种策略其实就是对输出的内容进行结构化的编排,对于最终展示的部分,做相应的自定义解析就可以了,比如上面那个例子,其中推导过程和结果可以放在两部分。

或者另外一种方式就是多次访问大模型,进行chat。

通过一系列查询来实现最终目的,其中除最后一个查询外的所有输出都对用户隐藏。(相当于一步变多步,最后一步的输出是最终结果,对用户输出)

4.3 询问模型在之前的过程中是否遗漏了任何内容

主要是针对长文的summary,可能会出现遗漏的问题,不全面。

文中的一个例子来解释:假设我们正在使用一个模型来列出与特定问题相关的来源的摘录。列出每个摘录后,模型需要确定它是否应该开始编写另一个摘录,或者是否应该停止。如果源文档很大,模型通常会过早停止并且无法列出所有相关的摘录。在这种情况下,通常可以通过提示工程进行后续查询来查找在之前过程中遗漏的任何摘录,使与特定问题的摘录总结完全。

五、 Use external tools(使用外部工具)

5.1 使用RAG增强

这里直接看RAG的相关内容,后面补充

5.2 使用调用外部 API

这里应该说的就是function call,主要是agent里的一些自调用对应的api供能

5.3 为模型提供对特定函数的访问权限

这个与5.2是一套东西,主要也是function call,但对应于不一样的robot应该给与对应权限的外部function api

六、 Test changes systematically(系统地测试变化)

新prompt设计是否会使系统变得更好或更糟这个是不太好去衡量的。由于样本量有的时候很小,很难区分是真正的改进还是随机的运气。这种变化可能造成:提高了某些输入的效果,但会损害其他输入的效果,相当于一些case好了,其他case劣化了。

评估程序对于优化系统设计非常有用。好的评估:

  • 代表现实世界的使用(或至少是多样化的)

  • 易于自动化或重复

  • 包含许多测试用例以获得更高的统计功效(有关指南,请参阅下表)

最后的最后

感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。

因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

大模型知识脑图

为了成为更好的 AI大模型 开发者,这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

经典书籍阅读

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。

在这里插入图片描述

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

面试资料

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下

在这里插入图片描述

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值