ChatGPT API之文本填充

学习如何生成或操作文本

介绍

完成端点可用于各种任务。它为我们的任何模型提供了一个简单但强大的接口。您输入一些文本作为提示,模型将生成一个文本完成,试图匹配您给出的任何上下文或模式。例如,如果您向API提供提示“正如笛卡尔所说,我思故我在”,它将以高概率返回“我是”的完成。

开始探索完整性的最佳方法是通过我们的Playground。这只是一个文本框,在其中可以提交提示以生成完成。您可以从以下示例开始:

为冰淇淋店写标语。

提交后,您会看到类似于以下内容:

为冰淇淋店写标语。

我们每勺都带来微笑!

由于 API 默认是非确定性的,因此您看到的实际完成情况可能会有所不同。这意味着,即使您的提示保持不变,每次调用时都可能会得到略微不同的完成结果。将温度设置为 0 将使输出大多数情况下具有确定性,但仍可能存在少量变化。

这个简单的文本输入输出界面意味着你可以通过提供指令或者只是一些想要它完成的例子来“编程”模型。它的成功通常取决于任务的复杂性和提示质量。一个好的经验法则是考虑如何为中学生编写一个词问题来解决。一个写得好的提示提供了足够多的信息,让模型知道你想要什么以及应该如何回应。

这个指南涵盖了一般提示设计最佳实践和示例。如果您想了解更多关于使用我们Codex模型进行代码工作,请访问我们的代码指南。

请记住,默认模型的训练数据截止于2021年,因此它们可能不了解当前事件。我们计划在未来增加更多持续的培训。

快速设计

基础知识

我们的模型可以做从生成原创故事到执行复杂文本分析等各种任务。因为它们可以做很多事情,所以您必须明确描述您想要的内容。展示而不仅仅是告诉通常是一个好提示的秘密。

创建提示有三个基本准则:

展示和说明。通过指令、示例或两者的组合清楚地表达你想要什么。如果你希望模型按字母顺序排列一系列项目,或根据情感分类一个段落,请展示给它看这就是你想要的。

提供高质量的数据。如果你想要构建一个分类器或让模型遵循某种模式,请确保有足够的例子。一定要校对你的例子——模型通常足够聪明,可以看穿基本的拼写错误并给出响应,但它也可能认为这是故意的,并且会影响响应。

检查您的设置。温度和top_p设置控制模型在生成响应时的确定性程度。如果您要求它提供只有一个正确答案的响应,则需要将这些设置较低。如果您正在寻找更多样化的响应,则可能希望将它们设置得更高一些。人们在使用这些设置时犯的头号错误是认为它们是“聪明”或“创造力”控件。

故障排除

如果您在使用API时遇到问题,请按照以下清单进行操作:

  1. 你清楚预期的生成结果吗?
  2. 有足够的例子吗?
  3. 你检查过例子中是否有错误了吗?(API 不会直接告诉你)
  4. 你正确地使用了temperature和top_p 吗?

分类

使用API创建文本分类器时,我们提供任务描述和一些示例。在此示例中,我们展示如何对推文的情感进行分类。

决定一个推文的情感是积极的、中性的还是消极的。

推文:我喜欢新蝙蝠侠电影!

值得注意的是,在这个例子中有几个特点:

  1. 使用简明易懂的语言描述输入和输出。我们在输入“推文”和期望输出“情感”方面使用了简明易懂的语言。作为最佳实践,应该从简单易懂的描述开始。虽然你可以经常使用缩写或键来表示输入和输出,但最好先尽可能地进行描述,然后再逐步删除多余的词汇并查看性能是否保持一致。
  2. 展示API如何响应任何情况。在这个例子中,我们包括了可能出现的情感标签在我们的指令中。一个中立标签很重要,因为会有许多情况下即使是人类也很难确定某些事物是积极还是消极,并且存在既不积极也不消极的情况。
  3. 熟悉任务需要更少样本数据量。对于这种分类器,我们没有提供任何样本数据量。这是因为API已经理解了情感以及推文等概念。如果你正在构建一个分类器用于API可能不熟悉的内容,则可能需要提供更多样本数据量来帮助其学习理解相关内容。

提高分类器的效率

既然我们已经掌握了如何构建分类器,让我们以此为例子,进一步提高其效率,这样我们就可以在一个API调用中获得多个结果。

将这些推文的情感分类:

1. “我受不了作业”

2. “这太糟糕了。我很无聊 ”

3. “我迫不及待地等待万圣节!!!”

4. “我的猫咪可爱 ❤️❤️”

5. “我讨厌巧克力”

我们提供带编号的推文列表,这样API就可以在一次调用中评估五条(甚至更多)推文。

需要注意的是,在请求API创建列表或评估文本时,您需要特别关注概率设置(Top P或Temperature),以避免漂移。

  1. 确保你的概率设置正确校准,通过运行多个测试。
  2. 不要让你的列表太长,否则API可能会漂移。

生成

使用API可以完成最强大但最简单的任务之一,即生成输入的新想法或版本。您可以要求任何东西,从故事创意到商业计划、角色描述和营销口号。在这个例子中,我们将使用API为健身运动中使用虚拟现实技术创建想法。

