DeepSeek本機(jī)部署詳細(xì)步驟(基于Ollama和Docker管理)
前言
在人工智能技術(shù)日新月異的時(shí)代,大語(yǔ)言模型的應(yīng)用越來(lái)越廣泛,DeepSeek 作為其中的佼佼者,備受開發(fā)者和技術(shù)愛好者的關(guān)注。通過(guò)在本機(jī)部署 DeepSeek,能夠更靈活地利用其強(qiáng)大功能。而借助 ollama 和 docker 進(jìn)行 deepseek - r1 的配置,能為我們帶來(lái)更高效、便捷的部署體驗(yàn)。
一、ollama 與 docker 簡(jiǎn)介
(一)ollama
(Ollama)
ollama 是一個(gè)強(qiáng)大的工具,它為模型的管理和運(yùn)行提供了便利。它可以簡(jiǎn)化模型的下載、配置和啟動(dòng)過(guò)程,讓用戶能夠快速地將不同的模型集成到自己的工作流程中。例如,在處理多個(gè)不同類型的大語(yǔ)言模型時(shí),ollama 可以輕松管理這些模型之間的切換和調(diào)用,提高開發(fā)效率。
(二)docker
docker 則是容器化技術(shù)的代表,它能夠?qū)?yīng)用程序及其依賴項(xiàng)打包成一個(gè)獨(dú)立的容器。在 DeepSeek 部署中,使用 docker 可以確保 deepseek - r1 在不同環(huán)境中具有一致的運(yùn)行狀態(tài)。無(wú)論在開發(fā)環(huán)境、測(cè)試環(huán)境還是生產(chǎn)環(huán)境,只要安裝了 docker,就可以運(yùn)行相同的 deepseek - r1 容器,避免了因環(huán)境差異導(dǎo)致的兼容性問(wèn)題。
二、利用 ollama 和 docker 配置 deepseek-r1 的準(zhǔn)備工作
(一)硬件需求
同常規(guī)的 DeepSeek 部署類似,需要一臺(tái)性能不錯(cuò)的計(jì)算機(jī)。內(nèi)存建議 16GB 以上,這樣在運(yùn)行容器和模型時(shí),能夠保證系統(tǒng)的流暢性。同時(shí),配備 NVIDIA GPU 會(huì)顯著提升模型的推理速度,對(duì)于處理大規(guī)模文本任務(wù)非常關(guān)鍵。
(二)軟件安裝
- 安裝 docker:可以從 docker 官方網(wǎng)站獲取適合你操作系統(tǒng)的安裝包,按照官方指引進(jìn)行安裝。在安裝完成后,確保 docker 服務(wù)正常運(yùn)行,可通過(guò)簡(jiǎn)單的命令行測(cè)試來(lái)驗(yàn)證(sheel中輸入docker)。
- 安裝 ollama:根據(jù)你使用的操作系統(tǒng),選擇合適的安裝方式。例如,在 Linux 系統(tǒng)中,可以通過(guò)特定的腳本進(jìn)行安裝。安裝完成后,配置好 ollama 的運(yùn)行環(huán)境變量,確保其能夠被系統(tǒng)正確識(shí)別。
三、配置 deepseek-r1 的詳細(xì)步驟
可以看出DeepSeek-r1完全模型在各方面優(yōu)于OpenAI,在某些方面評(píng)估甚至強(qiáng)于OpenAI,參數(shù)量適合于本地部署辦公使用。
(一)使用 ollama 獲取 deepseek-r1 模型
通過(guò) ollama 的命令行工具,輸入特定的命令來(lái)搜索和下載 deepseek - r1 模型。ollama 會(huì)自動(dòng)從官方或指定的源獲取模型文件,并將其存儲(chǔ)在本地的模型庫(kù)中。
(二)利用 docker 創(chuàng)建 deepseek-r1 容器
- 基于下載好的 deepseek - r1 模型,使用 docker 命令創(chuàng)建一個(gè)新的容器。在創(chuàng)建容器時(shí),需要指定容器的名稱、掛載的目錄(以便與本地文件系統(tǒng)進(jìn)行交互)以及容器運(yùn)行所需的環(huán)境變量。
查看模型列表
可以訪問(wèn) ollama 官方的模型倉(cāng)庫(kù)library查看支持的模型列表,點(diǎn)擊瀏覽某個(gè)模型,可看到詳細(xì)說(shuō)明,如模型參數(shù)、大小、運(yùn)行命令等信息。
下載模型命令
使用ollama pull
命令進(jìn)行下載。例如,若要下載圖片中的deepseek - r1
7b 模型,在命令行中輸入
ollama pull deepseek-r1:7b
(若不指定具體版本如 7b 等,默認(rèn)下載最新版本)。首次使用該命令運(yùn)行模型時(shí),ollama 也會(huì)自動(dòng)從網(wǎng)上下載模型。
注意事項(xiàng)
- 下載速度可能受網(wǎng)絡(luò)狀況影響,如果網(wǎng)絡(luò)不穩(wěn)定,下載模型可能需要較長(zhǎng)等待時(shí)間。
2. 部分模型對(duì)硬件資源有一定要求,如運(yùn)行較大的模型(像 llama3 - 70b)可能會(huì)較慢,甚至出現(xiàn)硬件資源不足無(wú)法正常運(yùn)行的情況,下載前可了解模型對(duì)硬件的需求。(主要是系統(tǒng)內(nèi)存的要求)
配置容器的網(wǎng)絡(luò)設(shè)置,確保容器能夠與外部進(jìn)行通信??梢愿鶕?jù)實(shí)際需求,設(shè)置容器的端口映射,使本地應(yīng)用能夠訪問(wèn)到容器內(nèi)運(yùn)行的 deepseek - r1 服務(wù)。
(三)啟動(dòng)和測(cè)試 deepseek-r1 服務(wù)
- (docker搭建請(qǐng)參照另一篇文章)完成容器創(chuàng)建后,使用 docker 命令啟動(dòng) deepseek - r1 容器。容器啟動(dòng)后,ollama 會(huì)自動(dòng)加載 deepseek - r1 模型,并啟動(dòng)相關(guān)的服務(wù)進(jìn)程。
- 通過(guò)編寫簡(jiǎn)單的測(cè)試腳本,向運(yùn)行在容器內(nèi)的 deepseek - r1 服務(wù)發(fā)送請(qǐng)求,驗(yàn)證模型是否正常工作。例如,可以發(fā)送一段文本,請(qǐng)求模型生成回答,檢查返回的結(jié)果是否符合預(yù)期。
(四)WebUi的配置
搭建部署Open WebUI有兩種方式
- Docker方式(官網(wǎng)推薦)
- 源代碼部署安裝方式:(文檔?? Getting Started | Open WebUI)
Open WenUI 官網(wǎng):GitHub - open-webui/open-webui: User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v D:devopen-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
此命令啟動(dòng)一個(gè)docker容器
docker run
:這是 Docker 用于運(yùn)行容器的基本命令,它會(huì)根據(jù)指定的鏡像創(chuàng)建并啟動(dòng)一個(gè)新的容器實(shí)例。-d
:表示以守護(hù)進(jìn)程(detached)模式運(yùn)行容器,即容器會(huì)在后臺(tái)運(yùn)行,不會(huì)占用當(dāng)前命令行終端的輸入輸出流,方便執(zhí)行其他命令。-p 3000:8080
:端口映射參數(shù),將容器內(nèi)部的 8080 端口映射到主機(jī)的 3000 端口。這樣,通過(guò)訪問(wèn)主機(jī)的 3000 端口,就可以訪問(wèn)到容器內(nèi)運(yùn)行在 8080 端口上的open-webui
應(yīng)用。--add-host=host.docker.internal:host-gateway
:此參數(shù)用于向容器內(nèi)的/etc/hosts
文件中添加一條主機(jī)映射記錄,將host.docker.internal
映射到host-gateway
。這在容器需要與主機(jī)進(jìn)行通信時(shí)非常有用,特別是在一些特殊網(wǎng)絡(luò)環(huán)境下,使得容器能夠通過(guò)host.docker.internal
這個(gè)域名訪問(wèn)到主機(jī)。-v D:devopen-webui:/app/backend/data
:這是卷掛載(volume mount)參數(shù),將主機(jī)上的D:devopen-webui
目錄掛載到容器內(nèi)的/app/backend/data
目錄。這意味著主機(jī)和容器可以共享這個(gè)目錄下的文件,主機(jī)目錄中的任何更改都會(huì)實(shí)時(shí)反映到容器內(nèi),反之亦然。常用于數(shù)據(jù)持久化或在容器和主機(jī)之間傳遞數(shù)據(jù)。--name open-webui
:為運(yùn)行的容器指定一個(gè)名稱為open-webui
,方便后續(xù)對(duì)容器進(jìn)行管理和操作,例如使用docker stop open-webui
停止容器,或docker start open-webui
啟動(dòng)容器。--restart always
:表示無(wú)論容器因?yàn)楹畏N原因停止,Docker 都會(huì)自動(dòng)嘗試重新啟動(dòng)它,確保容器始終處于運(yùn)行狀態(tài)。ghcr.io/open-webui/open-webui:main
:這是容器所使用的鏡像名稱和標(biāo)簽,指定從 GitHub Container Registry(ghcr.io
)上拉取open-webui/open-webui
鏡像的main
版本。如果本地沒有該鏡像,Docker 會(huì)自動(dòng)從指定的鏡像倉(cāng)庫(kù)下載。
啟動(dòng)ollama容器
1.使用該命令啟動(dòng)CPU版運(yùn)行本地AI模型
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
2.此命令用于啟動(dòng)GPU版本運(yùn)行AI模型
前提是筆記本已配置NVIDIA的GPU驅(qū)動(dòng),可在shell中輸入nvidia-smi查看詳細(xì)情況
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
然后就可以訪問(wèn)docker中給出的open webui的地址啟動(dòng)web界面,選擇好模型就可以進(jìn)行問(wèn)答對(duì)話了,恭喜你擁有了自己的AI小助手!
四、這種配置方式的優(yōu)勢(shì)
(一)快速部署
ollama 和 docker 的結(jié)合,大大縮短了 deepseek - r1 的部署時(shí)間。通過(guò)簡(jiǎn)單的命令行操作,即可完成模型的獲取和容器的創(chuàng)建,相比傳統(tǒng)的手動(dòng)配置方式,效率得到了極大提升。
(二)環(huán)境隔離
docker 的容器化技術(shù)實(shí)現(xiàn)了環(huán)境的隔離,使得 deepseek - r1 在獨(dú)立的環(huán)境中運(yùn)行,不會(huì)受到本地系統(tǒng)其他軟件的干擾。同時(shí),也方便對(duì)模型進(jìn)行版本管理和維護(hù),當(dāng)需要更新或切換模型版本時(shí),只需要重新創(chuàng)建或更新容器即可。
(三)易于擴(kuò)展
在后續(xù)的應(yīng)用中,如果需要增加模型的計(jì)算資源,或者部署多個(gè) deepseek - r1 實(shí)例,可以輕松地通過(guò) docker 的集群管理功能進(jìn)行擴(kuò)展。ollama 也能夠方便地管理多個(gè)模型之間的協(xié)同工作,滿足不同業(yè)務(wù)場(chǎng)景的需求。
五、可能遇到的問(wèn)題及解決方法
(一)網(wǎng)絡(luò)問(wèn)題
在下載模型或容器通信過(guò)程中,可能會(huì)遇到網(wǎng)絡(luò)不穩(wěn)定的情況。解決方法是檢查網(wǎng)絡(luò)連接,嘗試更換網(wǎng)絡(luò)環(huán)境或使用代理服務(wù)器。同時(shí),ollama 和 docker 都提供了相關(guān)的網(wǎng)絡(luò)配置選項(xiàng),可以根據(jù)實(shí)際情況進(jìn)行調(diào)整。
(二)資源沖突
當(dāng)本地系統(tǒng)中已經(jīng)運(yùn)行了其他占用端口或資源的服務(wù)時(shí),可能會(huì)與 deepseek - r1 容器產(chǎn)生沖突。可以通過(guò)修改容器的端口映射或調(diào)整本地服務(wù)的配置,來(lái)避免資源沖突。
利用 ollama 和 docker 配置 deepseek - r1 實(shí)現(xiàn) DeepSeek 本機(jī)部署,為我們提供了一種高效、便捷且穩(wěn)定的部署方式。隨著人工智能技術(shù)的不斷發(fā)展,這種基于容器化和模型管理工具的部署方法,將在更多的應(yīng)用場(chǎng)景中發(fā)揮重要作用,推動(dòng)大語(yǔ)言模型技術(shù)在本地開發(fā)和應(yīng)用中的普及。
總結(jié)
到此這篇關(guān)于DeepSeek本機(jī)部署詳細(xì)步驟的文章就介紹到這了,更多相關(guān)DeepSeek本機(jī)部署(Ollama和Docker)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
AIGC與虛擬現(xiàn)實(shí)(VR)的結(jié)合與應(yīng)用前景分析
隨著AIGC與VR技術(shù)的不斷進(jìn)步,兩者的結(jié)合為教育、娛樂(lè)、醫(yī)療等領(lǐng)域帶來(lái)了新機(jī)遇,AIGC可以自動(dòng)生成文本、圖像等內(nèi)容,結(jié)合VR技術(shù),為用戶提供更加豐富和互動(dòng)的體驗(yàn),本文探討了AIGC與VR的結(jié)合方式、應(yīng)用案例和未來(lái)發(fā)展趨勢(shì)2024-11-11Windows10使用Anaconda安裝Tensorflow-gpu的教程詳解
Anaconda是一個(gè)方便的python包管理和環(huán)境管理軟件,一般用來(lái)配置不同的項(xiàng)目環(huán)境。這篇文章主要介紹了Windows10使用Anaconda安裝Tensorflow-gpu的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02學(xué)編程選什么語(yǔ)言好?是PHP、Python還是Ruby?
這篇文章主要介紹了學(xué)編程選什么語(yǔ)言好?是PHP、Python還是Ruby?需要的朋友可以參考下2014-06-06解決MobaXterm連接不上虛擬機(jī):Network error: Connection
使用MobaXterm時(shí),若無(wú)法連接到虛擬機(jī),需檢查防火墻設(shè)置是否關(guān)閉,并確認(rèn)虛擬機(jī)地址是否與session地址一致,這些步驟可以有效解決連接問(wèn)題,希望這些經(jīng)驗(yàn)?zāi)軒椭酱蠹?/div> 2024-10-10flask+layui+echarts實(shí)現(xiàn)前端動(dòng)態(tài)圖展示數(shù)據(jù)效果
這篇文章主要介紹了flask+layui+echarts實(shí)現(xiàn)前端動(dòng)態(tài)圖展示數(shù)據(jù)效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09一文學(xué)會(huì)Hadoop與Spark等大數(shù)據(jù)框架知識(shí)
Hadoop是一個(gè)開源的可運(yùn)行于大規(guī)模集群上的分布式文件系統(tǒng)和運(yùn)行處理基礎(chǔ)框架,Spark是UC Berkeley?AMPLab開發(fā)的是一種計(jì)算框架,分布式資源工作交由集群管理軟件(Mesos、YARN),本文介紹Hadoop與Spark大數(shù)據(jù)框架知識(shí),感興趣的朋友一起看看吧2022-04-04最新評(píng)論