简介:本文详细介绍在Windows系统下通过Ollama框架安装并运行DeepSeek系列本地大模型的全流程,涵盖环境准备、安装配置、模型加载、API调用及常见问题解决,适合开发者及AI爱好者实践。
Ollama官方要求Windows 10/11 64位系统,需确认系统版本(winver命令)及可用磁盘空间(建议预留20GB以上)。NVIDIA显卡用户需安装CUDA 11.8+驱动,AMD显卡需确认ROCm支持(Windows下兼容性有限)。
wsl --install安装Linux子系统,用于运行模型服务(避免Windows文件系统性能瓶颈)。确保8080端口(默认API端口)未被占用,可通过netstat -ano | findstr 8080检查。如需修改端口,编辑Ollama配置文件(%APPDATA%\Ollama\config.json)。
访问Ollama GitHub Release页面,下载最新版.msi安装包(如ollama-windows-amd64.msi)。双击运行,按向导完成安装,默认路径为C:\Program Files\Ollama。
将Ollama安装路径添加至系统PATH:
Path,点击编辑→新建→输入C:\Program Files\Ollama。ollama --version,应返回版本号(如ollama version 0.1.15)。通过Git克隆DeepSeek模型仓库(需科学上网):
git clone https://github.com/deepseek-ai/DeepSeek-V2.gitcd DeepSeek-V2
或直接下载预编译模型文件(.gguf或.bin格式)至本地目录。
将模型文件(如deepseek-v2.gguf)放入Ollama模型目录:
%APPDATA%\Ollama\models--model-dir参数指定(如ollama serve --model-dir D:\models)在CMD中运行以下命令启动服务:
ollama serve --model deepseek-v2 --port 8080
--model:指定模型名称或路径。--port:自定义API端口(默认8080)。Listening on port 8080。通过CURL或浏览器访问API:
curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "deepseek-v2","messages": [{"role": "user", "content": "解释量子计算"}],"temperature": 0.7}'
预期返回JSON格式的回复。
在config.json中调整参数:
{"gpu_layers": 20, // 加载到GPU的层数(需NVIDIA显卡)"n_gpu_layers": 1, // 旧版参数(部分模型适用)"rope_scaling": {"type": "linear", "factor": 1.0}}
通过nvidia-smi监控GPU使用率,避免内存溢出。
--quantize 4(4位量化)减少内存占用,但可能降低精度。--threads 8设置CPU线程数(根据物理核心数调整)。max_tokens和stream参数控制输出长度与流式响应。config.json中启用api_key字段,限制未授权访问。netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=8080 remoteip=any,后添加允许规则)。错误示例:Error: listen tcp
bind: address already in use
netstat -ano | findstr 8080获取PID,taskkill /PID <PID> /F。--port 8081。defrag命令整理磁盘碎片。错误示例:CUDA error: no kernel image is available for execution on the device
通过Python的requests库调用Ollama API:
import requestsurl = "http://localhost:8080/v1/chat/completions"headers = {"Content-Type": "application/json"}data = {"model": "deepseek-v2","messages": [{"role": "user", "content": "生成Python代码:计算斐波那契数列"}],"temperature": 0.3}response = requests.post(url, headers=headers, json=data)print(response.json()["choices"][0]["message"]["content"])
在models目录下创建子文件夹(如deepseek-v2、llama3),通过--model参数指定路径实现切换。
%APPDATA%\Ollama\models目录,避免模型文件损坏。通过以上步骤,开发者可在Windows环境下高效部署DeepSeek本地模型,兼顾隐私保护与灵活定制,适用于企业内部知识库、个性化助手等场景。