Llama-3.2-3B 在 Ollama 中配置长上下文与生成限制
在使用 Ollama 运行 Llama-3.2-3B 时,可能会遇到对话中途模型'失忆',或者输入稍长的文本直接被截断的情况。这通常不是模型本身的问题,而是默认的上下文窗口(context window)和 token 限制设置不够用。
本文将介绍如何调整这些关键参数,让模型更好地处理长对话和文档。
核心概念:为什么需要调整 Context Window 和 Token 限制?
在操作之前,先理解两个关键名词有助于后续的参数设定。
什么是 Context Window(上下文窗口)?
Context Window 可以理解为模型的短期记忆区。它决定了模型在生成下一个词时,能参考之前多长的文本。
- 默认情况:Ollama 拉取的 Llama-3.2-3B 默认上下文窗口可能设置为保守值(例如 8192 tokens)。这意味着模型最多只能记住大约 6000-8000 个单词的上下文。
- 实际问题:进行多轮长对话或总结长文档时,一旦内容超过限制,最早的信息会被挤出记忆窗口,导致回答质量下降。
什么是 Token 和 Token 限制?
Token 是模型处理文本的基本单位,不严格等于一个单词或汉字。
- Token 限制:指单次生成(输出)的最大 token 数量。设置太低会导致话没说完就戛然而止;设置太高则可能生成大量无关内容。
简单来说,调整 Context Window 是为了让模型'记得更多',调整 Token 限制是为了让模型'一次说得更长'。
环境准备:确认 Ollama 与模型状态
开始调整前,确保基础环境正常。
打开终端执行以下命令,检查 Ollama 服务及模型状态:
# 检查已拉取的模型
ollama list
如果看到 llama3.2:3b 在列表中,说明模型已就绪。若未拉取,请先执行:
ollama pull llama3.2:3b
核心操作:创建并配置自定义 Modelfile
Ollama 允许通过 Modelfile 定义自定义模型版本,从而修改关键参数。
创建 Modelfile
在任意目录下创建一个名为 Modelfile 的文本文件(无后缀),使用编辑器打开并写入以下内容:
FROM llama3.2:3b
# 系统提示词(可选,但推荐)
PARAMETER system "你是一个乐于助人且知识渊博的 AI 助手。请用清晰、准确的中文回答问题。"
# 温度控制,影响生成随机性 (0.1-2.0)
PARAMETER temperature 0.7
# 上下文窗口大小 (关键参数,必须是 64 的倍数)
# 默认档:8192
# 推荐档:16384 (适合长对话和中等文档)
# 大内存档:32768 (需 16GB+ RAM)
PARAMETER num_ctx 16384
# 单次生成的最大 token 数
PARAMETER num_predict 4096
参数建议:
num_ctx:重点调整项。16384在性能和内存间取得平衡。若内存充足可尝试32768,注意此值会线性增加 RAM 消耗。num_predict:设为4096允许模型每次回复约 3000 个汉字,满足绝大多数场景。temperature:保持0.7,兼顾创造性与准确性。
创建自定义模型
保存 Modelfile 后,进入该目录执行创建命令。这里将新模型命名为 :

