Ubuntu環境基于Ollama部署DeepSeek+Open-Webui實現本地部署大模型-無腦部署

Ollama介紹

Ollama是一款簡單好用的模型部署工具,不僅可以部署DeepSeek,市面上開源模型大部分都可以一鍵部署,這里以DeepSeek為例
官網
在這里插入圖片描述
DeepSeek
在這里插入圖片描述
版本硬件要求
在這里插入圖片描述

安裝Ollama

環境

sudo apt update
sudo apt install curl
sudo apt install lsof
1.命令一鍵安裝

在官網點擊下載可以看到推薦的就是命令安裝,根據需要選擇系統版本
但是由于是外網地址會下載的非常慢,如果網絡環境支持,首選命令行安裝,簡單方便
在這里插入圖片描述

curl -fsSL https://ollama.com/install.sh | sh
2.壓縮包安裝

在網絡環境不允許,或者下載太慢的情況下,可以選擇壓縮包安裝
壓縮包安裝需要注意會有一些坑,命令行直接安裝會自動匹配,不需要考慮架構問題
這里主要以linux系統為例子,系統架構會有很多版本主要 X86,ARM等等
這里需要先通過命令查看自己的系統架構版本
參考官方文檔

sudo uname -m

我這里就是arm的架構
在這里插入圖片描述
arm版本下載路徑

curl -L https://ollama.com/download/ollama-linux-arm64.tgz -o ollama-linux-arm64.tgz
sudo tar -C /usr -xzf ollama-linux-arm64.tgz

amd /x86 版本

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz

上面得解壓路徑一般官方文檔是放在usr/bin ,amd版本一般放在/usr/local/bin 根據自己情況解壓
解壓之后可以在對應得路徑看到一個ollama啟動器文件
在這里插入圖片描述
命令后臺啟動

/usr/bin/ollama serve &

啟動報錯可能是端口沖突,查看端口占用

sudo lsof -i :11434

在這里插入圖片描述

kill -9 1234

編寫自啟動腳本

