大模型之Prompt研究和技巧

news2024/11/20 21:19:22

大模型之Prompt研究和技巧

  • 大模型之Prompt编写
    • 简介
    • 组成
    • 技术
      • Zero-Shot
      • Few-shot
      • COT
      • COT-SC
      • TOT
      • GoT
      • ReAct

大模型之Prompt编写

简介

Prompt是是 AI **模型的指令,**一个简短的文本输入,用于引导AI模型生成特定的回答或执行特定任务。

Prompt是你与语言模型沟通的方式。一个好的Prompt可以让AI更准确地理解你的需求,从而给出更有用的回答。

组成

Prompt的组成拆解主要包括以下六个要素:

  1. 任务(Task): 任务是Prompt的核心,通常以动词开始,明确表达你希望ChatGPT完成的任务或目标。这可以包括生成文本、给予建议、写作内容等。可以有多个任务,以清晰地定义你的需求。
  2. 上下文(Context): 上下文提供了与任务相关的背景信息,以确保ChatGPT理解问题的背景和约束条件。这包括用户的背景信息、成功标准、所处环境等。上下文对于任务的明确性和有效性至关重要。
  3. 示例(Exemplars): 示例是提供具体例子或框架的部分,用来引导ChatGPT生成更准确的输出。提供示例可以明确示范所需的内容和格式,从而提高输出质量。但并不是每次都需要提供示例,有时候也可以让ChatGPT自行生成。
  4. 角色(Persona): 角色明确指定ChatGPT和Bard(如果涉及到虚构的角色)所扮演的角色或身份。这可以是具体的人,也可以是虚构的角色,有助于调整语气和内容以适应特定角色的需求。
  5. 格式(Format): 格式部分可视化了你期望输出的外观和结构,如表格、列表、段落等。明确指定输出的格式可以确保ChatGPT生成的内容符合你的预期。
  6. 语气(Tone): 语气定义了输出文本的语气或风格,如正式、非正式、幽默等。指定语气有助于确保ChatGPT的回应符合所需的情感和风格要求。

通过合理组织这六个要素,你可以创建一个清晰明了的Prompt,有效引导ChatGPT生成符合期望的文本输出。

当创建一个Prompt时,下面是一些具体的例子,展示如何使用上述六个要素:

1. 任务(Task):

  • 生成一篇有关太阳能发电的文章。
  • 给予我一些建议,以降低生活中的碳足迹。
  • 写一封感谢信,以表达对客户的感激之情。

2. 上下文(Context):

  • 作为一个学生,你要写一篇有关气候变化的研究报告,希望获得深入了解可再生能源的信息。
  • 你是一位环保活动家,需要有关减少塑料污染的可行性计划。
  • 你正在回顾一次商务合作,需要一封感谢信来强调合作的重要性。

3. 示例(Exemplars):

  • 作为示例,可以提供一些有关太阳能的统计数据,或者一个类似的文章的开头段落。
  • 作为示例,列出一些环保措施,如减少用塑料制品、使用可再生能源等。
  • 提供一些已经写好的感谢信段落,以供参考。

4. 角色(Persona):

  • 请以一位环保组织的志愿者的身份来回答。
  • 请以一位科学家的身份来回答。
  • 请以一位公司首席执行官的身份来回答。

5. 格式(Format):

  • 请以段落的形式写一篇文章,包括标题、引言、正文和结论。
  • 请以列表形式列出减少碳足迹的建议。
  • 请以正式书信的格式写一封感谢信,包括日期、地址、称呼等。

6. 语气(Tone):

  • 请使用正式的语气,避免使用俚语或口语。
  • 请使用轻松的语气,可以适当加入幽默元素。
  • 请使用感激之情的语气,表达真诚的感谢。

这些示例突出了如何根据具体的需求来组成Prompt,以确保ChatGPT能够理解任务、上下文、示例、角色、格式和语气,并生成相应的内容。通过合理搭配这些要素,可以引导ChatGPT产生符合要求的文本回应。

技术

Zero-Shot

Zero-Shot Prompting 指的是在大型语言模型(LLM)中,不需要额外微调或训练,直接通过文本提示就可以完成指定的下游任务。

