windows本地部署deepseek-r1及应用

最近deepseek-r1大模型非常火爆,本文介绍了该模型在windows本地的部署过程及简单应用。

avatar_cover Alex Xiang
2025-01-30 519阅读

部署环境: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

Filter blog posts by tag maxkb chatbox deepseek
rust (4)   wagtail (4)   zola (4)   kaggle (3)   vscode (3)   deepseek (2)   gemma (2)   go (2)   winui (2)   wsl (2)