OpenAI API Completions
给定一个提示,该模型将返回一个或多个预测的 Completions,并且还可以返回每个位置的替代标记的概率。
Create completion
POST https://api.openai.com/v1/completions
为提供的提示和参数创建 completion
Request body
字段 | 类型 | 是否可选 | 说明 |
model | string | 必须 | 要使用的模型的 ID。您可以使用 List models API 来查看所有可用模型。 |
prompt | string or array | 可选 默认为 <|endoftext|> | 生成完成的提示,编码为字符串、字符串数组、标记数组或标记数组数组。
请注意,<|endoftext|> 是模型在训练期间看到的文档分隔符,因此如果未指定提示,模型将生成新文档的开头。 |
suffix | string | 可选 默认为 null | 插入文本完成后出现的后缀。 |
max_tokens
|
integer
|
可选 默认为 16 |
完成时生成的最大令牌数。 您的提示的令牌计数加上 max_tokens 不能超过模型的上下文长度。大多数模型的上下文长度为 2048 个标记(最新模型除外,它支持 4096)。 |
temperature
|
number | 可选 默认为 1 |
使用什么采样 temperature,介于 0 和 2 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使输出更加集中和确定。
我们通常建议改变这个或 top_p 但不是两者都改变。 |
top_p
|
number
|
可选 默认为 1 |
一种替代 temperature 采样的方法,称为核采样,其中模型考虑具有 top_p 概率质量的标记的结果。所以 0.1 意味着只考虑构成前 10% 概率质量的标记。
我们通常建议更改此值或 temperature,但不要同时更改两者。 |
n | integer | 可选 默认为 1 | 为每个提示生成多少完成。
注意:因为这个参数会产生很多完成,它会很快消耗你的令牌配额。请谨慎使用并确保您对 max_tokens 和停止进行了合理的设置。 |
stream | boolean | 可选 默认为 false | 是否回流部分进度。如果设置,令牌将在可用时作为纯数据服务器发送事件发送,流由数据终止:[DONE] 消息。 |
logprobs | integer | 可选 默认为 null | 在 logprobs 上包括对数概率最有可能的标记,以及所选标记。例如,如果 logprobs 为 5,则 API 将返回 5 个最有可能的标记的列表。 API 将始终返回采样令牌的 logprob,因此响应中最多可能有 logprobs+1 个元素。
logprobs 的最大值为 5。如果您需要更多,请通过我们的帮助中心联系我们并描述您的用例。 |
echo | boolean | 可选 默认为 false | 除了完成之外回显提示 |
stop | string or array | 可选 默认为 null | API 将停止生成更多令牌的最多 4 个序列。返回的文本将不包含停止序列。 |
presence_penalty | number | 可选 默认为 0 | -2.0 和 2.0 之间的数字。正值会根据到目前为止是否出现在文本中来惩罚新标记,从而增加模型谈论新主题的可能性。 |
frequency_penalty | number | 可选 默认为 0 | -2.0 和 2.0 之间的数字。正值会根据新标记在文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性。 |
best_of | integer | 可选 默认为 1 | 在服务器端生成 best_of 完成并返回“最佳”(每个标记具有最高对数概率的那个)。无法流式传输结果。 当与 n 一起使用时,best_of 控制候选完成的数量,n 指定返回多少 - best_of 必须大于 n。 注意:因为这个参数会产生很多完成,它会很快消耗你的令牌配额。请谨慎使用并确保您对 max_tokens 和停止进行了合理的设置。 |
logit_bias | map | 可选 默认为 null |
修改指定标记出现在完成中的可能性。 接受一个 json 对象,该对象将标记(由 GPT 标记器中的标记 ID 指定)映射到从 -100 到 100 的相关偏差值。您可以使用此标记器工具(适用于 GPT-2 和 GPT-3)来转换文本到令牌 ID。从数学上讲,偏差会在采样之前添加到模型生成的对数中。确切的效果因模型而异,但 -1 和 1 之间的值应该会减少或增加选择的可能性;像 -100 或 100 这样的值应该导致相关令牌的禁止或独占选择。 例如,您可以传递 {"50256": -100} 以防止生成 <|endoftext|> 标记。 |
user
|
string
|
可选 | 代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。 |
示例请求
curl | python | node.js |
|
|
|
参数
{
"model": "ada",
"prompt": "Say this is a test",
"max_tokens": 7,
"temperature": 0,
"top_p": 1,
"n": 1,
"stream": false,
"logprobs": null,
"stop": "\n"
}
响应
{
"id": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7",
"object": "text_completion",
"created": 1589478378,
"model": "ada",
"choices": [
{
"text": "\n\nThis is indeed a test",
"index": 0,
"logprobs": null,
"finish_reason": "length"
}
],
"usage": {
"prompt_tokens": 5,
"completion_tokens": 7,
"total_tokens": 12
}
}
更多建议: