GPT Image 2.5 is live — OpenAI's newest image model, targeted edits that leave the rest of the frame alone
GPT-6 Luna API 设置 temperature:为什么返回 400,请求该怎么写
2026/10/07

GPT-6 Luna API 设置 temperature:为什么返回 400,请求该怎么写

想在 GPT-6 Luna API 上设置 temperature?本文解释 GPT-6 Luna 和 Sol 为什么对 temperature 与 top_p 返回 400,给出准确的模型 ID 和修正后的请求。

在 GPT-6 Luna API 上设置 temperature,通常换来的不是更稳定的回答,而是一个 HTTP 400。OpenAI 的 GPT-6 迁移指南要求:只要推理强度(reasoning effort)不是 none,就要去掉 temperature、top_p 和 top_logprobs,在 Chat Completions 上还要再去掉 logprobs[1]。GPT-6 Luna 的默认强度是 medium[2],所以一个加了 temperature: 0.2、却没动强度的请求,正好踩在这条规则的错误一侧。

本文讲清这条规则到底怎么写的、开发者在 Amazon Bedrock、Azure 和 OpenAI 客户端上贴出来的原始报错、正确的模型 ID,以及 reAPI Chat Completions 端点上修改前后的请求对比。同样的规则也适用于 GPT-6 Sol。

要点速览

  • 去掉 temperature 和 top_p。 OpenAI 的指南要求在推理强度不是 none 时去掉这两个参数,以及 top_logprobs[1]。Luna 的默认强度是 medium[2]。
  • 在 reAPI 上规则更简单: temperature、top_p、frequency_penalty 和 presence_penalty 在 gpt-6-luna 和 gpt-6-sol 上都会返回 400。任何请求里都不要带它们[3][4]。
  • 连 temperature: 1 也可能失败。 Langflow 的一份 bug 报告发现,Amazon Bedrock 的 Converse API 对这个字段一律拒绝,任何取值都不行,包括 1[5]。
  • 你真正能调的是 reasoning_effort: none、low、medium、high、xhigh 或 max[2]。没有 auto 这个值。
  • 模型 ID 是 gpt-6-luna(以及 gpt-6-sol),一字不差照写[2][3]。
  • Microsoft Q&A 排第一的那条结果是另一个 bug。 它讲的是 Azure AI Foundry 拒绝 reasoning.effort,跟 temperature 无关[6]。

GPT-6 Luna 为什么拒绝 temperature

GPT-6 Luna 是推理模型。OpenAI 的模型页列出了 "Reasoning token support" 和六档推理强度,默认 medium[2]。OpenAI GPT-6 指南里的 "Update API and model parameters" 清单,把采样参数单独放在一个小标题下[1]:

Unsupported parameters: When reasoning effort is not none, remove temperature, top_p, and top_logprobs. For Chat Completions, also remove logprobs.

注意这里的条件。指南把"去掉这些参数"绑定在推理强度上,而不是模型名上。同一份指南还指出,GPT-6 Sol 和 GPT-6 Luna 支持 none,GPT-6 Astra 和 GPT-6.1 Sol 不支持[1]。实际使用中,大多数请求跑在默认的 medium 上,所以大多数带 temperature 的请求都会失败。

reAPI 文档记录的结果更严格。gpt-6-luna 的参数表基于 2026-09-24 在端点上的实测,把 temperature、top_p、frequency_penalty 和 presence_penalty 标为"该模型不支持,发送其中任何一个都会返回 400,请不要放进请求"[3]。gpt-6-sol 的文档页里有同样一行[4]。文档没有写 none 强度下的例外,所以别指望有例外:直接删掉这些字段。

开发者实际遇到的 400 报错

搜这个问题时,结果里混着好几种不同的错误。下面是大家公开贴出来的原始报错、各自的来源,以及对应的修法。