sudo vi /etc/systemd/system/ollama.service 
[Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
[Install]
WantedBy=multi-user.target

如果沒有ollama用戶則創建用戶

sudo groupadd -r ollama
sudo useradd -r -g ollama -s /sbin/nologin ollama
sudo mkdir -p /home/ollama/.ollama
sudo chown -R ollama:ollama /home/ollama/.ollama

重新加載 Systemd 配置

sudo systemctl daemon-reload

啟用 Ollama 服務自啟動

sudo systemctl enable ollama.service

啟動/停止.重啟 Ollama 服務

sudo systemctl start ollama.service
sudo systemctl stop ollama.service
sudo systemctl restart ollama.service

檢查 Ollama 服務狀態

sudo systemctl status ollama.service

查看最近的日志輸出

sudo journalctl -u ollama.service

重啟系統以驗證自啟動

sudo reboot

下載DeepSeek模型并啟動

官網上不止有DeepSeek模型,市面上大部分開源模型都可以一鍵安裝,這里只是以DeepSeek為例
在這里插入圖片描述
選擇想要部署的版本,復制對應的命令
在這里插入圖片描述
版本命令

ollama run deepseek-r1:1.5b
ollama run deepseek-r1:7b
ollama run deepseek-r1:8b
ollama run deepseek-r1:14b
ollama run deepseek-r1:32b
ollama run deepseek-r1:70b
ollama run deepseek-r1:671b

下載完成后會自動進入會話模式
在這里插入圖片描述

ollama 常用命令

ollama --help  #查看幫助信息。
ollama serve  #啟動 ollama 服務。
ollama create <model-name> [-f Modelfile]  #根據一個 Modelfile 文件導入模型。
ollama show <model-name:[size]>  #顯示某個模型的詳細信息。
ollama run <model-name:[size]>  #運行一個模型。若模型不存在會先拉取它。
ollama stop <model-name:[size]>  #停止一個正在運行的模型。
ollama pull <model-name:[size]>  #拉取指定的模型。
ollama push <model-name>  #將一個模型推送到遠程模型倉庫。
ollama list  #列出所有模型。
ollama ps  #列出所有正在運行的模型。
ollama cp <source-model-name> <new-model-name>  #復制一個模型。
ollama rm <model-name:[size]>  #刪除一個模型。

Docker容器安裝部署 Open-Webui

之所以選擇Docker安裝open-Webui,是因為簡單方便.
除了Docker環境也可以通過編譯的方式部署,但是過于復雜,各種環境需要安裝Python3,ngode,js 等等一大堆,
Open-Webui官網
在這里插入圖片描述

安裝Docker容器

1.更新軟件包

sudo apt update
sudo apt upgrade

2.安裝依賴

sudo apt-get install ca - certificates curl gnupg lsb - release

3.添加 Docker 官方 GPG 密鑰

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

4.添加 Docker 軟件源

echo "deb [arch=$(dpkg --print - architecture) signed - by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5.將當前用戶添加到 docker 組

sudo usermod -aG docker $USER

6.安裝 Docker

sudo apt - get install docker - ce docker - ce - cli containerd.io

7.啟動 Docker

sudo systemctl start docker

8.驗證 Docker 是否安裝成功

sudo docker run hello - world
部署 Open-WebUI

1.拉取 Open WebUI 鏡像

sudo docker pull ghcr.io/open - webui/open - webui:main

2.創建open-WebUi容器并運行

sudo docker run -d   --name open-webui   --restart always   -e OLLAMA_BASE_URL=http://10.1.18.122:11434  -v open-webui:/app/backend/data -p 3000:8080   ghcr.io/open-webui/open-webui:main

安裝完成后OpenWebUI會自動連接已經運行的ollama服務中的DeepSeek服務
注意:
拉取open-webui鏡像時可能會超時報錯報錯,以為官方地址是外網的
可以切換為國內鏡像源

sudo vi /etc/docker/daemon.json

在文件中添加下面的配置

{"registry-mirrors": ["https://hub-mirror.c.163.com", "https://mirror.baidubce.com"]
}

重啟docker服務

sudo systemctl restart docker

在這里插入圖片描述
完畢!

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

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

相關文章

Angular 項目 PDF 批注插件庫在線版 API 示例教程

本文章介紹 Angular 項目中 PDF 批注插件庫 ElasticPDF 在線版 API 示例教程&#xff0c;API 包含 ① 導出批注后PDF數據&#xff1b;② 導出純批注 json 數據&#xff1b;③ 加載舊批注&#xff1b;④ 切換文檔&#xff1b;⑤ 切換用戶&#xff1b;⑥ 清空批注 等數據處理功能…

Spring Boot 中利用 Jasypt 實現數據庫字段的透明加密解密

1. 引言 1.1 什么是 Jasypt Jasypt(Java Simplified Encryption)是一個用于簡化 Java 應用程序中加密操作的庫。 1.2 為什么使用 Jasypt 簡化加密操作:提供簡單的 API 進行加密和解密。透明加密:自動處理加密和解密過程,無需手動干預。多種加密算法:支持多種加密算法,…

Linux的: /proc/sys/net/ipv6/conf/ 筆記250405

Linux的: /proc/sys/net/ipv6/conf/ /proc/sys/net/ipv6/conf/ 是 Linux 系統中用于 動態配置 IPv6 網絡接口參數 的核心目錄。它允許針對不同網絡接口&#xff08;如 eth0、wlan0&#xff09;或全局設置&#xff08;all&#xff09;調整 IPv6 協議棧的行為。 它通過虛擬文件系…

Spring Cloud 框架為什么能處理高并發

Spring Cloud框架能夠有效處理高并發場景&#xff0c;核心在于其微服務架構設計及多組件的協同作用&#xff0c;具體機制如下&#xff1a; 一、分布式架構設計支撐高擴展性 服務拆分與集群部署 Spring Cloud通過微服務拆分將單體系統解耦為獨立子服務&#xff0c;每個服務可獨…

無人機智慧路燈桿:智慧城市的‘全能助手’

在城市發展的進程中&#xff0c;智慧路燈桿作為智慧城市建設的關鍵載體&#xff0c;正逐步從傳統的照明設備轉型為集多種功能于一體的智能基礎設施。無人機與智慧路燈桿的創新性融合&#xff0c;為城市管理和服務帶來了全新的變革與機遇。 一、無人機智慧路燈桿的功能概述 照…

Libevent UDP開發指南

UDP 與 TCP 的核心區別 無連接:不需要建立/維護連接 不可靠:不保證數據包順序和到達 高效:頭部開銷小,沒有連接管理負擔 支持廣播/多播:可以向多個目標同時發送數據 一、基礎UDP服務器實現 1. 創建 UDP 套接字 #include <event2/event.h> #include <event2/lis…

基于阿里云可觀測產品構建企業級告警體系的通用路徑與最佳實踐

前言 1.1 日常生活中的告警 任何連續穩定運行的生產系統都離不開有效的監控與報警機制。通過監控&#xff0c;我們可以實時掌握系統和業務的運行狀態&#xff1b;而報警則幫助我們及時發現并響應監控指標及業務中的異常情況。 在日常生活中&#xff0c;我們也經常遇到各種各樣…

智能多媒體處理流水線——基于虎躍辦公API的自動化解決方案

在內容爆炸的時代&#xff0c;多媒體文件處理&#xff08;圖片壓縮、視頻轉碼、音頻降噪&#xff09;已成為內容生產者的日常挑戰。本文將演示如何基于虎躍辦公的多媒體處理API&#xff0c;構建自動化處理流水線&#xff0c;實現&#xff1a; 批量文件智能分類格式自動轉換質量…

01-STM32(介紹、工具準備、新建工程)p1-4

文章目錄 工具準備和介紹硬件設備stm32簡介和arm簡介stm32簡介STM32命名規則STM32選型STM32F103C8T6最小系統板引腳定義STM32啟動配置STM32最小系統電路ARM簡介 軟件安裝注冊器件支持包安裝ST-LINK驅動安裝USB轉串口驅動 新建工程創建stm32工程STM32工程編譯和下載型號分類及縮…

【ABAP】REST/HTTP技術(一)

1、概念 1.1、SAP 如何提供 Http Service 如果要將 SAP 應用程序服務器 &#xff08;application server&#xff09;作為 http 服務提供者&#xff0c;需要定義一個類&#xff0c;這個類必須實現 IF_HTTP_EXTENSION 接口。IF_HTTP_EXTENSION 接口只有一個方法 HANDLE_REQUEST。…

[實戰] linux驅動框架與驅動開發實戰

linux驅動框架與驅動開發實戰 Linux驅動框架與驅動開發實戰一、Linux驅動框架概述1.1 Linux驅動的分類1.2 Linux驅動的基本框架 二、Linux驅動關鍵API詳解2.1 模塊相關API2.2 字符設備驅動API2.3 內存管理API2.4 中斷處理API2.5 PCI設備驅動API 三、Xilinx XDMA驅動開發詳解3.1…

1. hadoop 集群的常用命令

1.上傳文件 1)hadoop fs -put words.txt /path/to/input/ 2)hdfs dfs -put words.txt /path/wc/input/ 2.獲取hdfs中的文件 hadoop fs -get /path/wc/input/words.txt 3.合并下載多個文件 hadoop fs -getmerge /path/wc/input/words.txt /path/wc/input/words2.txt 4.查…

