# OpenAI/自动补全(Completions)

# POST 创建完成

POST /v1/completions

给定一个提示,该模型将返回一个或多个预测的完成,并且还可以返回每个位置的替代标记的概率。

为提供的提示和参数创建完成

Body 请求参数

{
  "model": "gpt-3.5-turbo-instruct",
  "prompt": "Say this is a test",
  "max_tokens": 7,
  "temperature": 0
}

# 请求参数

名称 位置 类型 必选 说明
Authorization header string none
body body object none
» model body string 要使用的模型的 ID。您可以使用List models (opens new window) API 来查看所有可用模型,或查看我们的模型概述 (opens new window)以了解它们的描述。
» prompt body string 生成完成的提示,编码为字符串、字符串数组、标记数组或标记数组数组。 请注意,<
» best_of body integer 默认为1 在服务器端生成best_of个补全,并返回“最佳”补全(每个令牌的日志概率最高的那个)。无法流式传输结果。 与n一起使用时,best_of控制候选补全的数量,n指定要返回的数量 – best_of必须大于n。 注意:因为这个参数会生成许多补全,所以它可以快速消耗您的令牌配额。请谨慎使用,并确保您对max_tokens和stop有合理的设置。
» echo body boolean 默认为false 除了补全之外,还回显提示
» frequency_penalty body number 默认为0 -2.0和2.0之间的数字。正值根据文本目前的现有频率处罚新令牌,降低模型逐字重复相同行的可能性。
» logit_bias body object 默认为null 修改完成中指定令牌出现的可能性。 接受一个JSON对象,该对象将令牌(由GPT令牌化器中的令牌ID指定)映射到关联偏差值,-100到100。您可以使用这个令牌化器工具(适用于GPT-2和GPT-3)将文本转换为令牌ID。从数学上讲,偏差在对模型进行采样之前添加到生成的logit中。确切效果因模型而异,但-1至1之间的值应降低或提高选择的可能性;像-100或100这样的值应导致相关令牌的禁用或专属选择。 例如,您可以传递{"50256": -100}来防止生成<
» logprobs body null 默认为null
» max_tokens body integer 默认为16
» n body integer 默认为1
» presence_penalty body number 默认为0 -2.0和2.0之间的数字。正值根据它们是否出现在目前的文本中来惩罚新令牌,增加模型讨论新话题的可能性。 有关频率和存在惩罚的更多信息,请参阅。
» seed body integer 如果指定,我们的系统将尽最大努力确定性地进行采样,以便使用相同的种子和参数的重复请求应返回相同的结果。 不保证确定性,您应该参考system_fingerprint响应参数来监视后端的更改。
» stop body string 默认为null 最多4个序列,API将停止在其中生成更多令牌。返回的文本不会包含停止序列。
» stream body boolean 默认为false 是否流回部分进度。如果设置,令牌将作为可用时发送为仅数据的服务器发送事件,流由数据 Terminated by a data: [DONE] message. 对象消息终止。 Python代码示例。
» suffix body string 默认为null 在插入文本的补全之后出现的后缀。
» temperature body integer 默认为1 要使用的采样温度,介于0和2之间。更高的值(如0.8)将使输出更随机,而更低的值(如0.2)将使其更集中和确定。 我们通常建议更改这个或top_p,而不是两者都更改。
» user body string none
» top_p body integer 表示最终用户的唯一标识符,这可以帮助OpenAI监控和检测滥用。 了解更多。

# 详细说明

» logprobs: 默认为null 包括logprobs个最可能令牌的日志概率,以及所选令牌。例如,如果logprobs为5,API将返回5个最有可能令牌的列表。 API总会返回采样令牌的logprob,因此响应中最多可能有logprobs+1个元素。

logprobs的最大值是5。

» max_tokens: 默认为16 在补全中生成的最大令牌数。

提示的令牌计数加上max_tokens不能超过模型的上下文长度。 计数令牌的Python代码示例。

» n: 默认为1 为每个提示生成的补全数量。

注意:因为这个参数会生成许多补全,所以它可以快速消耗您的令牌配额。请谨慎使用,并确保您对max_tokens和stop有合理的设置。

返回示例

Ok

{
  "id": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7",
  "object": "text_completion",
  "created": 1589478378,
  "model": "gpt-3.5-turbo-instruct",
  "system_fingerprint": "fp_44709d6fcb",
  "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
  }
}

# 返回结果

状态码 状态码含义 说明 数据模型
200 OK (opens new window) Ok Inline

# 返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» id string true none none
» object string true none none
» created integer true none none
» model string true none none
» system_fingerprint string true none none
» choices [object] true none none
»» text string false none none
»» index integer false none none
»» logprobs null false none none
»» finish_reason string false none none
» usage object true none none
»» prompt_tokens integer true none none
»» completion_tokens integer true none none
»» total_tokens integer true none none