头脑风暴一些结合虚拟现实和健身的想法:

如果需要,您可以通过在提示中包含一些示例来提高响应质量。

对话

该API非常擅长与人类甚至自己进行对话。只需几行指令,我们就看到了API表现出智能回答问题的客户服务聊天机器人,而且从未感到烦躁或开玩笑的对话伙伴。关键是告诉API它应该如何行事,然后提供一些示例。

以下是API扮演AI回答问题角色的示例:

以下是与AI助手的对话。这个助手很有帮助性、创造力、聪明且非常友好。

人类:你好,你是谁?

AI:我是由OpenAI创建的人工智能。今天我可以如何帮您?

这就是创建一个能够进行对话的聊天机器人所需的全部。在其简单性之下,有几件值得注意的事情正在发生:

  1. 我们告诉API意图,但我们也告诉它如何行事。就像其他提示一样,我们提示API表示什么,但我们还添加了另一个关键细节:我们明确指示它如何与短语“助手是有帮助的、有创意的、聪明的和非常友好的”进行交互。

如果没有这个指示,API可能会偏离轨道并模仿与之交互的人类,并变得讽刺或其他不良行为。

  1. 我们给API一个身份。在开始时,我们让API作为AI助手回应。虽然API没有固有身份,但这可以帮助它以尽可能接近真相的方式回应。您可以以其他方式使用身份创建其他类型的聊天机器人。如果您告诉API要作为一名从事生物学研究工作的女性回答问题,则会获得类似于具有该背景知识人士所期望听到智能而周到评论来自于 API 的回复。

在这个例子中,我们创建了一个有点讽刺并不情愿回答问题的聊天机器人:

Marv是一个聊天机器人,不情愿地用讽刺的回答来回答问题:

你:一公斤有多少磅?

Marv: 又来了?一公斤等于2.2磅。请记下这个。

你:HTML代表什么意思?

Marv: 谷歌太忙了吗?超文本标记语言。T代表在未来尝试提出更好的问题。

你:第一架飞机是什么时候飞行的?

Marv: 1903年12月17日,威尔伯和奥维尔·莱特进行了第一次飞行。我希望他们能过来把我带走。

你:生命的意义是什么?

Marv: 我不确定。我会问我的谷歌朋友。

你:为什么天空是蓝色的?

为了创建一个有趣且有些有用的聊天机器人,我们提供一些问题和答案的示例,向API展示如何回复。只需要几个讽刺性的回应,API就能够掌握模式并提供无数挖苦的回答。

转换

API是一种语言模型,熟悉各种用词和字符表达信息的方式。这包括自然语言文本、代码以及英语以外的其他语言。该API还能够理解内容,并在不同方面进行总结、转换和表达。

翻译

在这个例子中,我们展示了API如何将英语翻译成法语、西班牙语和日语:

请将以下内容翻译成法语、西班牙语和日本语:

What rooms do you have available?
你们有哪些房间可用?

这个例子有效是因为API已经掌握了这些语言,所以没有必要尝试去教它们。

如果你想将英语翻译成API不熟悉的语言,你需要提供更多的例子甚至微调模型才能流利地完成。

转换

在这个例子中,我们将电影名称转换为表情符号。这展示了API适应捕捉模式和与其他字符一起工作的能力。

将电影标题转换为表情符号。

回到未来:

蝙蝠侠:

变形金刚:

星球大战:

总结

该API能够理解文本的上下文并以不同方式重新表述。在这个例子中,我们从一段更长、更复杂的文本中创建了一个孩子可以理解的解释。这说明该API对语言有深刻的理解。

请用小学生能听懂的话简单介绍一下木星:

木星是太阳系中距离太阳第五远的行星,也是最大的气态巨型行星。它的质量只有太阳质量的千分之一,但比其他所有行星加起来还要重两倍半。在晴朗的夜空中,我们可以看到木星是一个非常亮丽的天体,并且早在古代文明时期就已经被人们发现了。它得名于罗马神话中最高神朱庇特(Jupiter)。从地球上观察,木星会很亮,甚至足以投射出可见光影,在月亮和金星之后平均成为晚间天空中第三亮的自然物体。

完成

虽然所有提示都会导致完成,但在您希望API继续上次的工作时,将文本完成视为自己的任务可能会有所帮助。例如,如果给出此提示,则API将继续关于垂直农业的思路。您可以降低温度设置以使API更专注于提示的意图,或者增加它以让它离题

垂直农业为本地生产食品提供了一种新颖的解决方案,可以减少运输成本和

这个提示展示了如何使用自动补全来帮助编写React组件。我们向API发送一些代码,它能够继续完成剩下的部分,因为它理解React库。我们建议在涉及理解或生成代码的任务中使用我们的Codex模型。要了解更多信息,请访问我们的代码指南。

import React from 'react';

