QWENQWEN爱好者qwen.fan

Ollama 跑通 Qwen 后:提示词调优五步走

2026-11-02 · 提示词教程

很多人用 Ollama 把 Qwen 拉起来之后,觉得「模型也就那样」就关掉了窗口。问题往往不在模型,而在提示词:本地部署没有网页端那套现成的系统提示加持,裸奔调用的效果自然打折。下面这五步,是我自己从默认参数一路调到稳定输出的路径,照着走一遍,Qwen 的本地表现会明显上一个台阶。

第一步:先写系统提示,别让模型裸奔

Ollama 的默认 system prompt 几乎是空的,模型只能靠猜你的意图。Qwen 系列对中文指令遵循做得比较扎实,你用一段明确的系统提示把角色、任务边界、输出格式交代清楚,效果立刻不同。建议把系统提示写进 Modelfile 里固化下来,而不是每次手动粘贴:

# Modelfile 示例:ollama create qwen-assistant -f ./Modelfile
FROM qwen3
SYSTEM """你是一个严谨的中文技术助手,服务于本团队的内部知识问答。
规则:
1. 只依据用户提供的资料回答,资料中没有的信息明确说「资料中未提及」。
2. 回答使用简体中文,先给结论,再给依据。
3. 不确定的内容要说明不确定,禁止编造引用来源。
4. 涉及代码时给完整可运行的片段,注明依赖版本。"""
PARAMETER temperature 0.3
PARAMETER num_ctx 8192

第二步:把温度对准任务类型

本地部署的优势就是参数自己说了算。经验值:问答、文档摘要、代码生成用 temperature 0.2~0.4,越低越稳;创意写作、头脑风暴用 0.7~1.0。改参数可以直接在 Modelfile 里加 PARAMETER temperature,也可以在交互里用 /set parameter temperature 0.3 临时试。调参时只动一个变量,否则你不知道是提示词的功劳还是温度的功劳。

第三步:要求结构化输出,方便程序接

拿 Ollama 跑 Qwen 的人不少是为了接自己的工作流,那就别让模型自由发挥格式。在提示词里明确规定字段和 JSON 结构,比事后用正则去捞稳定得多:

请阅读以下产品需求文档,提取信息并以严格的 JSON 输出,不要输出 JSON 以外的任何文字(包括代码块标记和解释)。

输出格式:
{
  "功能名称": "字符串",
  "优先级": "高|中|低",
  "涉及模块": ["模块1", "模块2"],
  "风险点": ["风险描述"],
  "预估工作量": "人日数字"
}

文档内容:
"""
{在这里粘贴文档}
"""

配 Ollama 的 format: "json" 参数(或 API 里的 format 字段)效果更稳。端侧小尺寸的 Qwen 对长 JSON 的字段 adherence 可能不够理想,遇到漏字段就简化字段数量,或换更大尺寸的模型再试。

第四步:控制上下文窗口,别让长文被悄悄截断

Ollama 默认的上下文长度偏小(常见为 2048),贴一篇长文档进去,开头可能根本没进模型视野,而模型不会主动告诉你。务必在 Modelfile 里显式设置 PARAMETER num_ctx,按你的显存预算给到 8192 或更高。判断方法很简单:问模型「我刚才给你的文档第一段讲了什么」,答不上来就是被截了。上下文越长显存占用越高,端侧设备建议在长度和速度之间做取舍。

第五步:建自己的提示词回归集

调优最怕凭感觉。攒十来个你真实任务里的典型输入,每次改提示词或换模型尺寸后跑一遍,对比输出。重点看三类失败:格式崩坏(回到第三步收紧格式要求)、幻觉引用(在系统提示里强化「禁止编造」并降温度)、长文遗漏(回到第四步查 num_ctx)。Qwen 全尺寸谱系从端侧到旗舰都有,同一个提示词在小模型上失败不代表提示词有问题,先确认模型容量够不够承载任务复杂度。

这五步做完,你手里应该有一份写好系统提示的 Modelfile、一组对准任务的温度参数、一套能跑通的结构化输出模板,以及十来条回归用例。后续升级模型尺寸或换 Qwen Coder、Qwen VL 这类专项模型时,把这套资产直接迁移过去,只需微调任务描述即可。

本文为使用方法整理,内容选自网上公开资料,供参考;本站为非官方资讯站,产品能力以官方页面为准。