做产品 PMaker
空格的键盘空格的键盘
大模型

常用调用参数

常用调用参数 | 大模型 | 做产品

常用调用参数

参数不多,但每一个都直接对应一种用户能感受到的问题。你不用会调,得知道调错了会怎样——因为很多「模型不行」的投诉,根子在参数上。

你会遇到的现象

  • 回答老是在半句话处戛然而止,像是被人掐断了

  • 要它输出固定格式,十次里有两次多带一段客套话

  • 用户抱怨「太慢了」,但后台看响应时间其实不长

管「说什么」

**system —— 系统提示。**放在对话最前面、每一轮都带上的那段设定:产品的角色、语气、边界、禁区。它和普通消息的区别在于优先级更高,也更稳定。产品的「性格」写在这里。

顺带一个成本提示:它每轮都要重发,所以是最该做缓存的一段。把固定内容放前面、变化内容放后面,缓存命中率会高很多。

**temperature —— 随机性。**这个参数值得单独一节,温度与随机性那篇讲透了。这里只记一条:要稳定输出就调低,默认值往往偏高。

**top_p —— 另一种控制随机性的方式。**它和温度的路子不同:温度是调整每个候选词的概率分布,top_p 是只从概率累计到某个比例的那批候选里挑。

实际使用上你只需要知道:**两个一般只调其中一个,通常调温度。**两个一起调,效果会互相干扰,很难说清是哪个在起作用。

管「说多少」

**max_tokens —— 输出长度上限。**这是最常见的翻车点。

它是硬截断:模型写到这个长度就被强行停住,不会自己收尾。所以症状很典型——回答在半句话处戛然而止。用户会以为是网络问题或者产品有 bug。

它同时也是账单的主要旋钮,因为输出比输入贵好几倍。所以这个值不是越大越好:设太小会截断,设太大则失去了成本保护。

实践建议:按功能分别设置,而不是全局一个值。摘要功能给的额度和长文生成显然不该一样。另外,在提示词里也说明期望长度(「用三句话回答」),让模型自己收着写——这比靠 max_tokens 硬砍体面得多。最后,要能识别「因为长度上限而结束」这种情况,接口会告诉你,别把截断的半截内容直接展示给用户。

**stop —— 停止序列。**遇到指定的字符串就停下。用在结构化输出、或者防止模型自问自答继续往下编的场景。用得不多,但知道有这个东西。

管「怎么给」

stream —— 流式输出。这是所有参数里对产品体验影响最大的一个,但它影响的不是真实速度,是感知速度。

不开流式,用户盯着转圈等好几秒,然后整段出现;开了流式,第一个字几百毫秒就到,然后一个字一个字往外冒。总耗时可能一模一样,但体感差得非常远。——前者像卡住了,后者像在思考。

所以只要是用户直接等着看的场景,基本都该开。代价是工程上要处理流式传输,以及「生成到一半失败了」这种中间状态。

**response_format —— 强制输出格式。**要模型返回 JSON 之类的结构化数据时用。比在提示词里写「请只返回 JSON」可靠得多——后者十次里总有一两次给你多带一段「好的,这是您要的结果:」。

如果你们的功能要把模型输出接进程序里,这个参数几乎是必开的。

**seed —— 可复现。**固定它,理论上同样输入能得到同样输出。但要注意:**厂商通常只承诺「尽最大努力」,不保证完全复现。**模型服务端的版本、批处理方式都会影响结果。所以别把它当成严格的确定性保证,做测试基线时可以用,做合规审计不行。

stream 影响的不是真实速度,是感知速度

不开流式

转圈等待 · 什么都没有

整段出现 用户体感:卡住了

开流式

一个字一个字往外冒 首字几百毫秒就到 · 用户体感:在思考

两条的总耗时一模一样

另一个高频翻车点:max_tokens 是硬截断 它写到上限就被强行停住,不会自己收尾——症状是回答在半句话处戛然而止,用户以为是产品有 bug。 按功能分别设值,同时在提示词里说明期望长度(「用三句话回答」),让它自己收着写。

默认值几乎从来不是你要的那一档——厂商的默认值是为「通用聊天」调的,而你做的多半是个具体功能。每上线一个功能,这三类参数都该过一遍。

四个场景的配法

拿不准就先照这个来,再按实测微调。

场景温度max_tokensstream其他 客服问答低中等,够答完开system 写清边界和不能承诺的事。 创意文案高宽松开多生成几版让人挑,比调参数管用。 代码生成低放宽,代码容易超开最常被截断的场景,务必检测截断。 数据抽取最低够装下结构即可关开 response_format 强制 JSON;程序读,不用流式。

这是起点不是标准答案。真正的配法要拿你自己的样例跑出来——同一组样例、不同参数各跑一遍,比较结果。

最后一条通用提醒:**默认值几乎从来不是你要的那一档。**厂商的默认值是为「通用聊天」调的,而你做的多半是个具体功能。每上线一个功能,这三类参数都该过一遍。

温度与随机性 最重要的那个参数,单独一节讲透。

调用一个模型需要什么 参数之外,一次调用还需要哪三样东西。

Token 与计费单位 max_tokens 为什么同时是体验旋钮和成本旋钮。