【清晰教程】通过Docker为本地DeepSeek-r1部署WebUI界面

news2025/2/12 5:25:13

【清晰教程】本地部署DeepSeek-r1模型-CSDN博客

目录

安装Docker

配置&检查

Open WebUI

部署Open WebUI


安装Docker

完成本地DeepSeek-r1的部署后【清晰教程】本地部署DeepSeek-r1模型-CSDN博客,通过Docker为本地DeepSeek-r1部署WebUI界面。

访问Docker官网 

Docker: Accelerated Container Application Developmenthttps://www.docker.com/https://www.docker.com/https://www.docker.com/https://www.docker.com/icon-default.png?t=O83Ahttps://www.docker.com/

选择合适的版本进行下载安装

 按照默认情况安装即可

打开命令行,键入docker,如显示以下信息说明Docker安装成功

配置&检查

安装完成后,在“启用或关闭Windows功能中”,启用”适用于Linux的Windows子系统” 、”虚拟机平台”

使用管理员权限打开命令提示符,安装/更新wsl2: 

wsl --set-default-version 2
wsl --update --web-download

安装/更新wsl2后重启电脑,进入Docker

选择跳过登录直接进入Continue without signing in 

左下角Engine running说明一切正常,可以进行图形化界面的部署

Open WebUI

Open WebUI 是一个开源的、功能丰富的自托管 Web 用户界面,专为与大型语言模型(LLMs)交互而设计,与chatgpt界面相似。它支持完全离线运行,兼容多种 LLM 运行器,如 Ollama 和 OpenAI API,并提供直观的聊天界面。其功能强大,支持 Markdown 和 LaTeX、本地 RAG 集成、多语言、多模型对话、网络搜索和图像生成集成,还具备语音和视频通话功能,满足多样化需求。

Open WebUI 的部署方式灵活,支持通过 Docker 或 Kubernetes 快速安装,界面响应式设计适配桌面和移动设备。它为开发者、研究者和企业提供了便捷的 AI 应用部署和访问方式,尤其适合对数据隐私要求较高的场景,能够快速搭建生成式 AI 应用,具有不错的用户体验。

GitHub - open-webui/open-webui: User-friendly AI Interface (Supports Ollama, OpenAI API, ...)User-friendly AI Interface (Supports Ollama, OpenAI API, ...) - open-webui/open-webuihttps://github.com/open-webui/open-webuihttps://github.com/open-webui/open-webuiicon-default.png?t=O83Ahttps://github.com/open-webui/open-webui

部署Open WebUI

通过docker run命令在本地主机进行快速部署

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:将容器内的8080 端口映射到宿主机的 3000 端口。这意味着你可以通过访问宿主机的 3000 端口来访问容器内运行的应用(默认是 Open WebUI 的 Web 界面)。
  • --add-host=host.docker.internal:host-gateway:在容器的 /etc/hosts 文件中添加一个条目,将 host.docker.internal 映射到宿主机的网关地址。这通常用于在容器内部访问宿主机上的服务,确保容器能够与宿主机进行通信。
  • -v open-webui:/app/backend/data:将宿主机上的一个名为 open-webui 的卷(如果不存在则会自动创建)挂载到容器内的 /app/backend/data 目录。这用于持久化存储容器内的数据,例如模型文件、配置文件等,即使容器被删除,数据也不会丢失。
  • --name open-webui:为容器指定一个名称,这里是 open-webui。这样可以通过名称来管理容器,例如使用 docker stop open-webui 来停止容器。
  • --restart always:设置容器的重启策略为“始终重启”。这意味着无论容器因何种原因停止,Docker 都会自动重新启动它。
  • ghcr.io/open-webui/open-webui:main:指定要运行的 Docker 镜像。这里使用的是ghcr.io/open-webui/open-webui 镜像的 main 标签,表示从 GitHub Container Registry 获取最新的主分支版本。

部署完成结果如下

部署完成后,在Docker的Containers中可以看到Open WebUI

复制对应的地址

http://localhost:3000/

进入UI界面,开始使用

创建管理账户,设置账号,邮箱,密码

确认更新消息

随即可在浏览器中使用,进一步可通过cpolar进行内网穿透以供大规模公网访问

部署效果

基于本地部署的 DeepSeek 能提供高度的灵活性和定制化能力,支持多语言、可扩展的插件功能,能够根据用户需求优化性能和配置。此外,本地部署无需支付订阅费用,降低了长期使用成本,同时用户完全自主控制模型运行和数据管理,避免外部服务中断风险。适用于创意写作、企业知识管理、教育研究等多种场景,能够高效利用本地资源,实现高性能和低延迟的交互体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2296664.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink-序列化

一、概述 几乎每个Flink作业都必须在其运算符之间交换数据,由于这些记录不仅可以发送到同一JVM中的另一个实例,还可以发送到单独的进程,因此需要先将记录序列化为字节。类似地,Flink的堆外状态后端基于本地嵌入式RocksDB实例&…

快速部署 DeepSeek R1 模型

1. DeepSeek R1 模型的介绍 DeepSeek R1 模型是专为自然语言处理(NLP)和其他复杂任务设计的先进大规模深度学习模型 ,其高效的架构设计是一大亮点,能够更高效地提取特征,减少冗余计算。这意味着在处理海量数据时&…

数据库系统概念第六版记录 四

1.sql组成 SQL 是最有影响力的商用市场化的关系查询语言。SQL 语言包括几个部分: 数据定义语言(DDL) ,它提供了定义关系模式、删除关系以及修改关系模式的命令。 数据操纵语言(DML) ,它包括查询语言,以及往数据库中插入元组、从数据库中删…

DeepSeek在FPGA/IC开发中的创新应用与未来潜力

