DeepSeek API 的 temperature 控制非思考模式下采样的随机程度。官方 Chat Completions 接口允许 0–2,默认 1;值低通常更集中,值高通常更随机。它不是“正确率”旋钮,也不保证相同问题每次输出完全一致。
先确认参数在哪种模式生效
官方 Chat Completions 参数参考列出 temperature 范围及含义;官方思考模式指南明确指出:思考模式下传 temperature 不报错,但不会生效。因此要观察这个参数的影响,先在请求里显式设置 thinking.type 为 disabled,避免默认思考模式干扰判断。

在同一个提示上做两组试验
在本机设置 DEEPSEEK_API_KEY,安装 openai Python 包,然后运行下面的示例。问题与参数值是演示配置,不代表任何已测出的模型表现;两次请求会分别产生用量。
import os
from openai import OpenAI
key = os.environ.get("DEEPSEEK_API_KEY")
if not key:
raise RuntimeError("请先设置 DEEPSEEK_API_KEY")
client = OpenAI(api_key=key, base_url="https://api.deepseek.com")
messages = [{"role": "user", "content": "给一家社区书店写一句不超过20字的开业海报文案。"}]
for temp in (0.2, 0.8):
response = client.chat.completions.create(
model="deepseek-flash",
messages=messages,
temperature=temp,
extra_body={"thinking": {"type": "disabled"}},
)
print("temperature=", temp)
print(response.choices[0].message.content)
print("finish_reason=", response.choices[0].finish_reason)
核对返回是否都满足“不超过20字”和“开业海报”这两个要求,再比较措辞多样性。单次各跑一遍不足以证明温度效果;如果需要决定生产参数,应对相同的一组样本重复试验,统计违反格式或事实要求的情况,并保留成本与耗时记录。
哪些情况调了也看不出预期变化
- 请求仍是思考模式:temperature 被忽略。检查传给接口的 thinking.type,而不是只看代码里有没有 temperature。
- 提示本身只有唯一或非常短的正确答案:即使改温度也可能输出相同文字。
- 输出被长度截断:先看 finish_reason 是否为 length,再检查 max_tokens 与上下文,别把截断归因于温度。
官方建议通常只调整 temperature 或 top_p 之一,不同时来回变动,否则难以判断是哪一项影响结果。本文只给官方 API 的非思考模式示例,未在你的账户实测,也不承诺某个固定数值适合所有写作或事实任务。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30054.html