多模態(mmproj) 4/4 全對:場景描述、細節指認(顏色/物件/配件)、中文表格 OCR 逐列正確、OCR + 算術核對正確。但 vision 的 decode 只有 27~53 t/s,明顯低於純文字的 60~75 可用。但別拿純文字的 t/s 去估圖片任務的等待時間
--mmproj 之后,prompt cache 会失效,所以如果是纯 coding 场景或者不用 --mmproj,多轮交互中 prefill 会快很多,还可以节省一点显存出来给上下文
--slots 开启后可以看到缓存命中率,可以让 ai 验证这个点
128K 对于 coding 其实不是很多,可以 --cache-type-k q8_0 --cache-type-v q4_0 节省一些 KV cache 出来,把 -c 拉高一点,比如拉到 196K,不是特别确定,好像极限大概是 180+K 不爆,我在我的 agent 中不会真用到 196K 才触发 compact,肯定是提前留一定比例余量的,所以 llama.cpp 这边设置 196K 不要紧
~115,000 token — 超過 128K 上限,回 HTTP 400
这个地方其实还有一个影响因素,就是如果是自己写的 agent,其实有两个参数影响
一个是 context window,另外一个不引人注目的是 maxTokens,后者其实是决定模型最多可以一次返回多大的消息
实际的限制是 context window - maxTokens = 请求最多能发送的大小
你这里只到 115,000 就上限了,很可能是在你测试使用的 agent 里面 maxTokens 的设置是比较大的
一般 agent 的返回不需要那么大的窗口,所以其实可以调整,比如搞 maxTokens 调到 32K 或者 OpenAI 协议你可以不填这个值,Anthropic 协议好像强制要求填的,这里调整可能让实际可用的上下文窗口更大一些
我不知道各个其它 agent 怎么调,我的 agent 是我自己写的,所以可以控制这里,反正问问 ai 应该有方法设置的