2025年1月20日,杭州的一家公司开源推理模子 DeepSeek-R1,一经推出就震撼了世界。
不单单是媲美 OpenAI O3 的推理能力,更是用极低的本钱,惊艳了世界。
更何况,DeepSeek-R1 是开源的,任何人都可以部署,实现本地运行大模子,真正的 OPEN。
本来各个 AI 厂商还在牌桌上打牌,突然就有人把牌桌掀翻了。
比较风趣的是,DeepSeek 671B 模子,有非常多的“蒸馏版本”,而且“蒸馏版本”对高端显卡的依靠低,性能也根本满意个人使用。
本文将先容如安在 macOS 上部署 Ollama 和 Open WebUI,实现本地运行 DeepSeek 大模子。
最后的结果:
部署思绪
如今本地部署 DeepSeek-R1 的途径许多,主流的方法是使用 Ollama + Open WebUI 或者 Ollama + ChatbotUI;我个人是以为 Ollama + Open WebUI 更加实用,所以我们就部署这两个“小家伙”吧:
- Ollama: 一个轻量级、可扩展的框架,用于在本地计算机上构建和运行语言模子。支持从服务器拉取 Llama 3.3, DeepSeek-R1, Phi-4 和 Gemma 2 等模子。
- Open WebUI: 一个轻量的开源网页 AI 接口 程序,用于在欣赏器中调用本地、长途接口语言模子。支持使用 Ollama 模子进行对话、文本生成和文本摘要等使命。
所以,我们是先本地部署 Ollama,之后使用 Ollama 拉取 DeepSeek-R1 模子,最后使用 Open WebUI 调用 Ollama 模子,实现本地运行 DeepSeek-R1 大模子。部署流程如下图所示:
我的电脑设置:
- MacBook Pro (14-inch, 2023) M2Max 32GB
{% cloudComputing %}
Ollama 部署
这里有两个方法可以部署 Ollama,分别是二进制包安装和Docker安装。
安装 Ollama
如果你想要更好的性能,那么推荐使用二进制包安装,因为二进制包安装的 Ollama 性能更好。进入 Ollama Releases 页面,下载最新版本的 Ollama:
你也可以通过 Ollama 官网的链接,自动下载最新版本的 Ollama:https://ollama.com/download/Ollama-darwin.zip
解压下载的 Ollama 文件,将内部的 Ollama 文件移动到应用文件夹内:
双击打开,点击安装后,即可在终端内调用:
- # 查看 Ollama 版本
- ollama --version
- # Ollama 命令帮助
- ollama -h
复制代码 如果你想使用 Docker 部署 Ollama,那么可以参考 Ollama 官方 Docker 镜像。直接拉取 Ollama 的 Docker 镜像:
- # 拉取镜像并映射端口运行
- docker run -d -v $HOME/Documents/myDockerData/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
复制代码
拉取模子
我们可以在 Ollama 的官网查询到模子的 ID: https://ollama.com/library/deepseek-r1
比如我们这次演示使用 32B 蒸馏版本的,那么 ID 就是 deepseek-r1:32b。同时,Ollama 的拉取命令是:
- # 拉取并运行
- ollama run deepseek-r1:32b
- # 也可以仅仅拉取
- ollama pull deepseek-r1:32b
复制代码 复制命令,到终端内执行即可(如果你使用 Docker 版本的 Ollama,那么需要先docker exec -it ollama /bin/bash进入容器内再执行):
这个时候,相当于我们使用 Ollama 直接运行模子,你可以直接进行提问,比如:
输入/bye,可以退出当前模子交互。后续我们使用 Open WebUI 通过 Ollama 的 API 进行调用。
模子的本地存放地址,在~/.ollama/models内:
到此,Ollama 和模子就部署完成了。
Open WebUI 部署
同样,有两种方法可以部署 Open WebUI,分别是 Docker 安装和 Python pip 安装。
既没有 Docker,也不想使用 Python? 那么推荐可以试试看 Anything LLM Desktop
如果选择 pip 安装;只需要在 Python 版本≥ 3.8 的环境下,一步即达安装:
- # 安装 Open WebUI
- pip install open-webui
- # 启动 Open WebUI
- open-webui serve
复制代码 如果你想使用 Docker 部署 Open WebUI,那么可以参考 Open WebUI 官方文档。直接拉取 Open WebUI 的 Docker 镜像:
- # 拉取镜像并映射端口运行
- docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v $HOME/Documents/myDockerData/openwebui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
复制代码
解释一下参数:
- -p 3000:8080:将容器的 8080 端口映射到主机的 3000 端口;
- --add-host=host.docker.internal:host-gateway:将容器内的 host.docker.internal 分析为宿主机的 IP 地址(通过 host-gateway 动态获取)。
欣赏器访问 http://localhost:3000,即可进入 Open WebUI 的界面。根据提示初始化账号即可:
如果开启后,卡在加载界面。可以进入 Open WebUI 的容器内。在 /etc/hosts 文件中,添加 127.0.0.1 api.openai.com 后重启容器。
设置 Open WebUI
其实本地 Open WebUI 和 Ollama 的设置,已经做到了开箱即用。存在部分环境需要设置 API 接口,或者设置长途 ollama 的接口用于本地调用。
API 接口设置
默认环境,Open WebUI 会使用 Ollama 的默认地址 http://localhost:11434 进行查询。没有显示模子,你可以在 Settings 中进行设置:
设置联网查询
联网查询我这里也提一下。一些小白用户,以为联网查询功能,是 DeepSeek 模子提供的;现实上,不管是 DeepSeek 官网,照旧 Open WebUI,都是搜索 API 查询了网上结果后,作为 Token 内容喂给模子,之后输出结果。
相当于我们自己网上搜索了一下,把搜索结果作为附件,和提问内容一起给模子,模子输出结果。流程图:
Open WebUI 的联网查询,就是使用搜索引擎 API,获取搜索结果。比如,我设置 duckduckgo 作为搜索引擎:
之后,在提问中,即可使用联网搜索功能:
最后的结果:
Q&A
这里,我收集了一些常见的题目,以及解决方案。
如何卸载 Ollama
参考 GitHub issue: How to remove ollama from macos?
留意:移除 Ollama 的设置文件和安装包,只是移除 Ollama 的本地数据,不会影响 Ollama 的模子。
如果你是 docker 部署的,那么移除容器就可以了:
- docker stop ollama
- docker rm ollama
复制代码 如果你是直接安装的,那么需要先移除 Ollama 的设置文件,再移除 Ollama 的安装包:
- # 移除二进制文件
- rm /usr/local/bin/ollama
- # 删除软件
- rm -rf ~/Library/Application\ Support/Ollama
复制代码 最后,移除 Ollama 的登录项即可。
END
感谢阅读,如果以为不错,接待点赞、评论、转发。如果有什么题目,接待在评论区留言。有机会,我们一起看看本地知识库如何构建 ~~
最后,如果你以为本篇教程对你有帮助,接待加入我们的开发者交流群: 812198734 ,一起交流学习,共同进步。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |