您的位置:首页>栏目首页 > 专业 >

Prompt 工程最佳实践:ChatGPT 版

2023-06-23 09:09:28    来源:程序员客栈

注意:”{text input here}” 是实际文本/内容的占位符


(资料图片仅供参考)

1. 使用最新版本的模型

使用最新版本的模型,往往可以获得更好的结果。

2. 使用 ### 或 """分隔指令和上下文

Bad ❌

将下面的文本总结为要点列表。

Better ✅

将下面的文本总结为要点列表。文本: """这里是文本内容"""

3. 在背景、结果、长度、格式、风格等方面描述的尽可能具体和详细

Bad ❌

写一首关于 OpenAI 的诗

Better ✅

以{某位著名诗人}的风格,写一首关于OpenAI的鼓舞人心的短诗,重点关注最近推出的DALL-E产品(DALL-E是一个文本到图像的机器学习模型)

4. 通过例子说明所需的输出格式

Bad ❌

从下面的文本中提取出提到的实体。提取以下四种类型的实体:公司名称,人名,具体的主题和主旨。文本:{文本}

Better ✅

提取下面文本中提到的重要实体。首先提取所有的公司名称,然后提取所有的人名,接着提取符合内容的特定主题,最后提取概括性的主题。期望的格式:公司名称:<逗号分隔的公司名称列表>人名:-||-特定主题:-||-一般主题:-||-文本:{文本}

在上述例子中,使用”-||-“作为一个占位符,表示这些部分需要根据实际的文本内容来提取并填充。

5. 先从 zero-shot 开始,然后尝试 few-shot,如果这两者效果都不好,就试试微调

Zero-shot 零样本

从下面的文本中提取关键词。文本:{文本}关键词:

Few-Shot 少样本,即提供示例

从下面的相应文本中提取关键词。文本1:Stripe提供了API,网页开发者可以用来在他们的网站和移动应用中集成支付处理。关键词1:Stripe,支付处理,API,网页开发者,网站,移动应用文本2:OpenAI已经训练了前沿的语言模型,这些模型在理解和生成文本方面非常出色。我们的API提供了访问这些模型的途径,可以用来解决几乎所有涉及语言处理的任务。关键词2:OpenAI,语言模型,文本处理,API。文本3:{文本}关键词3:

6. 减少不精确的描述

Bad ❌

这个产品的描述应该相当简短,只有几句话,不要太多。

Better ✅

用一个包含3到5句的段落来描述这个产品。

7. 不要只说不应该做什么,而要说应该做什么

Bad ❌

以下是代理人和客户之间的对话。不要询问用户名或密码。不要重复。客户:我无法登录我的账户。代理人:

Better ✅

以下是代理人和客户之间的对话。代理人将尝试诊断问题并提出解决方案,同时避免提出任何与个人身份信息(PII)相关的问题。代理人不会询问像用户名或密码这样的个人身份信息,而是将用户引导至帮助文章 www.samplewebsite.com/help/faq客户:我无法登录我的账户。代理人:

8. 特定代码生成:使用”引导词“将模型推向一个特定的模式

Bad ❌

# 编写一个简单的Python函数,该函数要求如下# 1.输入一个以英里为单位的数# 2. 它将英里数转换为公里数

Better ✅

# 编写一个简单的Python函数,该函数要求如下# 1. 输入一个以英里为单位的数# 2. 它将英里数转换为公里数import

import引导词告诉模型写 Python 代码时应该以什么内容为开始。类似的,如果你要写 SQL 语句,可以选择SELECT为引导词。

OpenAI API 调用参数介绍

model:要调用的 AI 模型,表现越好的模型价格越贵、延迟越高;

temperature:温度,此参数值越高,生成的内容越随机;

max_tokens:内容的最大长度;

stop:终止符,碰到此类字符则终止生成内容;

logit_bias:设置指定字符出现的概率,可以避免在最终内容中生成指定字符。

关键词:

相关阅读