提示(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

相关文章

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

C# List.Sort四种重载总结

《C#List.Sort四种重载总结》本文详细分析了C#中List.Sort()方法的四种重载形式及其实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录1. Sort方法的四种重载2. 具体使用- List.Sort();- IComparable

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

python3中正则表达式处理函数用法总结

《python3中正则表达式处理函数用法总结》Python中的正则表达式是一个强大的文本处理工具,用于匹配、查找、替换等操作,在Python中正则表达式的操作主要通过内置的re模块来实现,这篇文章主要... 目录前言re.match函数re.search方法re.match 与 re.search的区别检索

JavaScript装饰器从基础到实战教程

《JavaScript装饰器从基础到实战教程》装饰器是js中一种声明式语法特性,用于在不修改原始代码的情况下,动态扩展类、方法、属性或参数的行为,本文将从基础概念入手,逐步讲解装饰器的类型、用法、进阶... 目录一、装饰器基础概念1.1 什么是装饰器?1.2 装饰器的语法1.3 装饰器的执行时机二、装饰器的

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.