报错原文出现位置修法
"Only the default (1) value is supported."Bedrock 的 OpenAI 兼容端点,Langflow 发送 temperature 0.1[5]去掉 temperature
"This model doesn't support the temperature field. Remove temperature and try again."Bedrock Converse,来自 Langflow(默认 0.7)和 Phoenix(默认 1)[5][7]去掉 temperature,再去掉 top_p,Converse 会以同样方式拒绝它[5]
"Unsupported parameter: 'reasoning.effort' is not supported with this model."Azure AI Foundry agents 和 Foundry project endpoint[6][8]与 temperature 无关;见 FAQ 中的 Azure 一问
"Function tools with reasoning_effort are not supported for gpt-6-luna in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'."OpenAI Chat Completions,一个发送 tools 的 Ruby 客户端[9]按 OpenAI 模型页的说法,改用 Responses API 或把强度设为 none[2]
"Invalid parameter: 'text.format' of type 'json_schema' is not supported with model version gpt-6-luna-2026-09-22"一个 Foundry Agent 定义[10]报告针对的是 Azure;与 temperature 无关

其中两份报告显示,这个字段是在没人主动设置的情况下被带上的。Phoenix 的 AWS playground 每次运行都从默认配置里带上 temperature: 1,而且滑块无法清空[7]。Langflow 的 Bedrock 组件默认发送 Temperature 0.7 和 Top P 0.9[5]。所以,如果你自己的代码从没提过 temperature 却还是报错,去查框架的默认值。

在 reAPI 上给 GPT-6 Luna API 设置 temperature:修改前后对比

reAPI 通过 POST https://reapi.ai/api/v1/chat/completions 提供 GPT-6 Luna,用你的 reAPI key 作为 bearer token[3]。下面这个请求沿用了老一代对话模型的习惯,会被拒绝:

# Rejected: temperature and top_p return 400 on gpt-6-luna
curl https://reapi.ai/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-luna",
    "messages": [
      { "role": "user", "content": "Classify this ticket as billing, bug or account access: I was charged twice." }
    ],
    "temperature": 0.2,
    "top_p": 0.9
  }'

修正版删掉这两个字段,改设模型真正会生效的参数。在 reAPI 上,reasoning_effort 接受全部六档,max_completion_tokens 最高可设到 128,000 并生效[3]:

# Accepted: no sampling fields, explicit effort and output cap
curl https://reapi.ai/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-luna",
    "messages": [
      { "role": "user", "content": "Classify this ticket as billing, bug or account access: I was charged twice." }
    ],
    "reasoning_effort": "low",
    "max_completion_tokens": 1000
  }'

推理 token 计入 max_completion_tokens,并按输出计费,所以只按可见答案长度来定上限,遇到难一些的 prompt 就可能被截断[3]。当前的按 token 费率见 GPT-6 Luna 模型页。

reAPI 上其余参数的表现,两个 GPT-6 模型的文档记录一致[3][4]:

字段在 gpt-6-luna 和 gpt-6-sol 上的结果
temperature、top_p、frequency_penalty、presence_penalty400,不要传
seed、stop、logprobs、verbosity接受(200),但不起作用
n只能为 1;更大的值返回 400
reasoning_effortnone、low、medium、high、xhigh、max;省略时为 medium
response_format生效,包括带 strict 的 json_schema
tools、tool_choice在 none 和 medium 强度下都会返回 tool_calls

tools 这一行和 OpenAI 自己的 Chat Completions 规则不同:OpenAI 只允许在 reasoning_effort: "none" 时使用 function calling[2]。而在 reAPI 的端点上,2026-09-24 的实测中 tools 在 medium 下也返回了 tool_calls[3]。

不能用 temperature,该用什么

temperature 控制的是采样的随机性。GPT-6 Luna 没有提供直接的替代品,所以要看你当初想用 temperature 达到什么目的,再选对应的参数。

你想要稳定、可解析的输出。 用 response_format 配合 JSON schema 和 strict: true。reAPI 在两个 GPT-6 模型上都会应用它[3],严格的 schema 能固定答案的结构,而这正是很多 temperature: 0 设置想要的效果。

