我尝试过使用 100_000、20_000,但似乎只有 10_000 是可能的:
from openai import OpenAI
client = OpenAI()
messages = {"role": "user", "content": "Hello"}
completion = client.chat.completions.create(
model="gpt-4o-mini", messages=messages,
max_tokens=10_000
)
print(completion.choices[0].message.content)
有文档
https://platform.openai.com/docs/api-reference/chat/create#chat-create -max_tokens
但没有明确指示最大可能的
max_tokens
值是多少。
你提的问题很好!虽然 OpenAI 的文档没有明确说明
max_tokens
的上限,但确实有一些限制。
实际限制
-
模型上下文长度:
每个模型都有一个最大上下文长度,它限制了输入和输出的总 token 数量。例如,
gpt-4o-mini
的上下文长度为 8,192 个 token。这意味着max_tokens
的值必须小于这个数字,即使考虑到了你的提示也会占用一些 token。 -
模型可用性和配额:
更高性能的模型,例如
gpt-4-32k
,拥有更大的上下文窗口(32,768 个 token)。 但是,这些模型可能需要特殊的访问权限,并且可能受限于更高的使用成本和更低的速率限制。
查找模型限制
你可以通过以下方式找到特定模型的上下文长度以及其他限制:
- OpenAI 模型文档: 查看 https://platform.openai.com/docs/models ,查找你正在使用的模型,并查看其规格。
-
API 错误消息:
如果你尝试使用超过限制的
max_tokens
值,API 将返回一个错误消息,其中会说明该模型允许的最大 token 数。
建议
-
从小处着手,逐步增加:
先从较小的
max_tokens
值开始,例如 1,000 或 2,000,然后根据需要逐渐增加,直到找到适合你的用例的值。 - 监控 token 使用量: 密切关注你的应用程序的 token 使用量,并在必要时进行调整,以避免超出限制或产生意外费用。
希望这些信息对你有帮助!
标签:python,openai-api,large-language-model,gpt-4o-mini From: 78827379