高级用法

使用高级技术进行重现性和参数调整。

OpenAI 的文本生成模型(通常称为生成式预训练转换器或大型语言模型)已经过训练,可以理解自然语言、代码和图像。这些模型提供文本输出以响应其输入。这些模型的文本输入也称为 “prompts”。设计提示本质上是您如何“编程”大型语言模型模型,通常是通过提供有关如何成功完成任务的说明或一些示例。source

可重复的输出

默认情况下,聊天完成是不确定的(这意味着模型输出可能因请求而异)。话虽如此,我们通过让您访问 seed 参数和 system_fingerprint 响应字段,为确定性输出提供了一些控制。source

要在 API 调用中接收(大部分)确定性输出,您可以:source

  • seed 参数设置为您选择的任何整数,并在您希望确定性输出的请求中使用相同的值。
  • 确保所有其他参数(如prompttemperature) 在请求中完全相同。

有时,由于 OpenAI 对我们端的模型配置进行了必要的更改,确定性可能会受到影响。为了帮助您跟踪这些更改,我们公开了 system_fingerprint 字段。如果此值不同,则由于我们对系统所做的更改,您可能会看到不同的输出。source

管理令牌

语言模型以称为令牌的块读取和写入文本。在英语中,标记可以短至一个字符,也可以长至一个单词(例如,a apple),在某些语言中,标记甚至可以短于一个字符,甚至长于一个单词。source

根据粗略的经验法则,对于英语文本,1 个令牌大约是 4 个字符或 0.75 个单词。source

查看我们的 Tokenizer 工具来测试特定字符串,并了解它们如何转换为令牌。source

例如,字符串"ChatGPT is great!"被编码为 6 个标记:["Chat", "G", "PT", " is", " great", "!"].source

API 调用中的令牌总数会影响:source

  • 您的 API 调用费用 (按令牌付费)
  • 您的 API 调用需要多长时间,因为写入更多令牌需要更多时间
  • 您的 API 调用是否有效,因为令牌总数必须低于模型的最大限制(4097 个令牌gpt-3.5-turbo)

输入和输出令牌都计入这些数量。例如,如果您的 API 调用在消息输入中使用了 10 个令牌,而您在消息输出中收到了 20 个令牌,则您需要支付 30 个令牌的费用。但请注意,对于某些模型,输入和输出中 Token 的每个 Token 的价格不同(有关更多信息,请参阅定价页面)。source

要查看 API 调用使用了多少个令牌,请检查usage字段(例如response['usage']['total_tokens']).source

聊天模型,如gpt-3.5-turbogpt-4-turbo-preview使用令牌的方式与完成 API 中可用的模型相同,但由于它们基于消息的格式,因此更难计算对话将使用多少令牌。source

深入探讨
计算聊天 API 调用的令牌

要在不进行 API 调用的情况下查看文本字符串中有多少个令牌,请使用 OpenAI 的 tiktoken Python 库。示例代码可以在 OpenAI Cookbook 的指南中找到,了解如何使用 tiktoken 对令牌进行计数source

传递给 API 的每条消息都会消耗 content、role 和其他字段中的令牌数量,以及一些用于幕后格式化的额外令牌。这将来可能会略有变化。source

如果对话的标记太多,无法满足模型的最大限制(例如,超过 4097 个标记gpt-3.5-turbo或超过 128k 个代币gpt-4o),则必须截断、省略或以其他方式缩小文本,直到适合为止。请注意,如果从 messages 输入中删除消息,模型将丢失有关该消息的所有知识。source

请注意,很长的对话更有可能收到不完整的回复。例如,gpt-3.5-turbo长度为 4090 个 token 的 conversation 将在 6 个 token 后被切断其回复。source

参数详情

频率和存在惩罚

Chat Completions APILegacy Completions API 中的频率和存在惩罚可用于降低对重复令牌序列进行采样的可能性。source

深入探讨
幕后的处罚

如果目的是在一定程度上减少重复样本,则惩罚系数的合理值约为 0.1 比 1。如果目的是强烈抑制重复,则可以将系数增加到 2,但这会显着降低样本的质量。负值可用于增加重复的可能性。source

令牌对数概率

在请求时,Chat Completions APILegacy Completions API 中的 logprobs 参数会提供每个输出标记的对数概率,以及每个标记位置最可能的有限数量的标记及其对数概率。在某些情况下,这对于评估模型对其输出的置信度或检查模型可能给出的替代响应非常有用。source

其他参数

请参阅完整的 API 参考文档以了解更多信息。source