这类问题通常不是 QwenPaw 本身异常,而是模型上下文长度配置过小导致的。
当你使用 Ollama 或 LM Studio 部署本地模型时,如果模型的 context length 设置太低,QwenPaw 在以下场景中就可能表现异常:
- 无法稳定完成多轮对话
- 执行复杂工具调用时中途丢失上下文
- 记不住前面几轮中已经给出的要求或指令
- 长任务执行到一半开始偏离目标
由于1Panel是使用 Docker 安装这些应用,在 Ollama 中调整上下文长度(Context Length)主要有两种方式:运行时指定 和 创建自定义模型永久修改。
模型默认 context_length 为可能支持最大 262144,但实际推理时 Ollama 默认只使用 2048。你需要显式指定才能用满。
推荐方法二:创建自定义模型(永久生效)
要让 Docker 中的 Ollama 每次运行都自动使用特定上下文长度,最可靠的方式是创建一个内置了 num_ctx 参数的自定义模型标签。这样无论通过 CLI 还是 API 调用,都不需要再手动指定。
以下是完整操作步骤:
1. 创建 Modelfile
在宿主机上创建配置文件(以 qwen3.5 设置 128K 上下文为例):
# 创建临时目录存放 Modelfile
mkdir -p /tmp/ollama-modelfiles
# 写入配置(可自定义 SYSTEM 提示词)
cat > Modelfile.qwen35-128k << 'EOF'
FROM qwen3.5:latest
PARAMETER num_ctx 131072
SYSTEM "You are a helpful assistant."
EOF
✅ 关键点:
FROM必须是ollama list中显示的完整模型名,大小写敏感。
2. 构建自定义模型标签
# 将 Modelfile 复制到容器中
docker cp Modelfile.qwen35-128k ollama:/tmp/Modelfile
# 基于原模型创建新标签
docker exec -it ollama ollama create qwen3.5:128k -f /tmp/Modelfile
3. (可选)设为默认标签
如果你希望直接输入 qwen3.5 就使用 128K 上下文,可以覆盖原标签:
docker exec -it ollama ollama create qwen3.5:latest -f /tmp/Modelfile
⚠️ 这会替换原有的 qwen3.5:latest,建议先备份或确认不再需要默认的 2048 上下文版本。
4:清理临时文件(可选)
# 容器内临时文件
docker exec -it <CONTAINER_NAME> rm /tmp/Modelfile
# 宿主机临时文件
rm -rf /tmp/ollama-modelfiles
⚠️ 关键提醒
- 模型名必须精确匹配:如果步骤 1 中显示的模型名不是
qwen3.5:latest(例如带哈希或不同tag),请将 Modelfile 中的FROM行替换为实际名称。 - 内存检查:确保内存/显存充足支撑 9B Q4 + 128K ctx。若不足,将
num_ctx改小一点。 - 其他模型同理:只需修改 Modelfile 的
FROM行和标签名,重复步骤 2-4 即可。 - 无需改 compose:此方法完全独立于 1Panel 管理,数据持久化在
./data卷中,容器重建不丢失。
💡 建议:若你确实需要处理超长文本,优先确认该模型是否官方支持 128K。若仅因”越大越好”而设置,强烈建议保持 32K–64K。
🧹 清理 & 回退方案
# 清理临时文件
sudo docker exec -it 1Panel-ollama-xHGM rm /tmp/Modelfile
rm /tmp/ollama-modelfiles
# 若128k不可用,删除该标签(其他标签不受影响)
sudo docker exec -it 1Panel-ollama-xHGM ollama rm qwen3.5:128k

本站所有文章,如无特殊说明或标注,均为本站原创发布。
任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。



