调用参数

Q: 各参数的含义和推荐值是什么?

A: 核心参数说明:

Q: temperature 和 top_p 有什么区别?怎么设置?

A:

  • temperature:控制整体随机性。值越低,输出越确定、越保守;值越高,输出越多样、越有创造性。

  • top_p:核采样,只从概率累计达到 top_p 的候选词中采样。

  • 一般 只调其中一个,另一个保持默认(1.0)。

  • 推荐组合:

    • 客服/FAQ:temperature=0.1, top_p=1.0(稳定准确)

    • 内容创作:temperature=0.8, top_p=0.95(丰富多样)

    • 代码生成:temperature=0.2, top_p=1.0(精确可靠)

Q: 什么是 system prompt?怎么写好?

A: system prompt 是在对话开头设置的全局指令,用于定义模型的角色、行为规则和输出格式。

客服场景示例:

你是[公司名]的智能客服助手。请遵守以下规则:语气友好专业,使用"您"称呼客户回答简洁明了,不超过200字不确定的问题引导客户联系人工客服(电话:400-XXX-XXXX)不回答与[公司/产品]无关的问题不编造信息,不确定时如实告知

优化建议:

  • 控制在 500 Token 以内,过长会增加每次调用的输入 Token 成本

  • 明确角色、边界、格式要求

  • 用编号列出规则,比长段落效果更好

  • 可加 2~3 条 few-shot 示例引导输出风格

Q: 什么是 enable_thinking(深度思考模式)?

A: 开启后模型会先进行内部推理(thinking),再输出最终回答,适合复杂逻辑、数学、代码等任务。

  • 开启方式:请求参数中添加 "enable_thinking": true

  • thinking 内容会在返回的 reasoning_content 字段中

  • ⚠️ 注意:thinking 过程会消耗额外 Token,且增加延迟

  • 简单对话/客服场景 不建议开启,会增加成本和延迟

Q: 怎么实现多轮对话?

A: 将历史消息按顺序传入 messages 数组即可:

messages = [    {"role": "system", "content": "你是客服助手"},    {"role": "user", "content": "怎么退款?"},    {"role": "assistant", "content": "退款流程如下..."},    {"role": "user", "content": "多久能到账?"}  # 当前问题]

💡 成本控制建议:历史对话过长时,建议做截断(只保留最近 N 轮)或摘要压缩,避免输入 Token 持续增长。