Ollama将DeepSeek蒸馏模型封装为本地推理服务,本文围绕选型、运行、定制与教学落地给出可复现的实践路径。
在数据合规与离线实验需求上升的背景下,本地大模型不再只是极客玩具。Ollama通过统一命令行、模型仓库和OpenAI兼容接口,把DeepSeek系列模型的部署门槛压到一台普通开发机可承受的范围。对AI指导老师而言,关键不是演示一次对话,而是设计一条可复现、可评估、可扩展的学习路径,让学员理解模型能力边界、硬件成本与工程约束之间的关系。
1. 本地推理环境与DeepSeek型号匹配
Ollama支持macOS、Linux和Windows,安装后默认以本地服务运行,模型文件通常存放在用户目录下的.ollama/models中,也可以通过OLLAMA_MODELS环境变量迁移到空间更大的磁盘。对教学环境来说,这一步直接影响后续复现效率:机房电脑往往系统盘空间有限,提前统一模型目录、关闭休眠策略并预留至少30GB空间,可以避免课堂中途下载失败。Ollama的模型仓库中,DeepSeek-R1蒸馏系列常见标签包括1.5b、7b、8b、14b、32b和70b,另有体量更大的671b版本;其中1.5b、7b、8b、14b和32b更适合本地实验,70b需要较高显存或大内存CPU回退,671b则基本不属于普通本地设备可玩范围。
型号选择要回到任务和硬件两条线。7b与8b分别基于不同底座蒸馏,常见量化版本在16GB内存的笔记本上可以运行,生成速度通常为每秒几个到十几个token;14b在24GB内存或12GB左右显存上更从容,32b建议24GB以上显存或64GB内存,70b则需要48GB以上显存并接受较慢速度。Ollama标签中的模型多以Q4_K_M等量化格式分发,量化会降低显存占用,也会带来精度损失,因此教学基线不宜直接追求最大参数,而应把7b或8b作为可重复的基准,把14b、32b作为对照实验,让学员观察同一问题在不同规模模型上的准确率、延迟和幻觉差异。上下文长度同样影响资源占用,Ollama默认上下文往往偏保守,运行时可提高num_ctx,但每增加上下文都会挤占KV Cache,需要在实验记录中明确标注。
2. 模型拉取、运行参数与接口调用
实际动手时,最简路径是执行ollama pull deepseek-r1:7b完成下载,再用ollama run deepseek-r1:7b进入交互;ollama list用于核对本地模型,ollama ps可以观察模型是否加载到GPU以及CPU/GPU卸载比例,ollama rm用于清理不再使用的标签。教学演示中应把“拉取、运行、观察资源、退出”做成完整闭环,而不是只停留在聊天窗口。DeepSeek-R1蒸馏模型在问答和推理任务上对温度较敏感,常见实践是把temperature设在0.5到0.7之间、top_p设在0.95左右,并通过Modelfile或运行时参数固定下来,避免同一实验因采样参数漂移而无法比较。若要做批量测试,可以用ollama run配合脚本逐条输入,也可以直接调用本地API。
Ollama提供/api/generate和/api/chat接口,并暴露OpenAI兼容端点,默认地址为:11434,兼容接口的base_url可写为:11434/v1,api_key填任意占位值即可。这样LangChain、Open WebUI、Continue等工具可以较低成本接入本地DeepSeek,适合课堂演示RAG和代码助手。需要提醒学员的是,OLLAMA_HOST=0.0.0.0:11434会把服务暴露到局域网,但Ollama本身不带完整鉴权,机房环境应配合防火墙和反向代理限制访问;OLLAMA_NUM_PARALLEL和OLLAMA_MAX_LOADED_MODELS决定并发与常驻模型数量,盲目调高会让显存迅速耗尽。接口调用阶段还要记录首token延迟、总耗时和显存峰值,这些数据比单次对话截图更能说明本地部署的真实成本。
3. 提示词、知识库与Modelfile定制
当基础对话跑通后,下一步是把通用模型改造成教学可用的专用助手。Ollama的Modelfile支持FROM、PARAMETER和SYSTEM等指令,可以基于deepseek-r1:7b创建带固定系统提示的新模型,例如用ollama create teaching-r1 -f Modelfile生成教学助手。系统提示应明确角色边界、回答格式和引用要求,例如要求先给出结论再列出依据、对不确定内容明确说明、禁止编造文献来源。对AI指导老师而言,这种定制比反复在聊天框里粘贴提示词更可靠,因为它把提示词版本纳入了可复现的工程文件,学员可以通过修改SYSTEM字段观察行为变化,理解提示词工程的边界。
本地知识库是另一个高频场景。常见做法是把课程讲义、产品手册切分为500到800字左右的片段,重叠80到120字,用nomic-embed-text或bge-m3等嵌入模型生成向量,存入Chroma、Qdrant或Open WebUI自带知识库,检索top-k取3到5条后再交给DeepSeek生成答案。这里的关键不是堆工具,而是让学员看到检索质量对最终回答的影响:切分过粗会丢失细节,切分过细会破坏上下文,嵌入模型与生成模型不匹配也会导致答非所问。若需要领域微调,应明确Ollama主要承担推理,训练可借助Unsloth、Llama-Factory等工具完成并导出GGUF,再通过Modelfile的FROM指向本地文件导入;这条链路比直接改Ollama标签更复杂,适合作为进阶实验而非入门内容。
4. 课堂实验设计与生产评估
在课程设计上,可以把学员按硬件条件分组,统一使用deepseek-r1:7b作为基线,再让具备条件的组对比14b或32b。实验任务不要只做开放闲聊,而应选择可评分的三类任务:基于讲义的知识问答、带错误代码的调试解释、长文档摘要与引用核对。每组准备30道左右的测试题,记录答案准确率、引用命中率、首token延迟、总耗时和ollama ps中的GPU占用,再对比开启与关闭RAG的差异。这样的实验能同时训练模型使用能力和工程观察能力,也能让学员直观看到“参数更大”并不必然等于“任务更好”,尤其在中文长尾知识和格式遵循上,小模型配合检索与提示词往往更具性价比。
生产化评估则要把课堂实验延伸到真实约束。并发方面可以从OLLAMA_NUM_PARALLEL=2开始压测,观察排队时间和显存溢出;上下文方面要测试num_ctx提高后对长文档任务的实际收益与显存代价;版本方面要锁定模型标签和Modelfile,避免上游更新导致课堂结果漂移。安全与合规则应强调数据不出本机、日志脱敏、模型卡记录训练来源与已知局限,并把“无法回答时如何拒答”纳入验收。AI指导老师的最终产出不是一份安装截图,而是一套可复现的实验报告、一份模型卡和一组故障排查清单,学员据此能够独立完成从环境搭建到知识库增强的完整链路,并在遇到显存不足、端口冲突、检索失效或回答幻觉时知道该观察什么、验证什么、调整什么。

