平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“本地搭建DeepSeek-R1、WebUI的完整过程及访问”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
背景
实际处理时,最近几年,人工智能技术的发展势头愈发强劲。无论是大型语言模型的突破,如美国OpenAI公司开发的ChatGPT,还是中国诸家企业在自主学习系统领域的更快进步,都展现了人工智能技术的前所未有的潜力和变革力量。这不仅仅是技术本身的飞速发展,更是人类对知识边界与认知极限的一次深度探索。从自然语言处理到计算机视觉,从强化学习到生成式AI,技术创新层出不穷,为人类社会带来了前所未有的变革。
从实现思路看,在这场技术革命里,我们欣喜地看到AI系统能够以接近或超越人类水平的能力,完成复杂的知识推理、多任务处理以及创造性思考。比如,DeepSeek等中国公司开发的智能搜索引擎,不仅在信息检索方面取得了显著进展,还展现出独特的领域适应能力。此外,AI技术的应用已经渗透到各个行业,从医疗、教育到,每一个领域都在经历着前所未有的数字化与智能化转型。在这个充满挑战与机遇的时代,我们需以更加开放和包容的心态,拥抱人工智能带来的变革,同时也要保持对未知未来的一种敬畏与谨慎。
实际处理时,本文旨在详细说明如何离线搭建DeepSeek-R1,主要为企业级开发采用。另外官方线上环境因火爆的访问量及持续遭受每秒上亿次的Dos恶意请求,导致访问体验感不好的小伙伴也能够进行离线搭建采用。
仅需线上体验的朋友能够直接跳转官网链接。
搭建准备
- 下载安装:ollama
- 下载安装:docker


基础概念
结合项目来看,Ollama 是一个开源的人工智能平台,专注于大语言模型(Large Language Model, LLM)的本地部署和管理。它允许开发者在自己的服务器上运行多种预训练语言模型,如 GPT-3 或 ChatGPT,同时借助 RESTful API 提供服务。Ollama 的核心优势在于其高效的本地推理能力,能够在资源有限的环境下更快响应用户查询。如下所示附上Ollama基础指令。
#1.启动ollama服务
ollama serve
#2.创建模型 (create);使用 Modelfile 来创建一个新模型。你需要提供一个包含模型信息的 Modelfile。
ollama create /path/to/Modelfile
#3.显示模型信息 (show);查看特定模型的详细信息,例如模型名称、版本等。
ollama show model_name
#4.列出所有模型 (list);列出本地所有可用的模型,可以在这里查找模型名称。
ollama list
ollama ls
#5.运行模型 (run);运行一个已安装的模型,执行某些任务。
ollama run model_name
#6.列出正在运行的模型 (ps);显示当前正在运行的模型列表。
ollama ps
#7.删除模型 (rm);删除一个已安装的模型。
ollama rm model_name
#8.查看版本 (version);显示当前 ollama 工具的版本信息。
ollama -v
ollama --version
#9.复制模型 (cp);复制一个模型到另一个位置或给定名称的地方。
ollama cp old_model new_model
#10.从注册表拉取模型 (pull);从模型注册表中拉取一个模型,供本地使用。
ollama pull model_name
#11.推送模型到注册表 (push);将本地模型推送到模型注册表中,以便他人或其他系统使用。
ollama push model_name
从实现思路看,Docker是一种开源的容器化平台,用来将软件及其所有依赖环境打包到镜像文件中,以便于在任何环境下轻松运行。此处采用docker常用来运行open-webui,以便于更便于的采用DeepSeek-R1。
搭建过程
上述安装产品安装成功之后,便能够开始着手搭建DeepSeek-R1。
首先在ollama官网查询 deepseek 或者 deepseek-r1

在这个场景下,如下所示图目前存在28个tag,按照我们自身电脑设置选择对应的版本,同时复制右侧命令。
结合项目来看,数字后面的b代表着算力参数,随着参数增加,训练和 inference 的计算量也显著增加,但也要选择和本地硬件相匹配。

设置对照表

- MAC用户打开终端(Windows用户打开CMD)输入上述复制命令
从实现思路看,下载结束且成功之后(出现三个箭头),则能够进行问答。前期下载速度还是蛮快的,后面速度会越来越慢(FQ可有效提高下载速度),能够手动 control c 结束之后重新运行(会接着进行下载)。

下载成功之后能够查询到下载的模型信息

- 安装WebUI
在这个场景下,如上小黑框中的交互方式显然不能满足我们的要求,我们需一个友好的交互页面(如ChatGpt一样),还能够记录下我们对话的内容。此时引入open web ui。
登录docker客户端同时点击terminal输入如下所示命令:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
步骤解释:
docker run:采用命令启动一个新的Docker容器。-d:表示运行容器时在后台,避免终端被占据。-p 3000:8080:将宿主机的端口3000映射到容器内的端口8080。这样,外部访问的请求会被转发到容器内的8080端口,以供WebUI服务提供响应。--add-host=host.docker.internal:host-gateway:为Docker容器网络设置添加一个宿主名。host.docker.internal是Docker默认设置的一个虚拟IP地址,允许容器访问主机网络中的其他服务,如本地服务器或数据库等。--name open-webui:指定容器的名称为open-webui,便于在后续操作中借助名称管理和停止容器。ghcr.io/open-webui/open-webui:main:从GitHub Container Registry(GHCR)拉取镜像。open-webui:main表示采用仓库中的open-webui项目的主分支镜像。如果没有权限访问该镜像,Docker命令将失败。--restart always:设置容器重启策略,当容器退出时自动启动新实例,以确保服务持续运行,避免应用程序故障导致服务中断。-v open-webui:/app/backend/data:新建一个匿名卷,将宿主机的文件夹open-webui挂载到容器内的路径/app/backend/data。这允许容器在运行期间生成或修改数据,而这些数据会被保存到宿主机的指定文件夹中,便于后续管理和持久化。
在这个场景下,借助以上命令,您能够在本地启动一个WebUI服务,外部用户能够借助宿主机的3000端口访问。容器将自动重启,以应对崩溃或终止情况,并且数据会被持久保存以供后续采用。

访问
WebUI本地访问地址: (链接已移除)
登录成功之后能够选择我们下载好的对应模型进行对话。

对话测试

在这个场景下,综上,我们就完成了deepseek r1 的本地搭建。于用户角度,与ChatGpt相比,deepseek独有的思考过程让人眼前一亮。
总结
到此这篇关于本地搭建DeepSeek-R1、WebUI的文章就介绍到这了,更多相关本地搭建DeepSeek-R1、WebUI内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多兼容脚本之家!
- DeepSeek-R1 云环境搭建部署流程
- 借助Docker为本地DeepSeek-r1部署WebUI界面的完整教程
- 在linux服务器本地部署Deepseek及在mac远程web-ui访问的操作
- Linux 服务器本地部署 DeepSeek-R1 大模型同时在远端Web-UI访问保姆级教程