Windows本地Docker+Open-WebUI部署DeepSeek

        最近想在自己的电脑本地部署一下DeepSeek试试,由于不希望污染电脑的Windows环境,所以在wsl中安装了ollama,使用ollama拉取DeepSeek模型。然后在Windows中安装了Docker Desktop,在Docker中部署了Open-WebUI,最后再在Open-WebUI中连接到wsl的ollama,大功告成!这里记录一下部署的过程。

显卡:NVIDIA GeForce RTX 3060 Laptop

Docker Desktop 版本:v4.38.0

ollama 版本:0.5.11

DeepSeek模型:DeepSeek R1 8b 4bit量化

目录

安装ollama

1.下载安装ollama

 2.执行命令查看状态

 3.查看ollama端口

 4.查看本地模型执行命令

5.拉取DeepSeek模型

6.编辑ollama.service文件

安装Docker Desktop

1.下载 Docker Desktop

2.查看Docker是否正常工作

安装Open-WebUI

1.安装

2.Open-WebUI 接入 Ollama 


安装ollama

首先Windows上需要安装了WSL2,网上很多教程,这里就不写详细过程了。

1.下载安装ollama

        在终端里切换到WSL里,执行下面的命令下载安装ollama:

curl -fsSL https://ollama.com/install.sh | sh

        如果不挂梯子的话,会安装的非常慢,建议开梯子再下载。

 2.执行命令查看状态

sudo systemctl status ollama

 3.查看ollama端口

        执行命令安装net-tools:

sudo apt install net-tools

        执行命令:

sudo netstat -anp | grep 11434

 4.查看本地模型执行命令

ollama list

5.拉取DeepSeek模型

         在 ollama 官网上可以查看可以拉取的模型以及对应的命令:https://ollama.com/search,我这里拉取的是DeepSeek R1 8b 的 4bit 量化版本,Q4_K_M表示量化的 4bit 版本:

        执行命令,会先给你下载,再自动启动的: 

ollama run deepseek-r1:8b

        下载完后,可以看到本地已经有DeepSeek-R1:8b模型了。

6.编辑ollama.service文件

        执行下面的命令使用vim编辑ollama.service文件,并在其中添加如下两行:

sudo vim /etc/systemd/system/ollama.service

Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"

        改好以后记得使用下面的命令,重启ollama服务,然后可以关闭WSL: 

sudo systemctl restart ollama


安装Docker Desktop

1.下载 Docker Desktop

        访问 Docker 官网 下载 Docker Desktop。下载适用于 Windows 的 Docker Desktop 安装程序。

        下载完成后双击安装,Docker Desktop 默认安装在:C:\Program Files\Docker\Docker。Docker会自动为你配置WSL 2和虚拟化支持。安装完成后打开:

2.查看Docker是否正常工作

        输入命令,查看 Docker 版本:

docker --version

        输入命令,查看 Docker 的配置信息,包括容器和镜像的详细信息:

docker info


安装Open-WebUI

1.安装

        运行如下命令,安装 Open-WebUI:

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 Desktop ,可以查看到容器信息:

2.Open-WebUI 接入 Ollama 

        点击端口,进入 Open-WebUI ,注册管理员账号后进入主页面,这时候可以选择的模型列表还是空的:

        点击右上角头像—>设置—>管理员设置 

         

        点击外部连接,选择Ollama API,设置连接地址:

         然后回到主页面,再点击选择一个模型,就可以看到我们再Ollama中拉取的DeepSeek-R1:8b模型了,大功告成!

参考博客:Windows 中使用 Docker Desktop 部署 Open WebUI 做大模型可视化_openwebui docker部署-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

题解 | 牛客周赛82 Java ABCDEF

目录 题目地址 做题情况 A 题 B 题 C 题 D 题 E 题 F 题 牛客竞赛主页 题目地址 牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 做题情况 A 题 判断字符串第一个字符和第三个字符是否相等 import java.io.*; import java.math.*; import java.u…

Codeforces Round 1007 (Div. 2)(ABCD1)

A. The Play Never Ends 翻译: 让我们来介绍一种双人游戏--乒乓球,在这种游戏中,胜负永远分明,不可能出现平局。 索赛、福福和浩海三人想用一生的时间打乒乓球。他们决定用以下方式永远打下去: 在每场比赛中&#xff…

swift 开发效率提升工具

安装github copliot for xcode github/CopilotForXcode brew install --cask github-copilot-for-xcode安装swiftformat for xcode brew install swiftformatXcode Swift File代码格式化-SwiftFormat

蜂鸣器使用

