windows系統本地部署DeepSeek-R1全流程指南:Ollama+Docker+OpenWebUI

本文將手把手教您使用Ollama+Docker+OpenWebUI三件套在本地部署DeepSeek-R1大語言模型,實現私有化AI服務搭建。

一、環境準備

1.1 硬件要求

CPU:推薦Intel i7及以上(需支持AVX2指令集)

內存:最低16GB,推薦32GB+ (其實內存8GB也可以)

顯卡:非必需,但使用NVIDIA GPU可加速(需CUDA 11.8+)

存儲:至少20GB可用空間

1.2 系統要求

操作系統:Linux(Ubuntu 22.04推薦)/ Windows WSL2 / macOS 12+

Docker版本:24.0+

Python版本:3.10+

二、安裝部署流程

2.1 下載安裝ollama https://ollama.com/

Ollama 是一個用于運行和管理 AI 模型的開源平臺,特別是在本地環境中使用 AI 模型。它旨在通過簡化本地部署和管理 AI 模型的過程,使開發者能夠更容易地在自己的機器上運行各種大型語言模型(LLMs)。
在這里插入圖片描述

在這里插入圖片描述

2.2檢查ollama是否安裝成功

cmd命令,然后輸入ollama如果出現以下內容則表示ollama安裝成功

ollama

在這里插入圖片描述

2.3 根據自己的電腦情況選擇模型,這里為了快速演示選擇了一個最小的模型1.5b的,點擊右邊復制命令。

這里注意,如果下載速度變慢了可以ctrl+c停止后重新輸入命令后回車,速度會變快

ollama run deepseek-r1:1.5b

在這里插入圖片描述
在這里插入圖片描述

2.4安裝完成效果圖

使用命令:到這里基本的就算完成了就可以使用了

ollama run deepseek-r1:1.5b

在這里插入圖片描述
在這里插入圖片描述

2.5現在來安裝docker,這里我們后面會使用docker來安裝openwebui

進入docker官網 https://www.docker.com/ 進行下載。這里根據自己的系統下載安裝。
在這里插入圖片描述
在這里插入圖片描述
安裝成功后輸入命令,如果出現版本信息表示安裝成功
docker --version
在這里插入圖片描述

2.6拉取OpenWebUI鏡像

docker pull ghcr.io/open-webui/open-webui:main
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui-new --restart always ghcr.io/open-webui/open-webui:main

2.7 拉取OpenWebUI可能遇到的一些問題的排查方式

  1. 檢查 Docker 鏡像
    確保你已經成功拉取了 open-webui 鏡像。你可以通過以下命令檢查鏡像是否存在:
docker images

如果你看到 ghcr.io/open-webui/open-webui:main 鏡像列表中,那么說明鏡像已經成功拉取
2. 查看日志(可選)
如果容器運行有問題,可以通過以下命令查看容器的日志:

docker logs open-webui
  1. 停止和刪除容器
    停止容器
docker stop open-webui

刪除容器

docker rm open-webui

確認容器是否運行
首先確認容器已經成功啟動。你可以使用以下命令查看容器的狀態:

docker ps

2.8 最終效果圖

如果關機后下次開機還想使用的話,需要打開docker desktop 即可。然后訪問上次配置的地址。這里我配置的是localhost:3000即可通過openwebui來進行使用了。
在這里插入圖片描述

數據持久化

檢查當前 OpenWebUI 的部署方式

首先,確認你是如何部署 OpenWebUI 的。如果你是通過命令行使用 Docker 啟動的 OpenWebUI,那么它很可能并沒有配置持久化存儲(例如數據掛載到本地目錄)。

停止當前 OpenWebUI 容器

如果你已經通過 Docker 啟動了 OpenWebUI,首先停止當前正在運行的容器:

docker ps  # 查看正在運行的容器
docker stop <容器ID或容器名稱>  # 停止當前的 OpenWebUI 容器
docker rm <容器ID或容器名稱>  # 刪除容器

創建一個 docker-compose.yml 文件 。這里我是放在D盤的

創建一個專門的目錄用于管理 OpenWebUI 容器。
假設你在用戶目錄下創建一個新目錄:openweui
然后在該目錄下創建 docker-compose.yml 文件:

配置 docker-compose.yml 文件

version: '3'
services:openwebui:image: ghcr.io/open-webui/open-webui:main  # 使用最新的 OpenWebUI 鏡像container_name: openwebuiports:- "3000:3000"  # 將容器的3000端口映射到本地的3000端口environment:- PORT=3000  # 配置 OpenWebUI 啟動時監聽的端口volumes:- ./data:/app/data  # 將本地的 ./data 文件夾掛載到容器的 /app/data 文件夾restart: always  # 容器異常退出時自動重啟

這將 OpenWebUI 配置為通過 localhost:3000 進行訪問。
同時,容器內部的 /app/data 目錄會掛載到本地的 ./data 目錄,確保數據持久化存儲。

