大模型 API 调用时常见的参数含义以及它们对生成结果的影响:
| 参数 | 作用 | 常用取值范围 | 说明 |
|---|---|---|---|
| Temperature | 控制采样的随机性(“创意度”) | 0 ~ 2(典型 0.0‑1.2) | - 0 → 完全确定性输出,模型会始终选取概率最高的
token,生成最可预测、最保守的文本。 - 0.7‑1.0 → 兼顾多样性与质量,适合对话、创意写作。 - >1.0 → 更高随机性,输出更“疯狂”,但可能出现不连贯或不符合事实的内容。 |
| Top‑P (nucleus sampling) | 在概率分布的前 p 累计质量内采样,过滤掉低概率 token | 0.0 ~ 1.0(常用 0.8‑0.95) | - 模型先对所有 token 按概率从高到低排序,累计概率达到 p
的那一批 token 形成候选集。 - 在候选集内再进行随机采样。 - Top‑P = 1.0 等价于关闭此过滤,等同于纯随机采样(受 Temperature 限制)。 |
| Context | 限制一次请求中可使用的上下文长度(即输入 token 数) | 1 ~ 模型最大上下文(如 8 k、16 k、32 k 等) | -
如果你的请求包含大量历史对话或文档,需要把它们拼接成一个字符串并传入模型。 - 此参数决定了模型在生成时能“看到”多少前文。 - 超过模型的最大上下文会被截断,常见的做法是保留最新的 N 条对话或最关键的段落。 |
| Set max tokens | 限制一次生成的最大输出 token 数 | 1 ~ 模型的最大输出(如 2 k、4 k、8 k) | - 防止模型生成过长的文本,节约 token 配额。 - 如果实际需求更短,建议设置更小的值,以降低成本并提升响应速度。 |
| Stream output | 是否采用流式返回(边生成边返回) | On / Off | - On:服务器在生成每个 token 后立即通过
SSE(Server‑Sent Events)或 WebSocket
推送给客户端,适合实时交互、打字机效果。 - Off:等完整响应生成完毕后一次性返回,适合一次性获取完整文本的场景。 |
| Tool Use Mode | 控制模型在生成过程中是否可以调用外部工具(如搜索、计算、数据库查询) | None / Auto / Forced | - None:模型只生成纯文本,禁止任何工具调用。 - Auto(默认):模型在需要时自行决定是否调用工具,例如在回答需要实时信息时会触发搜索工具。 - Forced:强制模型在每一步都尝试调用工具,常用于调试或特定业务流程。 |
| Max Tool Calls | 限制一次对话/请求中模型可以调用外部工具的最大次数 | 0 ~ 任意正整数(常见 1‑10) | - 防止模型陷入无限循环或过度调用外部 API。 - 若设为 0,等同于 Tool Use Mode = None。 - 实际使用时,建议根据业务需求设定一个合理上限(比如 3‑5 次),既能获取所需信息,又能避免不必要的开销。 |
如何组合使用
对话/聊天:
Temperature ≈ 0.7,Top‑P ≈ 0.9,max tokens ≈ 256‑512,Stream output = On,Tool Use Mode = Auto,Max Tool Calls = 2‑3。这样模型既能保持一定创造力,又能在需要时自行查询实时信息。代码生成或结构化输出:
Temperature ≈ 0.0‑0.2(更确定),Top‑P ≈ 0.8,max tokens 根据预期代码行数设定,Stream output = Off(一次性返回),Tool Use Mode = None(除非需要调用计算工具)。创意写作:
Temperature ≈ 1.0‑1.2,Top‑P ≈ 0.95,max tokens 可设大一点(如 1024),Stream output = On,Tool Use Mode = None,Max Tool Calls = 0。
小贴士
- Token 计费是 输入 token + 输出 token,所以在调大 max tokens 时要注意配额消耗。
- 流式输出 能显著提升感知的响应速度,但在某些后端(如传统 HTTP)可能需要额外的 SSE/WS 处理代码。
- Tool Use Mode 与 Max Tool Calls 只在使用 Inception Labs 提供的 工具插件(如搜索、计算、数据库)时生效;如果你的请求不涉及这些插件,保持 None 即可。