主要思想是:

  • 先训练一个通用的大型语言模型,学习语言的基本规则,掌握丰富的常识和知识。
  • 然后在不改变模型参数的情况下,只通过软性提示指导模型完成特定任务。
  • 模型根据提示和已掌握的知识,生成对应任务的输出。

举个例子,我们可以给 ChatGPT 一个简短的 prompt,比如 描述某部电影的故事情节,它就可以生成一个关于该情节的摘要,而不需要进行电影相关的专门训练。

Zero-Shot Prompting 技术依赖于预训练的语言模型,这些模型可能会受到训练数据集的限制和偏见。它的输出有时可能不够准确,或不符合

预期。这可能需要对模型进⾏进⼀步的微调或添加更多的提示⽂本来纠正。

Few-shot

Few-shot Prompting 是 Zero-shot Prompting的扩展,指使用很少量的任务相关示例来辅助提示,使模型更快适应新任务。

其关键思想是:

  • 仍然基于预训练好的通用语言模型
  • 使用软提示指导模型完成新任务
  • 额外提供1-2个相关示例作为提示补充

例如:

任务: 生成一篇关于太阳能的文章。

示例:

  1. 示例1:太阳能是一种清洁能源,通过太阳能电池板将太阳能转化为电力。
  2. 示例2:太阳能电池板通常安装在屋顶上,可以为家庭提供可再生能源。
  3. 示例3:太阳能是减少温室气体排放的重要途径。

任务描述: 请以这些示例为基础,撰写一篇关于太阳能的文章,重点介绍太阳能的工作原理、应用领域以及对环境的影响。

COT

论⽂表明,它仅在⼤于等于 100B 参数的模型中使⽤才会有效。如果是⼩样本模型,这个⽅法不会⽣效

思维链提示,就是把一个多步骤推理问题,分解成很多个中间步骤,分配给更多的计算量,生成更多的 token,再把这些答案拼接在一起进行求解。

在这里插入图片描述
在这里插入图片描述

COT-SC

让模型⽣成多个思维链,然后取最多数答案的作为最终结果。

其实重复运算多次,取概率最⾼的那⼀个,需要借助脚本辅助完成这个功能。

Self-consistency是对CoT方法的改进,相比于CoT只进行一次采样回答,SC采用了多次采样的思想,最终选择consistent的回答作为最终答案。SC的成立的基础是文章认为,一个复杂的推理问题可以采用多种不同的方式进行解决,最终都可以得到正确答案。人类思考同一个问题可能会有不同的思路,但是最后可能得到相同的结论。可以理解为“一题多解”“条条大路通罗马”。SC相比于CoT性能进一步得到了更大的提升。

在这里插入图片描述

通过多次采样回答,最终选择一致性最高的结果作为最终结果,这在很大程度上可以避免LLM随机性带来的错误问题。

TOT

Tree of Thoughts(ToT)框架,⽤于改进语⾔模型(LMs)的推理能⼒。该框架是对流⾏的“Chain of Thought”⽅法的⼀种

泛化,允许模型在解决问题的过程中进⾏更多的探索和策略性前瞻。

ToT允许模型⾃我评估不同的选择,以决定下⼀步的⾏动,并在必要时进⾏前瞻或回溯,以做出全局性的选择。

在24点游戏中,使⽤链式思考提示的GPT-4仅解决了4%的任务,⽽使⽤ToT⽅法的成功率达到了74%

在其他场景中的应用型不是很大。

GoT

GoT有三种操作:

  • Aggregation

  • Refining

  • Generation

Aggregation指的是几个想法的整合,变成了一个更好的想法,图上表现为多个节点指向同一个节点;

Refining指节点自身进行反思,不断改善自己本身的内容,图上表现为一个节点重新指向自己;

Generation指通过一个节点,产生了后续1个或者更多新的想法,图上表现为一个节点指向一个或多个节点。

在这里插入图片描述

ReAct

和langchain 中的Agent是一个道理

使用 LLM 以交错的方式生成推理轨迹和特定于任务的动作,从而实现两者之间更大的协同作用。

