windows本地部署deepseek-r1及应用
最近deepseek-r1大模型非常火爆,本文介绍了该模型在windows本地的部署过程及简单应用。
部署环境:windows 11本地(非wsl),拯救者Y9000 2024,nvidia 4060,64G内存,8G显存
1、安装ollama
这一步很简单,打开ollama官网,点击download,选择windows版本下载即可,如下图所示:
下载完成安装包后直接运行安装即可,非常简单。安装完成后,可以在终端运行ollama看看是否正常:
ollama --version
ollama version is 0.5.7
2、运行deepseek-r1模型
用ollama可以直接运行模型,首次运行时会自动下载到本地:
ollama run deepseek-r1:7b
pulling manifest
pulling 96c415656d37... 100% ▕██████████████████████████████████████████████████████████████▏ 4.7 GB
pulling 369ca498f347... 100% ▕██████████████████████████████████████████████████████████████▏ 387 B
pulling 6e4c38e1172f... 100% ▕██████████████████████████████████████████████████████████████▏ 1.1 KB
pulling f4d24e9138dd... 100% ▕██████████████████████████████████████████████████████████████▏ 148 B
pulling 40fb844194b2... 100% ▕██████████████████████████████████████████████████████████████▏ 487 B
verifying sha256 digest
writing manifest
success
>>> 生成一段新年祝福词
<think>
嗯,用户让我生成一段新年祝福词。首先,我得想想用户可能是谁,他们需要什么样的祝福语。可能是个普通朋友,或者是某个组织的成员?祝福词通常比较通用,但可以稍微个性化。
然后,我要考虑祝福词的内容。通常包括健康、幸福、事业顺利这些元素。同时,结合节日气氛,使用一些温馨的词汇,比如“团圆”、“幸福”、“快乐”等等。
用户可能希望这段祝福词简洁又有新意,所以不能太普通。也许加入一些比喻或者诗句会让它更有韵味。比如提到时间如流水,但美好的事物总是汇聚在一起,这样既有诗意又不失温暖。
另外,考虑到现代人的阅读习惯,文字不宜过长,容易让人记住和分享。所以控制长度,简短有力最好。
最后,检查一下语气是否合适,应该是积极向上的,充满希望的。避免负面词汇,保持整体温馨愉快的感觉。
</think>
值此新春佳节来临之际,愿您与家人团聚,幸福安康;愿工作顺风顺水,事业蒸蒸日上;愿生活美满如意,万事称心!新年新气象,祝您和家人新年快乐,心想事成! 🎉🎊
这里选择的是7b的版本,如果机器性能不够,可以试一下1.5b的版本。随便问了一个问题,让deepseek给我们生成一个节日祝福语,看上去没问题,就是有点啰嗦了,推理过程也都全部输出了。
我们再回顾一下ollama命令,下面是常用的一些参数,包括列出当前本地的模型、运行模型等等:
ollama --help
Large language model runner
Usage:
ollama [flags]
ollama [command]
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
stop Stop a running model
pull Pull a model from a registry
push Push a model to a registry
list List models
ps List running models
cp Copy a model
rm Remove a model
help Help about any command
Flags:
-h, --help help for ollama
-v, --version Show version information
Use "ollama [command] --help" for more information about a command.
3、安装图形界面
刚才我们是用ollama run来运行deepseek模型的,这样只能在命令行交互,不是很方便,我们可以安装图形界面来帮助我们管理和使用ollama。ollama支持相当多的界面程序,从web到客户端应有尽有,可以在官网文档查看,比较常用的有官方的Open WebUI、Chatbox、Page Assist、MaxKB等等。
chatbox
Chatbox是一款多平台支持的AI客户端应用和智能助手,支持众多先进的AI模型和API,可在Windows、MacOS、Android、iOS、Linux和网页版上使用。到chatbox官网下载安装包安装即可,第一次启动的时候选择使用本地大模型,会弹出来下面的对话框,选择ollama api:
然后在ollama api的设置页面选择模型为deepseekl-r1:7b,其他保持默认即可,如下图所示:
下面来测试一下,我们的问题是“生成一个架空历史小说的提纲,回到元朝,思路独特一些”,看看deepseek怎么回答的:
确实有点意思,现在很多人都是拿写小说来测大模型,虽然上下文还达不到几百万字的程度,几十万字的小说应该问题不大,感觉网文行业的门槛会越来越低了。
再来一首词:
写的有点惨了,也够烂的,不过多试几次也许能有好一点的。
MaxKB
MaxKB(Max Knowledge Base)是一款基于大语言模型和RAG(检索增强生成)的开源知识库问答系统,更适合企业级知识管理和智能问答。使用Docker进行了MaxKB的安装会更方便一些,需要现在本地安装好docker desktop:
docker run -d --name=maxkb --restart=always -p 8180:8080 -v c:\apps\maxkb\data:/var/lib/postgresql/data -v c:\apps\maxkb\python-package:/opt/maxkb/app/sandbox/python-packages cr2.fit2cloud.com/1panel/maxkb
其中c:\apps\maxkb\data和c:\apps\maxkb\python-package这两个目录要改成你自己的,分别是maxkb的数据目录和可能新增的python包对应的目录,要注意data目录不能为空,否则容器里的postgresql数据库无法正常初始化。本地端口我选的8180,因为默认的8080可能与其他程序冲突,这个根据需要选择了。
安装成功后,进入地址:http://localhost:8180/,默认用户名为admin,默认密码为MaxKB@123..(注意后面的两个点也是密码的一部分)。首次登陆时,会提示修改密码。MaxKB官网提供了入门手册。
接下面需要在MaxKB的模型设置页面中点击“添加模型”按钮,选择供应商为Ollama,模型名称和基础模型都填deepseek-r1:7b,基础模型列表没有deepseek-r1:7b,直接输入回车即可添加上,API域名填http://host.docker.internal:11434,而不是我们之前安装的ollama的API地址(http://localhost:11434),这是因为docker容器内部是无法直接访问宿主机的地址的,可以通过docker内部域名来访问。API key我们随意填就行。
创建好模型之后就可以创建应用,社区版的maxkb只能创建5个应用,我们本地用足够了。maxkb的功能非常强大,内置大量的功能,还可以进行二次开发,具体的说明可以参考官方文档
如果刚开始不知道怎么设置,可以都使用MaxKB默认的设置,创建应用的页面如下图所示:
右侧是调试界面,可以看到已经是deepseek的返回结果了。点击创建并发布,就可以创建成功应用,在应用的详情页面可以找到专有的地址,例如http://localhost:8180/ui/chat/7391cc328385efe4,以后可以直接访问这个地址操作我们刚才创建的应用。
Open WebUI
OpenWebUI(前身为Ollama WebUI)是一个可扩展的、功能丰富的、用户友好的自托管Web界面,设计用于完全离线运行,更适合模型管理和交互。
安装open-webui比较简单,不过最好还是先用conda创建已经虚拟的python环境。
conda create -n open-webui python=3.11
conda activate open-webui
pip install open-webui
open-webui serve
运行open-webui的截图如下:
第一次运行会下载一些依赖,然后监听本地的8080端口,用浏览器打开http://localhost:8080/即可开始使用open-webui。如果网络有问题,比如访问不了api.openai.com,会有一段延时才会打开页面,这个不影响使用。第一次打开网页会提示设置管理员账号和密码,然后就能进入下面的页面,可以看到,已经能列出我们之前在ollama安装好的本地大模型。
Vscode
vscode的cline和continue插件都可以配置成接入本地ollama api。
4、资源查看
如果你是nvidia的显卡,安装了nvidia控制面板之后就已经带了nvidia-smi程序,可以查看当前网卡的状态。
下面的命令不断监控显卡状态,每5秒钟刷新一次结果。
nvidia-smi -l 5
另一个命令nvitop可以可视化的查看显卡状态:
pip install nvitop
nvitop