1、蜂鸣器原理 无源蜂鸣器模块根据输入的 不同方波信号(作为震荡源)可以发出不同的声音。驱动电路中三极管电阻一般为1K-4K都行,能够让三极管导通即可。(三极管即带箭头的部分,基极和发射机(PNP&#xff09…

drawDB:一款免费数据库设计工具

drawDB 是一款基于 Web 的免费数据库设计工具,通过拖拽、复制、粘贴等方式进行数据库建模设计,同时可以生成相应的 SQL 脚本。 功能特性 drawDB 目前可以支持 MySQL、MariaDB、PostgreSQL、SQL Server 以及 SQLite 数据库,核心功能包括&…

【AI论文】将1568个标记压缩到单个向量中并再解压:探索嵌入空间容量的极限

摘要:近期,一系列研究致力于解决将标记序列压缩为更短的实值向量序列的问题,这些向量序列将作为输入,替代标记嵌入或键值缓存。这些方法有助于减少现有语言模型中的计算量。尽管使用了强大的模型作为编码器,但无损压缩…

【JavaWeb学习Day20】

Tlias智能学习系统 员工登录 三层架构: Controller:1.接收请求参数(用户名,密码)2.调用Service方法3.响应结果 具体实现: /*** 登录*/ ​ PostMapping("/login") public Result login(Reque…

.net开源商城_C#开源商城源码_.netcore开源商城多少钱

在现今的电子商务领域,开源商城系统为企业和开发者提供了丰富的选择和可能性。其中,.NET开源商城、C#开源商城源码以及.NET Core 开源商城备受关注。然而,对于这些开源商城的价格问题,往往是人们在选择时需要重点考虑的因素之一。…

Java并发编程之ConcurrentHashMap的原理和使用

ConcurrentHashMap(CHM)是Java为解决高并发场景下哈希表性能瓶颈而设计的线程安全容器,其核心目标在于: 线程安全‌:避免多线程操作导致的数据不一致问题‌;高吞吐量‌:通过细粒度锁和无锁化设计降低线程竞争‌;动态扩展‌:支持自动扩容与数据结构优化(如链表转红黑树…

问题修复-后端返给前端的时间展示错误

问题现象: 后端给前端返回的时间展示有问题。 需要按照yyyy-MM-dd HH:mm:ss 的形式展示 两种办法: 第一种 在实体类的属性上添加JsonFormat注解 第二种(建议使用) 扩展mvc框架中的消息转换器 代码: 因为配置类继…

《基于 LIME 的低照度图像处理》开题报告

目录 一、研究目的和意义 1.研究目的 2.研究意义 二、国内外研究现状和发展趋势 三、研究内容、研究方法及可行性分析 1、研究内容 2、研究方法 3、可行性分析 四、项目特色与创新点 1、面向特定应用场景的针对性研究 1.多算法比较与选择的严谨性 2.基于硬件平台的深…

【Linux文件IO】系统IO详情

目录 一、前言 二、相关API介绍 2.1 open 2.2 read 2.3 write 2.4 lseek 2.5 close 三、简单示例 3.1 示例1 3.2 示例2 一、前言 在 Linux 系统编程中,系统 I/O(又称低级 I/O)是直接通过操作系统提供的系统调用实现的文件操作接口…

MATLAB代码:机器学习-分类器

本文包含三种机器学习分类器的MATLAB实现方式代码块:支持向量机、决策树、逻辑回归。 目录 SVM/支持向量机(Support Vector Machine) 原理 MATLAB实现 实例代码块 采用搜索确定参数 Decision Tree / 决策树 原理 MATLAB实现 实例代码块 Logistic Regressio…

DeepSeek赋能数据治理:数字转型智慧引擎,企业数治的全新解决方案

在数字化时代,数据已成为企业的核心资产,而数据治理则是企业实现数字化转型的关键环节。然而,传统数据治理面临着诸多挑战,如数据孤岛、数据质量参差不齐、治理效率低下等。 如今,随着人工智能技术的飞速发展&#xf…

火山引擎AI一体机-DeepSeek版来了

2025年伊始,DeepSeek 在各领域尽显其能。除常态公有云部署外,一些企业也希望将 DeepSeek 与本地数据、业务场景相融合,拥抱 AI 新未来。不过,算力基础设施缺失、模型交付周期长、推理性能不足、数据安全合规等技术和成本问题成为了…

Hadoop之02:MR-图解

1、不是所有的MR都适合combine 1.1、map端统计出了不同班级的每个学生的年龄 如:(class1, 14)表示class1班的一个学生的年龄是14岁。 第一个map任务: class1 14 class1 15 class1 16 class2 10第二个map任务: class1 16 class2 10 class…

IP属地是通过卫星定位的吗?如何保护用户隐私

在数字时代,网络空间成为了人们日常生活不可或缺的一部分。随着社交媒体、在线服务等平台的兴起,用户IP属地信息的重要性日益凸显。然而,关于IP属地是如何确定的,尤其是是否通过卫星定位这一问题,却常常引发公众的疑问…

20250225-代码笔记03-class CVRPModel AND other class

文章目录 前言一、class CVRPModel(nn.Module):__init__(self, **model_params)函数功能函数代码 二、class CVRPModel(nn.Module):pre_forward(self, reset_state)函数功能函数代码 三、class CVRPModel(nn.Module):forward(self, state)函数功能函数代码 四、def _get_encodi…

操作系统之文件系统

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

Linux操作系统5- 补充知识(可重入函数,volatile关键字,SIGCHLD信号)

上篇文章:Linux操作系统5-进程信号3(信号的捕捉流程,信号集,sigaction)-CSDN博客 本篇Gitee仓库:myLerningCode/l26 橘子真甜/Linux操作系统与网络编程学习 - 码云 - 开源中国 (gitee.com) 目录 一. 可重入…