当前位置: 首页 > article >正文

OpenAI官方提供撰写提示词最佳实践

在使用GPT类大模型时,撰写有效的提示词(Prompt)是确保生成内容质量的关键。OpenAI官方提供了一些提示词的最佳实践指南,帮助用户优化提示词,使生成的内容更符合预期。在本文中,我们将逐步介绍这些最佳实践,并通过具体示例来说明如何撰写更有效的提示词。

ChatGPT中文网icon-default.png?t=O83Ahttps://chat.aibox365.cn

一、如何设计提示词

由于OpenAI模型的训练方式存在特定的模式,因此一些提示词的格式效果更佳。官方指南通常是开始学习如何设计提示词的最佳选择。尽管如此,我们也鼓励大家探索不同的提示词格式,以满足不同任务的需求。

二、提示词设计的通用准则和示例

注意: 文中 {text input here} 表示需要替换为具体的内容。

1. 使用最新的模型

为了获得最佳效果,我们通常建议使用最新、功能最强大的模型。最新的模型在提示词设计上更具优势,响应效果更好。


2. 在提示词开头加入说明,并使用 ### 或 """ 分隔说明和内容

  • 较差的示例 ❌ :
Summarize the text below as a bullet point list of the most important points.

{text input here}
复制
  • 更佳的示例 ✅ :
Summarize the text below as a bullet point list of the most important points.

Text: """
{text input here}
"""
复制

这种方式可以让模型更清晰地理解需要完成的任务,并减少内容混淆。


3. 明确描述所需的上下文、结果、长度、格式、风格等细节

提供具体的要求可以使生成的内容更贴近预期。

  • 较差的示例 ❌ :
Write a poem about OpenAI.
复制
  • 更佳的示例 ✅ :
Write a short inspiring poem about OpenAI, focusing on the recent DALL-E product launch (DALL-E is a text-to-image ML model) in the style of a {famous poet}.
复制

这种方式不仅让模型清楚地理解内容的主题,还帮助它把握写作的风格和长度。


4. 通过示例明确所需的输出格式

模型通常对具体的输出格式响应更佳,示例展示的格式可以有效帮助模型生成符合要求的内容。

  • 较差的示例 ❌ :
Extract the entities mentioned in the text below. Extract the following 4 entity types: company names, people names, specific topics and themes.

Text: {text}
复制
  • 更佳的示例 ✅ :
Extract the important entities mentioned in the text below. First extract all company names, then extract all people names, then extract specific topics which fit the content and finally extract general overarching themes.

Desired format:
Company names: <comma_separated_list_of_company_names>
People names: -||-
Specific topics: -||-
General themes: -||-

Text: {text}
复制

5. 依次尝试零示例、少示例,如果都不理想,再进行微调

零示例(Zero-shot) :

Extract keywords from the below text.

Text: {text}

Keywords:
复制

少示例(Few-shot) - 提供几个示例:

Extract keywords from the corresponding texts below.

Text 1: Stripe provides APIs that web developers can use to integrate payment processing into their websites and mobile applications.
Keywords 1: Stripe, payment processing, APIs, web developers, websites, mobile applications
##
Text 2: OpenAI has trained cutting-edge language models that are very good at understanding and generating text. Our API provides access to these models and can be used to solve virtually any task that involves processing language.
Keywords 2: OpenAI, language models, text processing, API.
##
Text 3: {text}
Keywords 3:
复制

微调(Fine-tune)需要更复杂的过程,可参考微调最佳实践以了解详细操作。


6. 减少不明确或模糊的描述

  • 较差的示例 ❌ :
The description for this product should be fairly short, a few sentences only, and not too much more.
复制
  • 更佳的示例 ✅ :
Use a 3 to 5 sentence paragraph to describe this product.
复制

这种明确的要求可以帮助模型更好地控制生成内容的长度。


7. 不仅要指出“不要做什么”,还要说明“该做什么”

  • 较差的示例 ❌ :
The following is a conversation between an Agent and a Customer. DO NOT ASK USERNAME OR PASSWORD. DO NOT REPEAT.

Customer: I can’t log in to my account.
Agent:
复制
  • 更佳的示例 ✅ :
The following is a conversation between an Agent and a Customer. The agent will attempt to diagnose the problem and suggest a solution, whilst refraining from asking any questions related to PII. Instead of asking for PII, such as username or password, refer the user to the help article www.samplewebsite.com/help/faq.

Customer: I can’t log in to my account.
Agent:
复制

这种方法不仅限制了不该出现的行为,还为模型指明了更合适的操作方式。


8. 针对代码生成 - 使用“引导词”来指引模型生成特定模式

  • 较差的示例 ❌ :
# Write a simple python function that
# 1. Ask me for a number in mile
# 2. It converts miles to kilometers
复制
 python
  • 更佳的示例 ✅ :
# Write a simple python function that
# 1. Ask me for a number in mile
# 2. It converts miles to kilometers

import
复制
 python

在代码生成中,像“import”这样的引导词可以有效帮助模型判断生成内容的编程语言,同理,“SELECT”可以提示生成SQL语句。


以上便是OpenAI官方推荐的提示词最佳实践。遵循这些准则,合理设计提示词,不仅能提高生成内容的质量,还能更精准地控制输出的风格和格式,提升整体的使用体验。希望这些示例和建议能够帮助大家更好地利用OpenAI的强大模型,创造出符合需求的高质量内容。


http://www.kler.cn/a/378415.html

相关文章:

  • 路径规划 | ROS中多个路径规划算法可视化与性能对比分析
  • 数字信号处理Python示例(5)使用实指数函数仿真PN结二极管的正向特性
  • Java 实现接口幂等的九种方法:确保系统稳定性与数据一致性
  • CODESYS可视化星三角降压启动程序控制电气动画图
  • 应用层知识点总结2
  • Qt Designer客户端安装和插件集(pyqt5和pyside2)
  • Python3 No module named ‘pymysql‘
  • 【解决方案】微信小程序如何使用 ProtoBuf 进行 WebSocket 通信
  • 0,国产FPGA(紫光同创)-新建PDS工程
  • Java爬虫:在1688上“照片快递”上传图片
  • 【P2-3】ESP8266 WIFI模块在STA模式下作为TCP服务器与多个电脑/手机网络助手(TCP客户端)通信——TCP数据透传
  • 贪心算法(Greedy Algorithm)
  • 计算机毕业设计——ssm基于SSM框架的华建汽车出租系统设计与实现演示录像2021
  • 线性代数:Matrix2x2和Matrix3x3
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发八,使用SDLVSQT显示yuv文件 ,使用ffmpeg的AVFrame
  • 大模型的常用指令格式 --> ShareGPT 和 Alpaca (以 llama-factory 里的设置为例)
  • 力扣(leetcode)每日一题 3259 超级饮料的最大强化能量|动态规划
  • 偏差与方差的基本概念
  • guit fok 更新代码
  • 使用 OpenCV 进行人脸检测
  • 基于Spring Boot+Vue的助农销售平台(协同过滤算法、限流算法、支付宝沙盒支付、实时聊天、图形化分析)
  • 【云原生】Docker搭建开源翻译组件Deepl使用详解
  • k8s-实战——ES集群部署
  • 实战OpenCV之目标检测
  • 基于SpringBoot+Vue的快递物流信息查询系统设计与实现【前后端分离】
  • 生成式语言模型的文本生成评价指标(从传统的基于统计到现在的基于语义)