啟動 OpenWebUI 容器

在創建并保存好 docker-compose.yml 文件后,運行以下命令來啟動 OpenWebUI 容器:

docker-compose up -d

訪問 OpenWebUI

容器啟動后,你可以通過瀏覽器訪問 http://localhost:3000 來查看 OpenWebUI 是否正常運行。

驗證數據是否持久化

在容器運行一段時間后,嘗試在 OpenWebUI 中進行一些操作(例如上傳文件或保存數據),然后停止容器并重啟。檢查本地的 ./data 目錄,確保數據文件保存到本地磁盤。

docker-compose down  # 停止并刪除容器
docker-compose up -d  # 重新啟動容器

重新訪問 localhost:3000,確認數據是否仍然存在。

總結

通過 docker-compose 配置 OpenWebUI,確保數據存儲在本地。
使用 volumes 將容器內的 /app/data 目錄掛載到本地的 ./data 目錄,以保證數據持久化。
通過 localhost:3000 訪問 OpenWebUI,并在容器重啟后驗證數據是否丟失。
這樣,你就能夠在本地通過 Docker 部署 OpenWebUI 并保持數據的持久化了。

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/70337.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/70337.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/70337.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Windows Server 任務計劃

背景&#xff1a;QMT服務只能在windows服務器上面運行 直接在控制面板里面搜索"任務計劃"點進去 需要注意的是&#xff1a; 1.創建任務計劃選擇”不管用戶是否登錄都運行“&#xff0c;是否需要最高權限執行看你的需求 2.操作程序或腳本&#xff0c;選擇bat腳本就…

makefile+LSF

LSF LSF&#xff08;Load Sharing Facility&#xff09;是一種常用的集群作業調度系統&#xff0c;bsub 命令用于提交作業到 LSF 集群&#xff0c;而若要關閉&#xff08;終止&#xff09;一個正在運行的作業&#xff0c;需要使用 bkill 命令&#xff0c;下面為你詳細介紹相關…

spring boot知識點3

1.spring boot能否使用xml配置 可以&#xff0c;但是很繁瑣&#xff0c;現在都建議走JavaConfig 2.spring boot的核心配置文件 application.properties application.yml 3.bootstrap.properties和application.properties的區別 b&#xff1a;用于遠程配置 a&#xff1a;…

人工智能學習環境配置

文章目錄 Python、CUDA、cuDNN、PyTorch 和 Anaconda 的介紹PythonCUDAcuDNNPyTorchAnaconda聯系 安裝n卡驅動更新安裝 AnacondaAnaconda配置鏡像源CUDA安裝Cudnn安裝Anaconda初始化創建虛擬環境安裝 PyTorch驗證安裝 可能的錯誤SSL錯誤 Python、CUDA、cuDNN、PyTorch 和 Anaco…

【C語言】C語言 食堂自動化管理系統(源碼+數據文件)【獨一無二】

&#x1f449;博__主&#x1f448;&#xff1a;米碼收割機 &#x1f449;技__能&#x1f448;&#xff1a;C/Python語言 &#x1f449;專__注&#x1f448;&#xff1a;專注主流機器人、人工智能等相關領域的開發、測試技術。 【C語言】C語言 食堂自動化管理系統&#xff08;源…

DeepSeek是什么?兩種模型的對比?

最近DeepSeek的風也是很大&#xff0c;它也是很火&#xff0c;那么DeepSeek是什么呢&#xff1f; 什么是DeepSeek&#xff1f; DeepSeek是一家專注通用人工智能&#xff08;AGI&#xff09;的中國科技公司&#xff0c;主攻大模型研發與應用。DeepSeek-R1是其開源的推理模型&a…

【架構】分層架構 (Layered Architecture)