推理轨迹帮助模型归纳、跟踪和更新行动计划以及处理异常,而操作允许它与外部源(例如知识库或环境)交互,以收集附加信息。我们应用我们的方法,名为 ReAct,适应各种语言和决策任务,并证明其在最先进的基线上的有效性,以及比没有推理或行动组件的方法提高的人类可解释性和可信度。

具体来说,在问答(HotpotQA)和事实验证(Fever)方面,ReAct 通过与简单的维基百科 API 交互,克服了思维链推理中普遍存在的幻觉和错误传播问题,并生成类似人类的任务解决轨迹,比没有推理痕迹的基线更容易解释。

在这里插入图片描述

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

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

相关文章

milvus测试

milvus测试 目标 其实,我应该弄明白他的输入输出分别是什么? 输入是图片,图片经过ml模型进行特征提取,再在milvus中进行存储或者检索 部署 ✘ delldell-Precision-3630-Tower  /nvme/baum/git-project/milvus   master …

【EI会议征稿】第三届计算建模、仿真与数据分析国际学术会议(CMSDA 2023)

第三届计算建模、仿真与数据分析国际学术会议(CMSDA 2023) 第三届计算建模、仿真与数据分析国际学术会议(CMSDA 2023)将于2023年12月22-24日即将在中国海南省三亚市召开。首届计算建模、仿真与数据分析国际学术会议已于2021、2022年连续成功举办,吸引了近200名计算机…

投你500万,你想做什么?头脑风暴一下 无限想像 有想法的人都能投 数学

投你500万,你想做什么?头脑风暴一下 我要投我自己 1、先出国读个博。8年 30万/年 240万 2、另外260万想研究啥就研究啥。比如 3栖动物:把人改造成3栖动物,可以在水里,海洋里,陆地上,天空都能生…

计算机的层次与编程语言

文章目录 前言一、程序翻译与程序解释二、计算机的层次与编程语言1.硬件逻辑层2.微程序机器层3.传统机器层4.操作系统层5.汇编语言层6.高级语言层7.应用层 总结 前言 今天给大家介绍一下计算机的层次与编程语言,包含两个板块:程序翻译与程序解释、计算机…

Vue + moment 实现自定义日历

moment moment是一个js工具库,这个库中封装的是日期时间的方法,功能很全面。可以去moment官网看看,它的中文文档介绍的也很详细,主要是看一下方法的使用。附上官网地址:添加链接描述 日历案例 日历的逻辑:…

servlet基础知识

目录 什么是servlet概念/定义作用 servlet容器概念/是什么作用如何配置和管理 servlet生命周期有哪些生命周期每个周期中可以执行哪些操作 创建和编写servlet如何创建一个简单的servletservlet类的结构是什么样的如何处理HTTP请求和响应 servlet映射和URL模式什么是servlet映射…

Unity2017适配安卓12

测试版本为Unity2017.4.25f1 1.在自定义AndroidManifest.xml&#xff08;位于Assets\Plugins\Android\&#xff09;中添加android:exported"true" <?xml version"1.0" encoding"utf-8"?> <manifestxmlns:android"http://schema…

现在学网络安全主要是实战还是打CTF?

当然是实战了!!! 现在的CTF题目是基本不贴近实战的&#xff0c;逻辑结构并不合理&#xff0c;而且出题手十有八九是学生&#xff0c;并没有从教育出发的意义&#xff0c;只是比赛、竞技。 如果说你未来要从事网络安全行业的话肯定是以实战为主的&#xff01;企业在招聘时更多…

如何基于先进视频技术,构建互联网视频监控安全管理平台解决方案

一、建设思路 依托互联网&#xff0c;建设一朵云&#xff0c;实现各类二三类视频资源统一接入&#xff0c;实现天网最后100米、10米、1米的全域覆盖。 依托人工智能与互联网技术&#xff0c;拓展视频资源在政府、社会面等多领域的全面应用&#xff1b;建设与运营模式并存&…

《向量数据库指南》——押注向量数据库 挑战颇多

押注向量数据库 挑战颇多 作为今年以来的热门技术赛道,向量数据库已吸引了大量厂商和创业团队入场,先发者与后来者,老牌厂商与新生力量之间的竞争正在持续升温。 但值得注意的是,向量数据库真的值得厂商全力投入吗? 在《为什么你不应该投资向量数据库?》一文中,吴英骏…

