完成Completions
给定提示,模型将返回一个或多个预测完成,并且还可以返回每个位置上备用令牌的概率。
创建补全Create completion
post https://api.openai.com/v1/completions (opens in a new tab)
为提供的提示和参数创建完成。
请求正文
您可以使用列出模型 API查看所有可用模型,或查看我们的模型概述了解它们的描述。
prompt是字符串string 或者数组(array)可选。 Optional 默认是 <|endoftext|>
用作生成完成的提示,编码为字符串、字符串数组、令牌数组或令牌数组的数组。
请注意,<|endoftext|>
是模型在训练过程中看到的文档分隔符,因此如果不指定提示,模型将像从新文档的开头生成一样。
suffix 字符串类型 可选。 默认是 null插入文本完成后的后缀。
max_tokens 为整数,可选。默认为 16。当生成完成时,要生成的最大 token 数量。
您的提示文本加上 max_tokens
的 token 数量不能超过模型的上下文长度。大多数模型的上下文长度为 2048 个 token(除最新的模型支持 4096 个 token)。
temperature 数字类型 Optional 默认是 ** 1 ** 要使用的采样温度(temperature),介于0和2之间。高值如0.8会使输出更加随机,而低值如0.2会使其更加集中和确定性。
我们通常建议更改 temperature
或 top_p
中的一个,而不是同时更改两者。
top_p 为数字类型,可选。默认为 1。采用温度(temperature)抽样的替代方法,称为“核采样”(nucleus sampling),其中模型考虑具有 top_p 概率质量的标记的结果。因此,0.1 表示仅考虑组成前 10% 概率质量的标记。
我们通常建议更改 temperature
或 top_p
中的一个,而不是同时更改两者。
n 为整数类型,可选。默认为 1。每个提示生成的完整次数。
注意: 因为此参数生成了许多完成,它可能会快速消耗您的令牌配额。请谨慎使用,并确保您对 max_tokens
和 stop
进行合理的设置。
stream 布尔类型,可选。 默认是 falseWhether to stream back partial progress. If set, tokens will be sent as data-only 服务端发送事件 (opens in a new tab) as they become available, with the stream terminated by a data: [DONE]
message.
logprobs
整数类型,可选。 默认是 null。在 logprobs
个可能性最高的标记上包括对数概率以及被选中的标记。例如,如果 logprobs
为 5,则API将返回最有可能的 5 个标记的列表。API将始终返回抽样标记的 logprob
,因此响应中可能有多达 logprobs +1
个元素。
logprobs 的最大值为 5。如果您需要更多,请通过我们的 帮助中心 (opens in a new tab) 联系我们,并描述您的用例。
echo 布尔类型,可选。 默认是 false添加到完成结果中的提示。
stop 字符串或者数组类型,可选。 默认是 null最多4个序列,API将停止生成进一步的标记。返回的文本将不包含停止序列。
presence_penalty 数字类型,可选。 默认是 0介于-2.0和2.0之间的数字。正值基于新标记出现在文本中的情况对其进行惩罚,增加模型谈论新话题的可能性。
frequency_penalty 数字类型,可选。 默认是 0介于-2.0和2.0之间的数字。正值基于新标记在文本中的现有频率对其进行惩罚,降低模型重复相同行的可能性。
best_of 整数类型,可选。 默认是 1 。在服务器端生成“最佳”完成,并返回具有最高每个标记对数概率的完成,best_of
为生成完成的数目。结果无法通过流式传输获取。
当与 n
一起使用时,best_of
控制候选完成的数量,n
指定要返回的数量 - best_of
必须大于 n
。
注意: 因为此参数生成了许多完整的完成,它可能会快速消耗您的令牌配额。请谨慎使用,并确保您对 max_tokens
和 stop
进行合理的设置。
logit_bias map类型,可选。 默认是 null修改特定令牌出现在完成中的可能性。
接受将标记(由GPT分词器中的标记ID指定)映射到介于-100到100的相关偏差值的JSON对象。您可以使用此 分词器工具(适用于GPT-2和GPT-3)将文本转换为标记ID。在数学上,在采样之前,将偏差添加到模型生成的logits中。确切的效果将因模型而异,但-1到1之间的值应减少或增加选择的可能性;像-100或100这样的值应导致相关标记的禁令或独家选择。
As an example, you can pass {"50256": -100}
to prevent the <|endoftext|> token from being generated.
user 字符串类型,可选。用于表示您的最终用户的唯一标识符,可帮助OpenAI监视和检测滥用情况。了解更多。
Example 请求示例(Python方式)
curl https://api.openai.com/v1/completions
-H "Content-Type: application/json"
-H "Authorization: Bearer $OPENAI_API_KEY"
-d '{
"model": "text-davinci-003",
"prompt": "Say this is a test",
"max_tokens": 7,
"temperature": 0
}'
参数格式(Parameters text)
{
"model": "text-davinci-003",
"prompt": "Say this is a test",
"max_tokens": 7,
"temperature": 0,
"top_p": 1,
"n": 1,
"stream": false,
"logprobs": null,
"stop": "n"
}
请求示例(Python方式)
{
"id": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7",
"object": "text_completion",
"created": 1589478378,
"model": "text-davinci-003",
"choices": [
{
"text": " This is indeed a test",
"index": 0,
"logprobs": null,
"finish_reason": "length"
}
],
"usage": {
"prompt_tokens": 5,
"completion_tokens": 7,
"total_tokens": 12
}
}