windows本地部署deepseek-r1及应用
· 约 17 分钟阅读
Last updated on

windows本地部署deepseek-r1及应用

作者: Alex Xiang


部署环境: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官网提供了[入门手册](https://maxkb.cn/docs/quick_start/)。

接下面需要在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