你想要更快或更便宜的回答。 调低 reasoning_effort。OpenAI 的推理指南建议,分类、快速检索这类对延迟敏感的任务用 none,工具调用、客服流程和起草文本用 low[11]。推理 token 少了,计费的输出 token 也会少[3]。

你想要多样化的回答。 在 reAPI 上,seed 和 n 都帮不上忙。seed 能被接受但不起作用,n 只能为 1[3]。分开发多个请求,或者在一个 prompt 里直接要求给出几个备选。

你想要不同的风格。 在 system 或 developer 消息里写明。用采样参数调语气本来就很粗糙,现在指令是唯一剩下的手段。

在 Python 里剔除这些字段

如果是某个共享 helper 或配置注入了采样默认值,就在调用前统一剔除,而不是逐个修改调用方。下面的代码用官方 OpenAI SDK 指向 reAPI,写法与 reAPI 文档里的 Python 示例一致[3]:

from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://reapi.ai/api/v1")

REJECTED = {"temperature", "top_p", "frequency_penalty", "presence_penalty"}

def gpt6_params(params: dict) -> dict:
    """Drop fields that gpt-6-luna and gpt-6-sol answer with 400."""
    return {k: v for k, v in params.items() if k not in REJECTED}

params = {"temperature": 0.2, "top_p": 0.9, "max_completion_tokens": 1000}

resp = client.chat.completions.create(
    model="gpt-6-luna",
    messages=[{"role": "user", "content": "Summarize this refund policy in two sentences."}],
    reasoning_effort="low",
    **gpt6_params(params),
)
print(resp.choices[0].message.content)

如果找不到某个字段是从哪来的,测试时把最终序列化后的请求体的 key 打印出来。上面提到的 Phoenix 和 Langflow 两份报告,都是调用方从没写过的默认值惹的祸[5][7]。

常见问题

GPT-6 Luna API 设置 temperature 的 GitHub issue

GitHub 上关于这个问题的 issue,大多是一些工具默认发送 temperature 导致的 bug。Langflow 的 Bedrock 组件给 temperature 和 top_p 分别发送 0.7 和 0.9[5],Phoenix 的 AWS playground 每次运行都发送 temperature: 1[7]。两份报告都说,去掉这些字段后请求就能成功。你自己代码里的修法也一样:不要给 GPT-6 Luna 发送 temperature 或 top_p。

GPT-6 Luna API 在 Python 里设置 temperature

设置不了。把 temperature 和 top_p 从 client.chat.completions.create(...) 里拿掉,改传 reasoning_effort。在 reAPI 上这两个字段都会返回 400[3]。如果它们是从共享配置里带进来的,上面的 Python helper 会把它们过滤掉。

GPT-6 Luna API 设置 temperature 的示例

上面修正后的 cURL 请求就是示例:model 设为 gpt-6-luna,带上 messages 数组、reasoning_effort: "low" 和 max_completion_tokens: 1000,不带 temperature 和 top_p。它遵循 reAPI GPT-6 Luna 文档里的字段规则[3]。

GPT-6 Luna API 模型名称

API 的模型 ID 是 gpt-6-luna。OpenAI 把它同时列为模型 ID 和唯一的快照版本,并注明 "Use gpt-6-luna in your API requests."[2] reAPI 使用同一个字符串,并把它视为与 gpt-5.6-luna、gpt-6-sol 不同的模型[3]。Azure 的报错信息里还会出现一个模型版本号 gpt-6-luna-2026-09-22[10]。

GPT-6 Luna API 推理强度能设 auto 吗

推理强度没有 auto。OpenAI 为 GPT-6 Luna 列出的是 none、low、medium、high、xhigh 和 max,默认 medium[2]。想用模型默认值,就完全不传 reasoning_effort。OpenAI 的推理指南里确实用到了 auto,但那是别的设置:推理摘要和 reasoning.context 字段[11]。

GPT-6 Luna 在 Azure 上的问题

