提示(Prompt)工程中提示词的开发优化基础概念学习总结

2023-12-11 06:28

本文主要是介绍提示(Prompt)工程中提示词的开发优化基础概念学习总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文对学习过程进行总结,仅对基本思路进行说明,结果在不同的模型上会有差异。

提示与提示工程

提示:指的是向大语言模型输入的特定短语或文本,用于引导模型产生特定的输出,以便模型能够生成符合用户需求的回应。
提示工程:首先是关注提示词的开发和优化,帮助用户将大语言模型(Large Language Model, LLM)用于各场景和研究领域。其次包含与大语言模型交互和研发的各种技能和技术。

提示(Prompt)的组成结构、设计技巧、使用场景

常见的Prompt符合下列格式

  • 指令:想要模型执行的特定任务或指令。
  • 上下文:包含外部信息或额外的上下文信息,引导语言模型更好地响应。
  • 输入数据:用户输入的内容或问题。
  • 输出指示:指定输出的类型或格式。

并非所有的Prompt都要遵循这样的结构,根据实际场景选择而不同。

Prompt指令:提取下列输入文本中的地名,并按输出格式输出
输入:2008年奥会在北京举办,2022年世界杯在卡塔尔举办
输出:[地名]输出
输出:[北京,卡塔尔]

在设计Prompt时我们遵循下列的原则以便获取我们期望得到的结果

  • 明确
  • 具体

样例1

Prompt
指令:对下列文本内容做归纳
文本:虽然距离2024年元旦春节还有一段时间,但是对假期出行的关注以及相关预订已经开始悄然升温。记者从在线旅游预订平台了解到,元旦假期的整体旅游预订量同比增长4倍,其中机票订单同比增长4倍,酒店预订量同比增长5倍。根据在线旅游平台数据显示,截至目前,元旦假期旅游热度同比上升181%。进入12月以来,元旦假期出行的旅游产品预订量环比增长57%,玩雪和避寒成为假期出行的两大主题。输出:归纳:2024年元旦春节假期的旅游预订量已经开始悄然升温,尤其是机票和酒店预订量同比增长4倍和5倍。在线旅游平台数据显示,元旦假期旅游热度同比上升181%12月以来元旦假期出行的旅游产品预订量环比增长57%。假期出行的主题主要是玩雪和避寒。

样例2

Prompt
指令:对下列文本内容做不超过10字的归纳
文本:虽然距离2024年元旦春节还有一段时间,但是对假期出行的关注以及相关预订已经开始悄然升温。记者从在线旅游预订平台了解到,元旦假期的整体旅游预订量同比增长4倍,其中机票订单同比增长4倍,酒店预订量同比增长5倍。根据在线旅游平台数据显示,截至目前,元旦假期旅游热度同比上升181%。进入12月以来,元旦假期出行的旅游产品预订量环比增长57%,玩雪和避寒成为假期出行的两大主题。输出:元旦假期旅游预订量同比增长4倍,酒店预订量同比增长5倍。

常见场景包含下列7个,文本概括信息提取问答对话文本分类代码生成推理。其中问答关注单次的提问与解答,对话关注与多轮的提问与回答。

常用的提示词技术

零样本提示(Zero-shot),我们在构造Prompt时,关于如何产出结果,不给出任何样例说明。

Prompt
将文本分类为中性、负面或正面。
文本:我认为这次假期还可以。
情感:

少样本提示(Zero-shot),我们在构造Prompt时,关于如何产出结果,会给出少量的示例说明,少量可以是1个(1-shot)、3个(3-shot)、5个(5-shot)等。

例如根据推断一个机器是否可以使用

指令:判断机器是否可用
背景:
1.组件A坏了,机器不可用
2.组件B坏了,机器可用
输入:机器同时包含组件A组件B,但组件B用了两天就不工作了,但组件A正常模型输出:
在这种情况下,虽然组件B不工作了,但是机器仍然可以使用。因为组件A仍然正常工作,所以机器在当前情况下仍然可以被视为可用。

提供示例对解决某些任务很有用。当零样本提示和少样本提示不足时,这可能意味着模型学到的东西不足以在任务上表现良好。从这里开始,建议开始考虑微调您的模型或尝试更高级的提示技术。其中包括下列的提示技术,具体可以看参考资料中的详细介绍。

  • Chain-of-Thought Prompting
  • Self-Consistency
  • Generate Knowledge Prompting
  • Tree of Thoughts (ToT)
  • Automatic Reasoning and Tool-use (ART)
  • Automatic Prompt Engineer
  • Active-Prompt
  • Directional Stimulus Prompting
  • ReAct Prompting
  • Multimodal CoT Prompting
  • Graph Prompting

学习参考

[1]提升工程英文:https://github.com/dair-ai/Prompt-Engineering-Guide
[2]提示工程中文:https://www.promptingguide.ai/zh

这篇关于提示(Prompt)工程中提示词的开发优化基础概念学习总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/479738

相关文章

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件