简介:本文详细介绍如何通过Ollama工具实现DeepSeek模型的下载、本地部署与使用,涵盖环境准备、模型管理、API调用及性能优化等全流程操作,适合开发者及企业用户参考。
Ollama是一个开源的本地化AI模型运行框架,支持通过容器化技术快速部署和管理多种大语言模型(LLM)。其核心优势在于无需依赖云端服务即可运行模型,尤其适合对数据隐私要求高、需要离线运行或追求低延迟的场景。
DeepSeek是由深度求索(DeepSeek)团队开发的开源大语言模型,具有多语言支持、长文本处理和逻辑推理能力。其量化版本(如Q4、Q5)可在消费级GPU上运行,兼顾性能与资源占用。
Linux/macOS:
curl -fsSL https://ollama.com/install.sh | sh
Windows:
ollama --version
nvidia-smi
Ollama内置模型库,可通过命令直接下载:
ollama pull deepseek-ai/deepseek-r1:7b # 下载7B参数版本ollama pull deepseek-ai/deepseek-r1:33b # 下载33B参数版本(需更高显存)
参数说明:
7b/33b:模型参数量,直接影响性能与资源占用q4_k_m)若需修改模型参数(如温度、上下文长度),可创建Modelfile:
FROM deepseek-ai/deepseek-r1:7bPARAMETER temperature 0.7PARAMETER top_p 0.9PARAMETER max_tokens 2048
保存为deepseek-custom.Modelfile后构建:
ollama create deepseek-custom -f deepseek-custom.Modelfile
ollama run deepseek-ai/deepseek-r1:7b
首次运行会自动下载模型(若未提前pull),终端将显示实时日志:
▛ Running DeepSeek R1 7B on localhost:11434▜ Press Ctrl+C to stop
通过API端点测试:
curl http://localhost:11434/api/generate \-H "Content-Type: application/json" \-d '{"prompt": "解释量子计算的基本原理", "stream": false}'
正常响应示例:
{"response": "量子计算基于量子比特...","stop_reason": "length","truncated": false}
ollama pull deepseek-ai/deepseek-r1:7b-q4_k_mmax_tokens参数API_PORT环境变量ollama rm deepseek-ai/deepseek-r1:7b && ollama pull deepseek-ai/deepseek-r1:7b量化可显著减少显存占用,以Q4_K_M为例:
ollama pull deepseek-ai/deepseek-r1:7b-q4_k_mollama run deepseek-ai/deepseek-r1:7b-q4_k_m
性能对比:
| 版本 | 显存占用 | 推理速度 | 精度损失 |
|——————|—————|—————|—————|
| FP16 | 14GB | 基准 | 无 |
| Q4_K_M | 4.5GB | 快2.3倍 | 可接受 |
通过stream参数实现流式输出:
import requestsurl = "http://localhost:11434/api/generate"data = {"prompt": "写一首关于春天的诗","stream": True}response = requests.post(url, json=data, stream=True)for chunk in response.iter_lines():if chunk:print(chunk.decode("utf-8"), end="", flush=True)
ollama lora train \--model deepseek-ai/deepseek-r1:7b \--train-file data.jsonl \--output-dir ./lora-adapter
ollama merge \--base deepseek-ai/deepseek-r1:7b \--adapter ./lora-adapter \--output deepseek-custom
使用Docker Compose管理多模型实例:
version: '3'services:deepseek-7b:image: ollama/ollamacommand: run deepseek-ai/deepseek-r1:7bports:- "11434:11434"volumes:- ./models:/root/.ollama/modelsdeploy:resources:reservations:devices:- driver: nvidiacount: 1capabilities: [gpu]
/api/health端点监控实例状态
ollama metrics --port 9090
journalctl -u ollama -f | grep "ERROR"
--data-dir参数指定独立存储路径通过Ollama部署DeepSeek模型可实现:
下一步建议:
附:Ollama官方文档链接:https://ollama.com/docs
DeepSeek模型仓库:https://huggingface.co/deepseek-ai