Keepalived+LVS+nginx高可用架構

注明&#xff1a;所有軟件已經下載好&#xff0c;防火墻和SELinux已經全部關閉 一.搭建NFS 1.服務端 1.創建文件 [rootnfs ~]# mkdir -p /nfs/data 2、修改權限 [rootnfs ~]# chmod orw /nfs/data 3、寫配置文件 [rootnfs ~]# cat /etc/exports /nfs/data 192.168.111.118(r…

深度學習處理文本(13)

我們使用基于GRU的編碼器和解碼器來在Keras中實現這一方法。選擇GRU而不是LSTM&#xff0c;會讓事情變得簡單一些&#xff0c;因為GRU只有一個狀態向量&#xff0c;而LSTM有多個狀態向量。首先是編碼器&#xff0c;如代碼清單11-28所示。 代碼清單11-28 基于GRU的編碼器 fro…

HashMap 底層原理詳解

1. 核心數據結構 JDK 1.7 及之前&#xff1a;數組 鏈表 JDK 1.8 及之后&#xff1a;數組 鏈表/紅黑樹&#xff08;鏈表長度 ≥8 時轉紅黑樹&#xff0c;≤6 時退化為鏈表&#xff09; // JDK 1.8 的 Node 定義&#xff08;鏈表節點&#xff09; static class Node<K,V&g…

使用MySQL時出現 Ignoring query to other database 錯誤

Ignoring query to other database 錯誤 當在遠程連接軟件中輸入MySQL命令出現該錯誤 導致錯誤原因是&#xff1a;登錄mysql時賬戶名沒有加上u 如果出現該錯誤&#xff0c;退出mysql&#xff0c;重新輸入正確格式進入即可&#xff01;

哈爾濱工業大學:大模型時代的具身智能

大家好&#xff0c;我是櫻木。 機器人在工業領域&#xff0c;已經逐漸成熟。具身容易&#xff0c;智能難。 機器人-》智能機器人&#xff0c;需要自主能力&#xff0c;加上通用能力。 智能機器人-》人類&#xff0c;這個階段就太有想象空間了。而最受關注的-類人機器人。 如何…

Javascript代碼壓縮混淆工具terser詳解

原始的JavaScript代碼在正式的服務器上,如果沒有進行壓縮,混淆,不僅加載速度比較慢,而且還存在安全和性能問題. 因此現在需要進行壓縮,混淆處理. 處理方案簡單描述一下: 1. 使用 terser 工具進行 安裝 terser工具: # npm 安裝 npm install terser --save-dev# 或使用 yarn 安…

Java String 常用方法詳解

目錄 一、獲取字符串信息(一)獲取字符串長度(二)獲取指定索引處的字符(三)獲取子字符串二、字符串比較(一)比較字符串內容(二)忽略大小寫比較三、字符串轉換(一)轉換為大寫(二)轉換為小寫四、字符串查找(一)查找子字符串的位置(二)從指定位置開始查找五、字符…

Linux驅動開發練習案例

1 開發目標 1.1 架構圖 操作系統&#xff1a;基于Linux5.10.10源碼和STM32MP157開發板&#xff0c;完成tf-a(FSBL)、u-boot(SSBL)、uImage、dtbs的裁剪&#xff1b; 驅動層&#xff1a;為每個外設配置DTS并且單獨封裝外設驅動模塊。其中電壓ADC測試&#xff0c;采用linux內核…