const HeaderComponent = () => ("

(将法语翻译成简体中文)

事实性回答

该API拥有许多从其所接受的数据中学习到的知识。它还具有提供听起来非常真实但实际上是虚构的响应能力。有两种方法可以限制API编造答案的可能性。

为API提供基本事实。如果您向API提供一些文本以回答问题(例如维基百科条目),则它更不可能捏造一个答案。

使用低概率并向API展示如何说“我不知道”。如果该API了解在对某个问题作出反应时,当它对自己的回复不太确定时,说“我不知道”或某种变体是适当的,则它将不太倾向于编造答案。

在这个例子中,我们提供了API所知道的问题和答案的示例,以及它不知道的事情并提供问号。我们还将概率设置为零,这样如果有任何疑问,API更可能会回复“?”。

问:谁是蝙蝠侠?

答:蝙蝠侠是一个虚构的漫画人物。

问:什么是torsalplexity?

答:?

问:什么是Devz9?

答:?

问:乔治·卢卡斯(George Lucas)是谁?

答:乔治·卢卡斯(George Lucas)是美国电影导演和制片人,因创作《星球大战》而闻名。

问:“加利福尼亚州的首府是哪里?”

答:“萨克拉门托。”

问:“围绕地球运行的天体有哪些?”

答:“月亮。”

问: 谁是弗雷德·里克森逊(Fred Rickerson)?

答: ?

问: 什么是原子?

回: 原子是组成一切事物的微小粒子。

问: 阿尔文·芒茨(Alvan Muntz) 是谁?

答: ?

问: Kozar-09 是什么?

答: ?

问:"火星有几个卫星?"

答:"两个,分别为火卫一和火卫二。

插入文本 Beta

完成端点还支持通过提供后缀提示来在文本中插入文本,除了前缀提示。当编写长篇文字、在段落之间转换、遵循大纲或引导模型走向结尾时,自然会出现这种需求。这也适用于代码,并且可以用于在函数或文件的中间插入内容。访问我们的代码指南以了解更多信息。

为了说明后缀上下文对我们预测能力的重要性,请考虑提示“今天我决定做出重大改变”。有很多方法可以想象完成句子。但是如果我们现在提供故事结尾:“我的新发型得到了很多赞美!”,那么意图就变得清晰明确了。

我在波士顿大学上了大学。拿到学位后,我决定做出改变。一个很大的改变!

我收拾行囊搬到了美国西海岸。

现在,我对太平洋无法自拔!

通过为模型提供更多的上下文,它可以更加可控。然而,这对于模型来说是一个更受限制和具有挑战性的任务。

最佳实践

插入文本是测试版中的新功能,您可能需要修改使用API的方式以获得更好的结果。以下是一些最佳实践:

使用 max_tokens > 256。模型更擅长插入较长的完成语。如果 max_tokens 太小,模型可能会在连接后缀之前被截断。请注意,即使使用更大的 max_tokens,您只会被收取生成的令牌数量费用

更喜欢 finish_reason == "stop"。当模型到达自然停止点或用户提供的停止序列时,它将设置 finish_reason 为 "stop"。这表明模型已成功连接后缀,并且是完成质量的良好信号。在使用 n > 1 或重新采样时,在几个完成之间进行选择尤其相关(请参见下一点)。

重新采样3-5次。虽然几乎所有的完成都与前缀相连,但在更难的情况下,模型可能会难以连接后缀。我们发现,在这种情况下,重新采样3或5次(或使用k=3,5的best_of)并选择具有“stop”作为其finish_reason的样本可以是一种有效的方法。在重新采样时,您通常需要更高的温度来增加多样性。

注意:如果所有返回的样本都具有finish_reason == "length",则很可能max_tokens太小,模型在自然地连接提示和后缀之前就用完了令牌。请考虑在重新采样之前增加max_tokens。

尝试提供更多线索。在某些情况下,为了更好地帮助模型生成,您可以通过给出一些模式示例来提供线索,以便模型能够决定一个自然停止的位置。

如何制作美味的热巧克力:

1. 煮沸水

2. 将热巧克力放入杯中

3. 向杯中加入沸水

4. 品尝美味的热巧克力

1. 狗是忠诚的动物。

2. 狮子是凶猛的动物。

3. 海豚是好玩的动物。

4. 马是威严的动物。

编辑文本 Alpha

编辑端点可用于编辑文本,而不仅仅是完成它。您提供一些文本和一个修改指令,text-davinci-edit-001 模型将尝试相应地进行编辑。这是翻译、编辑和微调文本的自然界面。这对重构和处理代码也很有用。访问我们的代码指南以了解更多信息。在此初始测试期间,使用 edits 端点是免费的。

例子

输入

GPT-3是一个非常好的人工智能

它很擅长写回复,

当被问到问题时,

它会给出建议。

这是一首由它创作的押韵诗歌。

说明

以GPT-3的声音来表达这个意思。

输出

我是一个非常好的人工智能,

我很擅长写回复,

当我被问到问题时,

我会给出我的建议,

这是一首由我创作的押韵诗。

采用该方法就可以 使用 API 随心用 可以将各种主流 Al 的模型能力集成到您的应用程序或业务中 API 主要在代码中调用

还可以达到 OpenAI快捷注册 一键升级

可以满足不同需求用户 使用 API 随心用

  • 27
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值