Azure 上被引用最多的问题跟 temperature 无关。一篇 2026 年 9 月 29 日的 Microsoft Q&A 帖子报告,Foundry agents 失败并返回 "Unsupported parameter: 'reasoning.effort' is not supported with this model"[6]。一个 GitHub issue 在 Foundry project endpoint 上复现了这个问题:普通调用返回 500,带强度参数返回 400,而 resource endpoint 带推理强度可以正常工作。报告者的变通办法是改调 resource endpoint,截至我们 2026 年 10 月 7 日查看时,该 issue 仍未关闭[8]。

GPT-6 Sol 该用哪档推理强度

GPT-6 Sol 接受的六个取值与 Luna 相同,默认 medium[4][12]。OpenAI 的通用建议是:对延迟敏感的任务用 none,工具调用和起草用 low,大多数工作负载用 medium,困难的调试和规划用 high,xhigh 只在评测证明值得付出额外延迟和成本时才用[11]。在 reAPI 上,Sol 和 Luna 一样拒绝 temperature 和 top_p[4]。

让 GPT-6 Luna 请求一次通过

一个干净的 GPT-6 Luna 请求包含:值为 gpt-6-luna 的 model、一个 messages 数组、一个你有意选定的 reasoning_effort,以及给推理留足空间的输出上限。它不带 temperature、top_p 或任何 penalty 字段。如果你是为了在 GPT-6 Luna API 上设置 temperature 而来,答案是别再设置它:用推理强度控制成本和延迟,用严格的 JSON schema 控制输出结构,再检查一下你的框架默认加了什么。同样的请求结构也适用于 GPT-6 Sol。参数说明见 GPT-6 Luna 文档 和 GPT-6 Sol 文档,当前费率见 GPT-6 Luna 和 GPT-6 Sol 模型页。

参考资料

  1. OpenAI. Using GPT-6. 2026 年 10 月获取自 developers.openai.com/api/docs/guides/latest-model
  2. OpenAI. GPT-6 Luna model page. 2026 年 10 月获取自 developers.openai.com/api/docs/models/gpt-6-luna
  3. reAPI. gpt-6-luna API documentation. 2026 年 10 月获取自 reapi.ai/docs/gpt-6-luna
  4. reAPI. gpt-6-sol API documentation. 2026 年 10 月获取自 reapi.ai/docs/gpt-6-sol
  5. Langflow on GitHub. Amazon Bedrock Converse: OpenAI GPT-6 Sol/Luna/Astra calls fail with 400 because Temperature and Top P are sent by default (#15349). 2026 年 10 月获取自 github.com/langflow-ai/langflow/issues/15349
  6. Microsoft Q&A. GPT-6-Luna agents fail with Unsupported parameter: 'reasoning.effort' error. 2026 年 10 月获取自 learn.microsoft.com/en-us/answers/questions/6018360
  7. Arize Phoenix on GitHub. Playground can't run OpenAI GPT-6 Sol/Luna/Astra on AWS Bedrock: default temperature=1 is always sent and rejected with 400 (#16430). 2026 年 10 月获取自 github.com/Arize-ai/phoenix/issues/16430
  8. Azure SDK for Python on GitHub. azure-ai-projects: gpt-6-luna returns 500 on project endpoint, works on resource endpoint (#49169). 2026 年 10 月获取自 github.com/Azure/azure-sdk-for-python/issues/49169
  9. redmine_ai_helper on GitHub. Chat fails with gpt-6 models (gpt-6-luna, gpt-6-sol): "Function tools with reasoning_effort are not supported" (#480). 2026 年 10 月获取自 github.com/haru/redmine_ai_helper/issues/480
  10. Microsoft Agent Framework on GitHub. Invalid parameter: 'text.format' of type 'json_schema' is not supported with model version gpt-6-luna-2026-09-22 (#8718). 2026 年 10 月获取自 github.com/microsoft/agent-framework/issues/8718
  11. OpenAI. Reasoning models. 2026 年 10 月获取自 developers.openai.com/api/docs/guides/reasoning
  12. OpenAI. GPT-6 Sol model page. 2026 年 10 月获取自 developers.openai.com/api/docs/models/gpt-6-sol

延伸阅读