故障排查 / 装不下

刚装上好好的,聊十几轮就崩或开始忘事

本站未复现 推导 影响:全部 全版本 · Windows / Linux / macOS

报错原文

Requested tokens ... exceeds context size ... | llama_new_context_with_model: context size ... too small

这段字符串可以直接粘到 站内搜索 或外部搜索引擎里找。

现象

前几轮正常,越聊越慢,然后要么报错退出,要么模型开始『忘记』你最早说的话,或者答话重复。

原因

上下文是『输入 + 系统提示词 + 历史对话 + 正在生成的部分』的总和,它是一路涨上去的。容量表告诉你的是总预算,不是每轮的预算。涨满之后有的框架截断最早的内容(表现为忘事),有的直接报错(表现为崩溃)。

按这个顺序处理

  1. 确认你的上下文预算够不够:按本站推算,16G 卡跑 14B Q6_K 剩约 1.6G,可开约 10.7K token,中文大约 6000–8000 字的总预算——多轮聊天很容易用完。
  2. 开启历史截断/滚动窗口:把保留轮数限制在 6–12 轮,或者只保留最近 N token。
  3. 系统提示词能短则短:一个 2000 字的 system prompt 会直接从你的预算里扣掉,每一轮都扣。
  4. 长任务改为『分段总结再汇总』,不要指望一个 16K 窗口装下整本书。
  5. 如果任务确实需要长记忆:选 KV 便宜的模型(GLM-4-9B 只有 2 个 KV 头,4K 花 0.16G;gpt-oss-20B 一半层用 128 token 滑窗,4K 花 0.097G),或者把 KV 量化到 q4_0。

怎么确认解决了

连续聊 20 轮不报错且框架日志里没有 exceeds context size;如果你能看 token 计数,让它停在预算的 70% 以下再触发截断比较安全。

来源与可信度

条目性质本站依据容量与速度公式推导撰写
是否已在本站机器复现否——请把这条当线索而不是结论

相关条目

上下文(ctx)到底是什么?8K 能装多少字?上下文是模型一次能『看见』的总字数预算,输入和它的回答共用这个预算。8K token 大约相当于中文 4000–5500 字。文档比显存允许的上下文还长怎么办?三条路:换滑窗架构模型、把 KV 量化到 q4、或者分块检索只把相关段落塞进去。别指望把 -c 调到 128K 就解决了。

装不下 · 其他条目

CUDA out of memory / ggml: failed to allocate参数调到最低还是装不下:权重本身就超容量微调训练 CUDA out of memory(QLoRA/LoRA 显存爆)Ollama 上下文被限 4096 / OLLAMA_CONTEXT_LENGTH 不生效
回到故障排查首页查容量是否本来就不够上传实测数据
这条内容有帮助吗?