You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用OpenAI ChatCompletion API时,何时会返回多个choices?

OpenAI ChatCompletion API中choices多条目情况及解读

何时response['choices']会包含多个条目

当调用openai.ChatCompletion.create()时,显式设置n参数的值大于1,就会返回多个条目。n参数用于指定模型要生成的独立回复候选数量。

示例代码(设置生成2个回复):

response = openai.ChatCompletion.create(
    model="gpt-4",
    n=2,
    messages=[
        {"role": "system", "content": instructions},
        {"role": "user", "content": my_input}
    ])

此时response['choices']会包含2个元素,每个对应一个独立的模型回复。

如何解读这些条目

每个条目都是模型针对相同输入生成的独立候选回复,可通过以下字段理解内容:

  • index:条目的顺序编号(从0开始),对应n参数设置的数量
  • message:包含回复的具体内容(content字段),角色固定为assistant
  • finish_reason:标记回复结束的原因,常见值包括:
    • stop:模型自然完成回复,触发了内置停止序列
    • length:因达到max_tokens参数限制而停止生成
    • function_call:模型决定调用预设的工具函数(当配置了functions参数时)

这些候选回复相互独立,是模型基于同一输入生成的不同输出,你可根据场景需求选择其中一个,或对比多个回复的差异来使用。

内容的提问来源于stack exchange,提问作者spraff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 06:48:11