English
主导航

旧版 API

Completions API

Completions API 端点在 2023 年 7 月进行了最后一次更新,其接口与新的 Chat Completions 端点有所不同。其输入不再是消息列表,而是一个自由格式的文本字符串,称为 prompt.

一个旧版 Completions API 调用示例如下:

1
2
3
4
5
6
7
from openai import OpenAI
client = OpenAI()

response = client.completions.create(
model="gpt-3.5-turbo-instruct",
prompt="Write a tagline for an ice cream shop."
)

中找到)请参阅完整的 API 参考文档 to learn more.

插入文本

Completions 端点还支持通过提供 后缀 以及被视为前缀的标准 prompt 来插入文本。在撰写长篇文本、在段落之间过渡、遵循大纲或引导模型走向结局时,自然会产生这种需求。这也适用于代码,可用于在函数或文件中间进行插入。

深入探讨
插入文本

Completions 响应格式

Completions API 响应示例如下:

{
  "choices": [
    {
      "finish_reason": "length",
      "index": 0,
      "logprobs": null,
      "text": "\n\n\"Let Your Sweet Tooth Run Wild at Our Creamy Ice Cream Shack"
    }
  ],
  "created": 1683130927,
  "id": "cmpl-7C9Wxi9Du4j1lQjdjhxBlO22M61LD",
  "model": "gpt-3.5-turbo-instruct",
  "object": "text_completion",
  "usage": {
    "completion_tokens": 16,
    "prompt_tokens": 10,
    "total_tokens": 26
  }
}

在 Python 中,可以通过以下方式提取输出: response['choices'][0]['text'].

该响应格式与 Chat Completions API 的响应格式类似。

插入文本

Completions 端点还支持通过提供 后缀 以及被视为前缀的标准 prompt 来插入文本。在撰写长篇文本、在段落之间过渡、遵循大纲或引导模型走向结局时,自然会产生这种需求。这也适用于代码,可用于在函数或文件中间进行插入。

深入探讨
插入文本

Chat Completions 与 Completions

通过使用单个用户消息构建请求,可以使 Chat Completions 的格式类似于 completions 的格式。例如,可以使用以下 completions 提示词将英语翻译为法语:

Translate the following English text to French: "{text}"

而等效的 chat 提示词为:

[{"role": "user", "content": 'Translate the following English text to French: "{text}"'}]

同样,可以通过相应地格式化输入,使用 completions API 来模拟用户与助手之间的对话 相应地.

这些 API 之间的区别在于各自可用的底层模型。Chat Completions API 是我们最强大模型(gpt-4o)和最具成本效益模型(gpt-4o-mini).