一、分層模型基礎理論 ![在這里插入圖片描述](https://i-blog.csdnimg.cn/direct/0365cf0bfa754229bdedca6b472bffc7.png 1. 核心定義 分層架構(Layered Architecture)模型是一種常見的軟件設計架構,它將軟件系統按照功能劃分為不同的層次,每個層次都有特定的職責和功能…

基于MATLAB的均勻面陣MUSIC算法DOA估計仿真

基于MATLAB的均勻面陣MUSIC算法DOA估計仿真 文章目錄 前言一、二維MUSIC算法原理二、二維MUSIC算法MATLAB仿真三、MATLAB源代碼總結 前言 \;\;\;\;\; 在波達角估計算法中&#xff0c;MUSIC 算法與ESPRIT算法屬于特征結構子空間算法&#xff0c;是波達角估計算法中的基石。在前面…

組學數據分析實操系列 |(四) 富集氣泡圖的繪制

前言:在上一篇中&#xff0c;我們介紹了利用Metascape零代碼實現富集分析&#xff0c;但是Metascape的富集分析結果是以柱狀圖的形式展示的。文章中更常使用的富集結果可視化方式是氣泡圖。氣泡圖可以通過氣泡的坐標、形狀、顏色、大小等來展示更加豐富的富集分析結果&#xff…

實現一個專注應用-后端開發(一)-搭建

搭建后端服務 搭建服務拆分下用戶服務 增加公共庫通用模塊 運行一下接入數據庫安裝Prisma增加prisma庫 redis增加redis服務 搭建服務 使用nestjs來做 這里是nestjs的網站Nestjs 安裝 nest npm i -g nestjs/cli創建一個項目 并在開發工具打開 nest new todonest new xx 是新…

C++17并行化加速STL算法——std::execution

C17 并行化STL算法 文章目錄 C17 并行化STL算法概念環境準備工具類 并行算法 - 使用并行算法 - 執行策略總覽選擇標準詳細介紹順序執行 seq并行化順序執行 par并行化亂序執行 par_unseq 并行算法 - 異常處理可以不使用并行算法并行算法 - 限制并行算法有哪些原有算法17引入新算…

Deepseek 懟CHATGPT實況

提示詞&#xff1a; 用犀利的語言批評ChatGPT 深度思考&#xff08;R1) 嗯&#xff0c;用戶讓我用犀利的語言批評ChatGPT。首先&#xff0c;我需要理解他們的動機。可能他們遇到了ChatGPT的某些問題&#xff0c;比如回答不準確或者缺乏深度&#xff0c;所以想表達不滿。也有…

always和assign語法區別

always語句可以帶時鐘, 也可以不帶時鐘。 一,assign和always區別 assign 語句使用時不能帶時鐘。 assign a=1; assign b=2; 在always不帶時鐘時,邏輯功能和assign完全一致,都是只產生組合邏輯。比較簡單的組合邏輯推薦使用assign語句,比較復雜的組合邏輯推薦使用 al…

解析跨域:原理、解決方案與實踐指南

解析跨域&#xff1a;原理、解決方案與實踐指南 &#x1f310; 在現代Web開發中&#xff0c;跨域問題是一個常見且重要的挑戰。隨著互聯網應用的日益復雜&#xff0c;前端與后端之間的交互越來越頻繁&#xff0c;跨域請求的需求也隨之增加。 一、跨域問題的本質與產生條件 &a…

鴻蒙開發:熟知@BuilderParam裝飾器

前言 本文代碼案例基于Api13。 在實際的開發中&#xff0c;我們經常會遇到自定義組件的情況&#xff0c;比如通用的列表組件&#xff0c;選項卡組件等等&#xff0c;由于使用方的樣式不一&#xff0c;子組件是動態變化的&#xff0c;針對這一情況&#xff0c;就不得不讓使用方把…

MSI微星電腦沖鋒坦克Pro Vector GP76 12UGS(MS-17K4)原廠Win11系統恢復鏡像,含還原功能,預裝OEM系統下載

適用機型&#xff1a;【MS-17K4】 鏈接&#xff1a;https://pan.baidu.com/s/1P8ZgXc6S_J9DI8RToRd0dQ?pwdqrf1 提取碼&#xff1a;qrf1 微星筆記本原裝出廠WINDOWS11系統自帶所有驅動、出廠主題壁紙、系統屬性專屬聯機支持標志、Office辦公軟件、MSI Center控制中心等預裝…

【面試題】杭州士騰科技-面試題匯總

歷史小劇場 歷史是一個好客的主人&#xff0c;卻從不容許客人取代它的位置。歷史也從來就不是一個人或事幾個人可以支配創造的。所謂時勢造英雄&#xff0c;實乃至理名言。 真正支配歷史的人&#xff0c;不是朱元璋&#xff0c;是稻田里辛勤勞作的老農&#xff0c;是官道上來往…

Go入門之map

map類型是引用類型&#xff0c;必須初始化才能使用&#xff0c;為key-value形式 var userinfo make(map[string]string)userinfo["username"] "zhangsan"var user map[string]string{"username": "張三","age": &qu…

切換鏡像源(npm)

常見的npm鏡像源 官方源 URL: https://registry.npmjs.org 淘寶鏡像源&#xff08;npmmirror&#xff09; URL: https://registry.npmmirror.com 其他常用鏡像源 URL: https://registry.cnpmjs.org (CNPM) 這里是引用 切換npm鏡像源 切換到官方源 npm config set registry http…

【大模型】DeepSeek 高級提示詞技巧使用詳解

目錄 一、前言 二、DeepSeek 通用提示詞技巧 2.1 DeepSeek 通用提示詞技巧總結 三、DeepSeek 進階使用技巧 3.1 DeepSeek一個特定角色的人設 3.1.1 為DeepSeek設置角色操作案例一 3.1.2 為DeepSeek設置角色操作案例二 3.2 DeepSeek開放人設升級 3.2.1 特殊的人設&#…