3DEXPERIENCE® SOLIDWORKS® 新功能

先前版本的兼容性 优点 即使其他用户正在使用旧版 SOLIDWORKS&#xff0c;也能轻松与其 协作。 • 通过将您的 3DEXPERIENCE SOLIDWORKS 设计作品保存为旧 版本&#xff0c;与使用旧版本的供应商无缝协作。 • 将零件、装配体和工程图保存为最新版本前两年之内的 3DEXPERIENC…

仿真软件Proteus8.9 SP2 Pro 下载、安装、汉化详细图文教程

Proteus8.9 安装教程 视频教程一、安装软件解压二、软件安装常见问题及解决方法&#xff1a;三、汉化 Proteus8.9 SP2 Pro 安装教程 本破解教程仅供个人及 proteus 8.9粉丝们交流学习之用&#xff0c;请勿用于商业用途&#xff0c; 谢谢支持。此版本为Proteus8.9 SP2 Pro。其他…

Httpd(一)

介绍 httpd是apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程&#xff0c;它会建立一个处理请求的子进程或线程的池。 特性 高度模块化&#xff1a;core modules DSO&#xff1a;Dynamic Shared Object 动态加载/卸载 MPM&#xff1a;multi-p…

TCP/IP(八)TCP的连接管理(五)四次握手

一 tcp连接断开 每一个TCP报文的超时重传都由一个特定的内核参数来控制 ① 四次握手的过程 遗留&#xff1a; 谁先发送FIN包,一定是client吗? --> upload和download补充&#xff1a; 主动和被动断开连接的场景 "四次握手过程描述" F --> FIN --> F…

LeetCode-144-二叉树的前序遍历

题目描述&#xff1a; 题目链接&#xff1a;LeetCode-144-二叉树的前序遍历 递归法 解题思路&#xff1a; 方法一&#xff1a;递归。 要先清楚前序遍历的顺序&#xff1a;先根节点&#xff0c;再左子树&#xff0c;再右子树。 然后是递归三部曲&#xff1a; 确定递归函数的参数…

香港硬防服务器的防御有什么优缺点?

​  在选择服务器时&#xff0c;安全性是一个重要的考虑因素。而对于那些需要高级防御功能的用户来说&#xff0c;香港硬防服务器可能是一个不错的选择。它也有一些优缺点需要考虑。 香港硬防服务器优点&#xff1a; 强大的硬件资源&#xff1a;香港硬防服务器拥有足够的硬件…

Session共享问题

出现这个问题的原因&#xff0c;从根本上来说是因为Http协议是无状态的协议。客户端和服务端在某次会话中产生的数据不会被保留下来&#xff0c;所以第⼆次请求服务端无法认识到你曾经来过&#xff0c; Http为什么要设计为无状态协议&#xff1f;早期都是静态页面无所谓有无状态…

初识华为云数据库GaussDB for openGauss

01 前言 GaussDB是华为自主创新研发的分布式关系型数据库。该产品具备企业级复杂事务混合负载能力&#xff0c;同时支持分布式事务&#xff0c;同城跨AZ部署&#xff0c;数据0丢失&#xff0c;支持1000的扩展能力&#xff0c;PB级海量存储。同时拥有云上高可用&#xff0c;高可…

【大数据】HBase入门指南

原创不易&#xff0c;注重版权。转载请注明原作者和原文链接 文章目录 HBase特性Hadoop的限制基本概念NameSpaceTableRowKeyColumnTimeStampCell 存储结构HBase 数据访问形式架构体系HBase组件HBase读写流程读流程写流程 MemStore Flush参数说明 StoreFile Compaction参数说明触…

httprunnet自动化测试实战

引言 自动化测试是指使用软件工具、脚本或编程来执行测试任务&#xff0c;以代替人工执行测试用例的过程。它使用自动化工具和技术来模拟用户操作&#xff0c;验证和评估软件应用程序的功能、性能和稳定性。 自动化测试的主要目的是提高测试效率和质量&#xff0c;它具有以下几…