输出总是到一半就断,以为是窗口不够。
实际是两个独立限制:
- 上下文长度:输入 + 输出的总和上限
- max_tokens:单次输出上限
我只看了上下文长度,没设 max_tokens,用了默认值(有的是 1024),所以长输出被截断。
解法:显式设 max_tokens,值要留出输入占用的空间。
判断是否被截断:看返回的 finish_reason,是 length 就是被截断了,是 stop 才是正常结束。
这个字段很多人不看,导致以为模型能力不行。
现在我的代码里固定检查 finish_reason,截断了就自动续写。
主楼- 暂无回复
继续逛逛