← 返回术语百科

🌡️ Temperature

温度参数

📖 定义

Temperature是控制AI模型输出随机性的超参数。取值范围通常为0到2,值越低输出越确定和一致,值越高输出越多样和创造性。

0
完全确定
0.3
代码/事实
0.7
默认值
1.0
创意写作
2.0
高度随机

⚙️ 原理

Temperature影响模型在生成下一个Token时的概率分布:

数学上,Temperature用于缩放logits:scaled_logits = logits / temperature

💡 应用场景

场景 推荐Temperature 原因
代码生成 0.0 - 0.2 需要确定性输出
问答/事实查询 0.0 - 0.3 保证答案准确
日常对话 0.5 - 0.7 平衡自然与稳定
创意写作 0.8 - 1.2 增加多样性
头脑风暴 1.0 - 1.5 探索更多可能性

💻 代码示例

# OpenAI API中设置Temperature
from openai import OpenAI

client = OpenAI()

# 低温度 - 用于代码生成
response = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "写一个Python快速排序"}],
    temperature=0.0  # 完全确定性输出
)

# 高温度 - 用于创意写作
response = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "写一首关于AI的诗"}],
    temperature=1.2  # 更有创意的输出
)

# 理解Temperature对概率分布的影响
import numpy as np

def softmax_with_temperature(logits, temperature):
    scaled = logits / temperature
    exp_scaled = np.exp(scaled - np.max(scaled))
    return exp_scaled / exp_scaled.sum()

logits = np.array([2.0, 1.0, 0.1])  # 原始logits

print("Temperature=0.5:", softmax_with_temperature(logits, 0.5))
# 输出: [0.86, 0.13, 0.01] - 更集中

print("Temperature=1.0:", softmax_with_temperature(logits, 1.0))
# 输出: [0.66, 0.24, 0.10] - 标准

print("Temperature=2.0:", softmax_with_temperature(logits, 2.0))
# 输出: [0.46, 0.31, 0.23] - 更均匀

🔗 相关链接

← 返回首页 | 术语百科

📚 快速导航
🏠 首页 📰 AI新闻 📖 术语百科 📊 营销报告