随着人工智能技术的飞速发展,以DeepSeek为代表的大语言模型(LLM)正在逐步渗透到传统硬件开发领域。在FPGA(现场可编程门阵列)和IC(集成电路)开发这一技术密集型行业中,DeepSeek凭借其…

DeepSeek-V3 的核心技术创新

DeepSeek-V3 的核心技术创新 flyfish DeepSeek-V3 的核心技术创新主要体现在其架构设计和训练目标上,通过 多头潜在注意力(MLA)、DeepSeekMoE 架构、无辅助损失的负载均衡策略 和 多 Token 预测训练目标(MTP) 1. 多…

【Elasticsearch】监控与管理:集群监控指标

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

鸿蒙接入支付宝SDK后模拟器无法运行,报错error: install parse native so failed.

鸿蒙项目接入支付宝后,运行提示error: install parse native so failed. 该问题可能由于设备支持的 Abi 类型与 C 工程中的不匹配导致. 官网error: install parse native so failed.错误解决办法 根据官网提示在模块build-profile.json5中添加“x86_64”依然报错 问…

react redux用法学习

参考资料: https://www.bilibili.com/video/BV1ZB4y1Z7o8 https://cn.redux.js.org/tutorials/essentials/part-5-async-logic AI工具:deepseek,通义灵码 第一天 安装相关依赖: 使用redux的中间件: npm i react-redu…

【Matlab优化算法-第13期】基于多目标优化算法的水库流量调度

一、前言 水库流量优化是水资源管理中的一个重要环节,通过合理调度水库流量,可以有效平衡防洪、发电和水资源利用等多方面的需求。本文将介绍一个水库流量优化模型,包括其约束条件、目标函数以及应用场景。 二、模型概述 水库流量优化模型…

Redis 集群(Cluster)和基础的操作 部署实操篇

三主三从 集群概念 Redis 的哨兵模式,提高了系统的可用性,但是正在用来存储数据的还是 master 和 slave 节点,所有的数据都需要存储在单个 master 和 salve 节点中。 如果数据量很大,接近超出了 master / slave 所在机器的物理内…

[2025年最新]2024.3版本idea无法安装插件问题解决

背景 随着大模型的持续发展,特别年前年后deepseek的优异表现,编程过程中,需要解决ai来辅助编程,因此需要安装一些大模型插件 问题描述 在线安装插件的时候会遇到以下问题: 1.数据一直在加载,加载的很满 2.点…

elasticsearch安装插件analysis-ik分词器(深度研究docker内elasticsearch安装插件的位置)

最近在学习使用elasticsearch,但是在安装插件ik的时候遇到许多问题。 所以在这里开始对elasticsearch做一个深度的研究。 首先提供如下链接: https://github.com/infinilabs/analysis-ik/releases 我们下载elasticsearch-7-17-2的Linux x86_64版本 …

【Unity3D】UGUI的anchoredPosition锚点坐标

本文直接以实战去理解锚点坐标,围绕着将一个UI移动到另一个UI位置的需求进行说明。 (anchoredPosition)UI锚点坐标,它是UI物体的中心点坐标,以UI物体锚点为中心的坐标系得来,UI锚点坐标受锚点(Anchors Min…

C++多态性之包含多态(一)—学习记录

一、C的包含多态 面向对象程序设计的四大特点为抽象、封装、继承和多态,其中,多态性可以提高代码的可拓展性和可维护性。 多态是指同样的消息被不同类型的对象接收时导致不同的行为。所谓消息是指对类的成员函数的调用,不同的行为是指不同的实…

KERL文献阅读分享:知识图谱与预训练语言模型赋能会话推荐系统

标题期刊年份Knowledge Graphs and Pre-trained Language Models enhanced Representation Learning for Conversational Recommender SystemsJournal of LaTeX Class Files2021 📈研究背景 在数字时代,个性化推荐系统已经成为了我们生活的一部分。从电…

从零开始:使用Jenkins实现高效自动化部署

在这篇文章中我们将深入探讨如何通过Jenkins构建高效的自动化部署流水线,帮助团队实现从代码提交到生产环境部署的全流程自动化。无论你是Jenkins新手还是有一定经验的开发者,这篇文章都会为你提供实用的技巧和最佳实践,助你在项目部署中走得…

hive的几种复杂数据类型

Hive的几种复杂数据类型 Hive 提供了几种复杂数据类型,能够支持更灵活和多样的数据存储。这些复杂数据类型对于处理嵌套数据或不规则数据特别有用。主要包括以下几种: 文章目录 Hive的几种复杂数据类型1. 数组(ARRAY)2. 结构体&a…

序列化/反序列化与TCP通信协议

深入理解序列化/反序列化与TCP通信协议 一、序列化与反序列化 1.1 基本概念 序列化(Serialization): 将数据结构或对象状态转换为可存储/传输格式的过程反序列化(Deserialization): 将序列化后的数据恢复为原始数据结构的过程 …

Ollama 本地部署 体验 deepseek

下载安装ollama,选择模型 进行部署 # 管理员命令行 执行 ollama run deepseek-r1:70b浏览器访问http://ip:11434/ 返回 Ollama is runninghttp://ip:11434/v1/models 返回当前部署的模型数据 下载安装CherryStudio,本地对话UI 客户端 在设置中 修改API地址&#x…

Linux探秘坊-------4.进度条小程序

1.缓冲区 #include <stdio.h> int main() {printf("hello bite!");sleep(2);return 0; }执行此代码后&#xff0c;会 先停顿两秒&#xff0c;再打印出hello bite&#xff0c;但是明明打印在sleep前面&#xff0c;为什么会后打印呢&#xff1f; 因为&#xff…