Text completion

文本完成

了解如何生成或操作文本

介绍

完成终结点可用于各种任务。它为我们的任何模型提供了一个简单但功能强大的界面。您输入一些文本作为提示,模型将生成一个文本补全,尝试匹配您为其提供的任何上下文或模式。例如,如果你给 API 提示,“正如笛卡尔所说,我认为,因此”,它将以很高的概率返回完成“我是”。

开始探索完成的最佳方式是通过参与积极演练来学习。它只是一个文本框,您可以在其中提交提示以生成完成。您可以从如下所示的示例开始:

为冰淇淋店写一个标语。

提交后,您将看到如下所示的内容:

您看到的实际完成情况可能会有所不同,因为默认情况下 API 是不确定的。这意味着每次调用它时,即使提示保持不变,您也可能得到略有不同的完成。将temperature设置为 0 将使输出大部分具有确定性,但可能会保留少量可变性。

这个简单的文本输入、文本输出界面意味着您可以通过提供说明或仅提供您希望它做什么的几个示例来“编程”模型。它的成功通常取决于任务的复杂性和提示的质量。一个好的经验法则是考虑如何写一个单词问题供中学生解决。编写良好的提示为模型提供了足够的信息,以便了解您想要什么以及它应该如何响应。

本指南涵盖一般提示设计最佳实践和示例。要了解有关使用我们的 Codex 模型处理代码的更多信息,请访问代码指南章节。

请记住,默认模型的训练数据在 2021 年中断,因此它们可能不了解当前事件。

提示设计

基本

模型可以做任何事情,从生成原始故事到执行复杂的文本分析。因为它可以做很多事情,所以你必须明确描述你想要什么。展示,而不仅仅是讲述,通常是良好提示设计的秘诀。

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

展示和讲述。通过说明、示例或两者的组合来明确您想要什么。如果希望模型按字母顺序对项目列表进行排名或按情绪对段落进行分类,请显示这是您想要的。

提供高质量的数据。如果尝试生成分类器或让模型遵循模式,请确保有足够的示例。一定要校对你的例子——这个模型通常足够聪明,可以看穿基本的拼写错误并给你一个响应,但它也可能认为这是故意的,这样的情况发生的话,可能会影响响应结果正确性。

检查您的设置。temperaturetop_p的设置可以控制模型在生成响应时的确定性。如果你要求它给出只有一个正确结果的答案,那么你需要把这些设置得更低。如果您正在寻找更多样化的响应,那么您可能希望将它们设置得更高。注意,一般人们使用这些设置的第一个错误是假设:它是“聪明”或“创造力”控件。

故障 排除

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

  1. 是否清楚预期的生成应该是什么?
  2. 有足够的例子吗?
  3. 您是否检查过您的示例是否有错误?(API 不会直接告诉你)
  4. 是否正确使用temperature 和top_p?

Classification-分类

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

确定推文的情绪是积极的、中立的还是消极的。

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

情绪:

在这个例子中,值得关注的几个功能:

  1. 使用简单的语言来描述您的输入和输出。我们使用简单的语言输入“推文”和预期的输出“情绪”。最佳做法是,从简单的语言描述开始。虽然您通常可以使用速记或键来指示输入和输出,但最好从尽可能具有描述性开始,然后向后工作以删除多余的单词,看看性能是否保持一致。
  2. 向 API 展示如何响应任何案例。在此示例中,我们在指令中包含可能的情绪标签。中性标签很重要,因为在许多情况下,即使是人类也很难确定某事是积极的还是消极的,而在这种情况下,它两者都不是。
  3. 对于熟悉的任务,您需要更少的示例。对于此分类器,我们不提供任何示例。这是因为 API 已经了解了情绪和推文的概念。如果要为 API 可能不熟悉的内容构建分类器,则可能需要提供更多示例。
提高分类器的效率

现在我们已经掌握了如何构建分类器,让我们以这个例子为例,使其更加高效,以便我们可以使用它从一个 API 调用中获取多个结果。

对这些推文中的情绪进行分类:

1.“我受不了作业”

2.“这很糟糕。我很无聊