介绍
“completions
” 端点可用于各种任务。它为我们的任何模型提供了一个简单但强大的接口。您可以将一些文本作为提示输入,模型将生成一个文本自动补全,尝试匹配您给它的上下文或模式。例如,如果您给API提供prompt
:“正如笛卡尔所说的,我思故我在
”。它将以高概率返回“我也是
”作为自动补全。
开始探索 “completions
” 的最佳方式是通过我们的 Playground。它只是一个文本框,您可以在其中提交一个prompt
来生成一个补全。您可以从以下示例开始:
为冰淇淋店写一个标语。
提交后,您将看到如下所示的内容:
我们用每一勺提供微笑!
由于 API 默认是不确定的,因此您看到的实际补全结果可能会有所不同。这意味着,即使您的提示相同,每次调用时可能会得到稍微不同的补全。将temperature
设置为 0 可使输出大部分确定性,但可能仍存在一些小量的变异性。
这种简单的文本输入和输出界面意味着您可以通过提供指示或仅提供一些您想让它完成的示例来 “编程” 模型。其成功通常取决于任务的复杂性和您的提示的质量。一个好的经验法则是考虑如何编写一个能够为中学生解决问题的词。一个写得好的提示提供了足够的信息,让模型知道您想要什么以及它应该如何回应。
本指南涵盖了通用提示设计的最佳实践和示例。要了解有关使用我们的 Codex 模型处理代码的更多信息,请访问我们的代码指南。
请记住,默认模型的训练数据截至于2021年,因此可能没有当前事件的相关知识。我们计划在未来添加更多的连续训练。
提示设计
基础知识
我们的模型可以完成从生成原创故事到执行复杂文本分析的所有任务。因为它们可以做很多事情,所以您必须明确描述您想要的内容。展示而非仅仅告诉往往是一个好的
prompt
的秘诀。创建
prompt
有三个基本准则:展示和说明
通过说明、示例或两者结合,清楚地表明您想要什么。如果您希望模型按字母顺序排列一系列项目或按情感分类段落,请明确表明您的意图。
提供高质量的数据
如果您试图构建分类器或让模型遵循某种模式,请确保有足够的示例。请务必校对您的示例——模型通常足够聪明,可以看穿基本的拼写错误并给出响应,但它也可能认为这是故意的,这可能会影响响应。
检查您的设置
temperature
和top_p
设置控制模型在生成响应时的确定性程度。如果您要求它回答只有一个正确答案的问题,那么您需要将这些设置较低。如果您想获得更多样化的响应,则可能需要将它们设置得更高。使用这些设置的第一个错误是假设它们是“聪明”或“创造力”控件。
故障排除
如果您在使用API时遇到问题,请按照以下清单进行排查:
- 是否清楚预期生成的文本内容是什么?
- 是否提供了足够的示例?
- 是否检查了示例中的错误?(API不会直接告诉您)
- 是否正确使用了
temperature
和top_p
参数?