部署實(shí)戰(zhàn):Ollama、Open WebUI 與手機(jī)端全攻略)
簡(jiǎn)介DeepSeek作為開(kāi)源大模型如何在多種設(shè)備上高效部署是許多開(kāi)發(fā)者關(guān)注的問(wèn)題。這份文檔以圖文形式系統(tǒng)梳理了基于Ollama的本地部署、iOS與Android移動(dòng)端部署以及借助Open WebUI的云端界面配置流程適合希望將DeepSeek落地到桌面系統(tǒng)、手機(jī)或Web界面的技術(shù)開(kāi)發(fā)者、研究人員和AI愛(ài)好者。資源共1個(gè)文件為docx格式整體壓縮包大小僅15KB內(nèi)容精煉且步驟完整便于快速查閱與實(shí)操。已有4126人學(xué)習(xí)下載。文檔不僅給出Ollama安裝、模型拉取與交互命令還針對(duì)iPhone快捷指令配置API Key、Android端通過(guò)Termux編譯運(yùn)行Ollama等典型場(chǎng)景提供了可復(fù)現(xiàn)的詳細(xì)指引并對(duì)Open WebUI與Docker Desktop的配合使用給出了明確說(shuō)明可顯著降低初次接觸者的配置門(mén)檻提升跨平臺(tái)部署的成功率。1. 先把部署路線理清三套方案分別適合誰(shuí)DeepSeek 的部署很多人第一步就卡在“不知道到底裝哪個(gè)”。照網(wǎng)上教程裝完 Ollama模型沒(méi)下下來(lái)想在手機(jī)上跑又搞不清快捷指令和 Termux 哪個(gè)靠譜。我最近把三套方案完整走了一遍Ollama 本地終端、iPhone/Android 手機(jī)端、Docker 里的 Open WebUI 網(wǎng)頁(yè)服務(wù)。這套資源把三條路的手工步驟、啟動(dòng)參數(shù)和失敗日志都整理在一份指南里新手能照著命令敲熟手能直接翻第五章的高頻報(bào)錯(cuò)。適合想在本地跑大模型、做實(shí)驗(yàn)或自建 AI 工具鏈的開(kāi)發(fā)者、研究人員和 AI 愛(ài)好者。2. 基于 Ollama 的本地部署從拉模型到跑通第一段對(duì)話(huà)2.1 為什么選 Ollama模型格式、量化與選型Ollama 是我見(jiàn)過(guò)的把大模型“Docker 化”做得最順手的工具。它把模型文件、運(yùn)行參數(shù)和 API 服務(wù)封裝成一條命令本地起一個(gè)常駐進(jìn)程之后所有模型統(tǒng)一走h(yuǎn)ttp://localhost:11434這個(gè)入口。對(duì)深度學(xué)習(xí)模型部署來(lái)說(shuō)這意味著你不用關(guān)心模型原始權(quán)重放哪、依賴(lài)怎么裝只要拉鏡像一樣把模型 tag 拉下來(lái)就行。DeepSeek 這個(gè)系列給 Ollama 提供了多個(gè)尺寸的量化版本常見(jiàn) tag 有deepseek-r1:1.5b、deepseek-r1:7b、deepseek-r1:8b、deepseek-r1:14b、deepseek-r1:32b。這里的 b 是參數(shù)量級(jí)7b 代表 70 億參數(shù)。真正影響你能不能跑起來(lái)的是量化精度Ollama 默認(rèn)拉取的版本一般已經(jīng)做了 4-bit 量化模型文件體積大幅縮小推理時(shí)的顯存和內(nèi)存占用也隨之下降。模型 Tag量化后體積約內(nèi)存建議適用場(chǎng)景deepseek-r1:1.5b1.1 GB4 GB低配機(jī)器驗(yàn)證鏈路deepseek-r1:7b4.7 GB16 GB日常對(duì)話(huà)、代碼生成deepseek-r1:14b9.0 GB32 GB更高推理質(zhì)量我一般會(huì)在只有 CPU 的機(jī)器上先用 1.5b 把整條鏈路跑通確認(rèn)網(wǎng)絡(luò)和配置沒(méi)問(wèn)題再換 7b。一上來(lái)直接拉 7b萬(wàn)一網(wǎng)絡(luò)抖動(dòng)或磁盤(pán)不足排錯(cuò)成本會(huì)高很多。2.2 安裝 Ollama三個(gè)系統(tǒng)分別怎么裝安裝就一條命令但不同系統(tǒng)細(xì)節(jié)不一樣。macOS 和 Linux 都可以用安裝腳本W(wǎng)indows 則走圖形化安裝包。安裝完成后建議先確認(rèn)版本號(hào)避免后續(xù)命令報(bào)錯(cuò)時(shí)分不清是環(huán)境問(wèn)題還是命令問(wèn)題。# macOS / Linux 一體安裝腳本 curl -fsSL https://ollama.com/install.sh | sh # Windows下載 OllamaSetup.exe雙擊下一步完成安裝 # 安裝完成后驗(yàn)證版本 ollama --version第一行命令會(huì)下載一個(gè)安裝腳本并交給 shell 執(zhí)行-fsSL里的f表示失敗時(shí)不輸出多余錯(cuò)誤S表示顯示進(jìn)度L表示跟隨重定向。Windows 安裝包裝完后Ollama 會(huì)注冊(cè)成后臺(tái)服務(wù)終端里直接能用ollama命令。如果 macOS 上提示“無(wú)法打開(kāi)”去系統(tǒng)設(shè)置-隱私與安全性里點(diǎn)“仍要打開(kāi)”即可這是系統(tǒng)對(duì)未簽名腳本的常規(guī)攔截不是安裝包問(wèn)題。2.3 拉取并運(yùn)行 DeepSeek 模型核心命令逐一拆解安裝完就能拉模型了。我建議第一次運(yùn)行直接用ollama run它會(huì)自動(dòng)完成拉取、加載和進(jìn)入對(duì)話(huà)三步。模型文件會(huì)存到本地的~/.ollama/models目錄Linux 和 macOS 都是這個(gè)路徑Windows 則在用戶(hù)目錄下的.ollama文件夾里。# 首次運(yùn)行會(huì)自動(dòng)拉取模型等待時(shí)間取決于網(wǎng)絡(luò) ollama run deepseek-r1:7b # 進(jìn)入交互模式后直接輸入問(wèn)題即可 # 退出交互模式用 /bye # 查看本機(jī)已有模型 ollama list # 只下載不進(jìn)入對(duì)話(huà) ollama pull deepseek-r1:7b # 刪除模型 ollama rm deepseek-r1:7bollama run做了三件事檢查本地有沒(méi)有這個(gè) tag沒(méi)有就拉取加載模型到內(nèi)存啟動(dòng)一個(gè)交互式 REPL。/bye退出后模型并不會(huì)立即卸載會(huì)常駐內(nèi)存等待下一次請(qǐng)求。如果機(jī)器內(nèi)存緊張把OLLAMA_KEEP_ALIVE環(huán)境變量設(shè)短一些比如OLLAMA_KEEP_ALIVE5m模型空閑 5 分鐘后自動(dòng)釋放。服務(wù)起來(lái)之后Ollama 默認(rèn)監(jiān)聽(tīng) 11434 端口這個(gè)端口也是后面手機(jī)端和 Open WebUI 對(duì)接的入口??梢杂?curl 直接測(cè)一下curl http://localhost:11434/api/generate -d { model: deepseek-r1:7b, prompt: 用一句話(huà)介紹你自己, stream: false }這里的stream: false表示等完整回答生成后再一次性返回調(diào)試階段建議關(guān)閉流式輸出方便看 JSON 結(jié)構(gòu)。model字段必須和ollama list里的 tag 完全一致大小寫(xiě)、冒號(hào)都不能錯(cuò)否則會(huì)返回model not found。能拿到 JSON 響應(yīng)說(shuō)明本地模型服務(wù)已經(jīng)可以對(duì)外提供服務(wù)了這一步是后面所有跨平臺(tái)接入的基礎(chǔ)。3. 手機(jī)端部署iPhone 快捷指令與 Android Termux 兩套路線3.1 先想清楚手機(jī)端是調(diào)遠(yuǎn)程 API 還是本地編譯手機(jī)端部署其實(shí)有兩條完全不同性質(zhì)的路。iPhone 那條快捷指令方案本質(zhì)是調(diào)遠(yuǎn)程 API手機(jī)本身不做推理只是一個(gè)帶輸入框的轉(zhuǎn)發(fā)殼。Android 那條 Termux 方案才是真的在手機(jī) CPU 上跑本地模型。選哪條取決于你要不要離線可用以及能不能接受發(fā)熱和速度。我的判斷是iPhone 用戶(hù)日常使用優(yōu)先走快捷指令加 API Key 的組合省電、響應(yīng)快但每次請(qǐng)求都要聯(lián)網(wǎng)而且 API Key 如果泄露別人可以盜刷你的額度。Android 上有折騰精神、想體驗(yàn)純離線推理的才值得在 Termux 里從源碼編譯 Ollama。8B 模型在旗艦手機(jī)上生成速度大約每秒幾個(gè) token當(dāng)玩具可以當(dāng)生產(chǎn)力工具會(huì)把人急死。3.2 iPhone快捷指令加 API Key 配置iPhone 這條方案核心是把“發(fā)請(qǐng)求、拿結(jié)果、展示”封裝成一個(gè)快捷指令。安裝方式是從分享鏈接導(dǎo)入iOS 系統(tǒng)默認(rèn)會(huì)攔截未受信任的快捷指令需要先到“設(shè)置-快捷指令”里打開(kāi)“允許不受信任的快捷指令”。首次運(yùn)行時(shí)系統(tǒng)彈窗問(wèn)“允許訪問(wèn)”這里必須選允許否則后續(xù)每次執(zhí)行都會(huì)卡在授權(quán)彈窗。操作步驟按順序來(lái)用 Safari 打開(kāi)資源包里的快捷指令 iCloud 鏈接點(diǎn)擊“獲取快捷指令”完成導(dǎo)入。到提供 API Key 的服務(wù)商頁(yè)面創(chuàng)建一個(gè) Key建議創(chuàng)建時(shí)就把權(quán)限限制為“僅可調(diào)用對(duì)話(huà)接口”不要給管理員權(quán)限。在快捷指令編輯頁(yè)里找到“文本”參數(shù)把 Key 粘貼進(jìn)去替換掉原來(lái)的示例內(nèi)容。回到桌面運(yùn)行這條快捷指令輸入“你好”能收到回復(fù)就算通了。配置里最容易翻車(chē)的是復(fù)制 Key 時(shí)帶上了換行符或空格。我習(xí)慣先粘到備忘錄里確認(rèn)首尾沒(méi)有多余字符再?gòu)?fù)制進(jìn)快捷指令。另一點(diǎn)是不同服務(wù)商的 API 地址可能不一樣如果快捷指令里的請(qǐng)求地址還是默認(rèn)值需要手動(dòng)改成你實(shí)際購(gòu)買(mǎi)的接口地址這一步在指令的“URL”參數(shù)里能看到。3.3 AndroidTermux 環(huán)境搭建與 Ollama 編譯Android 的部署比 iPhone 重很多核心是在 Termux 這個(gè)終端模擬器里手動(dòng)編譯 Ollama。Termux 相當(dāng)于 Android 上的 Linux 環(huán)境有包管理器能裝 git、golang、cmake 這些工具鏈。原版指南里git clone depth 1是個(gè)筆誤正確寫(xiě)法是--depth 1意思是只克隆最近一次提交能省掉大量 Git 歷史數(shù)據(jù)對(duì)手機(jī)流量很友好。# 設(shè)置存儲(chǔ)權(quán)限允許 Termux 訪問(wèn)手機(jī)文件 termux-setup-storage # 更新軟件包索引并升級(jí)已有包首次運(yùn)行必須做 pkg update pkg upgrade -y # 安裝編譯 Ollama 需要的依賴(lài) pkg install git cmake golang libjpeg-turbolibjpeg-turbo是處理圖片數(shù)據(jù)的依賴(lài)不裝的話(huà)后面編譯可能報(bào)找不到頭文件的錯(cuò)。golang是 Ollama 的主語(yǔ)言版本太老會(huì)導(dǎo)致編譯失敗裝完可以用go version確認(rèn)。如果 Termux 官方源里的 Go 版本不夠新需要從源碼安裝新版這一步我建議直接看go.dev的安裝指引不要指望pkg install能給你最新版。依賴(lài)裝完后開(kāi)始克隆倉(cāng)庫(kù)和編譯# 克隆 Ollama 源碼--depth 1 只拉最新提交 git clone --depth 1 https://github.com/ollama/ollama.git cd ollama # 生成必要的代碼文件會(huì)跑一會(huì)兒 go generate ./... # 編譯主程序輸出文件在當(dāng)前目錄 go build .go generate ./...會(huì)掃描代碼里的生成指令把內(nèi)嵌的資源文件生成到對(duì)應(yīng)目錄。go build .默認(rèn)編譯當(dāng)前包產(chǎn)物是一個(gè)名為ollama的可執(zhí)行文件。編譯過(guò)程比較吃?xún)?nèi)存如果 Termux 報(bào)signal: killed多半是內(nèi)存不足被系統(tǒng)殺了可以先關(guān)掉其他 App 再重試。編譯完成后啟動(dòng)服務(wù)# 后臺(tái)啟動(dòng) Ollama 服務(wù) ./ollama serve # 驗(yàn)證服務(wù)是否存活返回 Ollama is running 即成功 curl http://localhost:11434 # 拉取并運(yùn)行 DeepSeek 模型 ./ollama pull deepseek-r1:8b ./ollama run deepseek-r1:8bserve默認(rèn)只監(jiān)聽(tīng)localhost意味著只有手機(jī)自己可以訪問(wèn)。如果你希望用電腦或另一臺(tái)手機(jī)通過(guò)局域網(wǎng)訪問(wèn)這臺(tái)手機(jī)上的模型需要改成./ollama serve --host 0.0.0.0:11434。注意符號(hào)把進(jìn)程放到后臺(tái)Termux 一旦被系統(tǒng)回收后臺(tái)進(jìn)程也會(huì)被殺死想長(zhǎng)期掛著還得配合termux-wake-lock保持屏幕常駐。4. 基于 Open WebUI 的 Web 部署用 Docker 把界面和模型串起來(lái)4.1 Open WebUI 是什么為什么必須用 DockerOllama 本身只有命令行和 API沒(méi)有現(xiàn)代聊天界面。Open WebUI 是跑在瀏覽器里的對(duì)話(huà)前端支持多用戶(hù)登錄、會(huì)話(huà)歷史、模型參數(shù)調(diào)節(jié)還能直接對(duì)接本地 Ollama 服務(wù)。這一層是很多人部署 DeepSeek 時(shí)的剛需畢竟不是每個(gè)人都能習(xí)慣黑乎乎的終端。用 Docker 而不是直接用 Python 裝 Open WebUI是因?yàn)樗蕾?lài)非常多Python 版本、Node 構(gòu)建、數(shù)據(jù)庫(kù)遷移一個(gè)不對(duì)就起不來(lái)。Docker 容器把運(yùn)行時(shí)、代碼、配置全部打成一個(gè)鏡像宿主機(jī)只要裝一個(gè) Docker Desktop其他全是容器內(nèi)部的事情。升級(jí)也方便刪掉舊容器、拉新鏡像、重新跑一遍同樣的命令就行。4.2 Docker Desktop 安裝與基礎(chǔ)檢查Docker Desktop 在 macOS 和 Windows 上都是圖形化安裝包Linux 則是通過(guò) apt 安裝 docker-ce 套件。裝完后先確認(rèn)守護(hù)進(jìn)程起來(lái)了# 確認(rèn) Docker 客戶(hù)端和服務(wù)端都正常 docker --version docker psdocker ps如果報(bào)錯(cuò) “Cannot connect to the Docker daemon”說(shuō)明 Docker Desktop 沒(méi)有啟動(dòng)去應(yīng)用列表里點(diǎn)開(kāi)等它完成初始化。另外確認(rèn)一下docker compose是否可用后面如果要按 YAML 方式編排 Open WebUI 會(huì)用到。Docker Desktop 的資源設(shè)置里建議把內(nèi)存調(diào)到 4 GB 以上否則 Open WebUI 和 Ollama 同時(shí)跑可能互相擠內(nèi)存。4.3 部署 Open WebUI一條命令起一個(gè)服務(wù)Open WebUI 官方發(fā)布的容器鏡像可以直接從 GitHub Container Registry 拉取。部署命令需要把宿主機(jī)的 3000 端口映射到容器的 8080 端口同時(shí)掛載一個(gè)數(shù)據(jù)卷保存用戶(hù)賬號(hào)和會(huì)話(huà)記錄。最關(guān)鍵的是告訴容器 Ollama 服務(wù)在哪也就是OLLAMA_BASE_URL這個(gè)環(huán)境變量。docker run -d \ --name open-webui \ -p 3000:8080 \ -v open-webui:/app/backend/data \ -e OLLAMA_BASE_URLhttp://host.docker.internal:11434 \ ghcr.io/open-webui/open-webui:main-d表示后臺(tái)運(yùn)行。-v open-webui:/app/backend/data創(chuàng)建了一個(gè)命名卷容器刪了數(shù)據(jù)還在。host.docker.internal是 Docker 提供的一個(gè)特殊域名在容器內(nèi)部解析到宿主機(jī) IPWindows 和 macOS 默認(rèn)支持。Linux 環(huán)境下 Docker Desktop 沒(méi)有這個(gè)域名需要在命令末尾加一段--add-hosthost.docker.internal:host-gateway否則容器找不到 Ollama。瀏覽器打開(kāi)http://localhost:3000第一次訪問(wèn)會(huì)要求創(chuàng)建管理員賬號(hào)這是 Open WebUI 自己的用戶(hù)體系和 Ollama 無(wú)關(guān)。登錄后進(jìn)左下角設(shè)置找到“模型管理”在輸入框里填deepseek-r1:7b點(diǎn)下載。下載完成后回到對(duì)話(huà)頁(yè)頂部模型下拉菜單里選 DeepSeek 就能開(kāi)始聊天。如果你想把 Ollama 和 Open WebUI 分到兩臺(tái)機(jī)器OLLAMA_BASE_URL改成 Ollama 所在機(jī)器的局域網(wǎng) IP比如http://192.168.1.100:11434前提是 Ollama 啟動(dòng)時(shí)加了--host 0.0.0.0。這個(gè)變量支持 HTTP 地址不推薦直接暴露到公網(wǎng)因?yàn)?Open WebUI 本身沒(méi)有內(nèi)置限流和鑒權(quán)公網(wǎng)裸奔很容易被掃到然后被別人白嫖算力。5. 避坑與排查四類(lèi)高頻報(bào)錯(cuò)的處理記錄5.1 模型拉取卡住Pulling 進(jìn)度不走現(xiàn)象執(zhí)行ollama run deepseek-r1:7b后終端停在 “Pulling manifest” 或進(jìn)度條長(zhǎng)時(shí)間不動(dòng)有時(shí)直接顯示 0%。原因Ollama 拉模型走的是官方模型倉(cāng)庫(kù)這個(gè)倉(cāng)庫(kù)在部分網(wǎng)絡(luò)環(huán)境下訪問(wèn)很慢或直接超時(shí)。另一個(gè)可能原因是本地磁盤(pán)空間不足模型文件下到一半寫(xiě)不進(jìn)去但 Ollama 不會(huì)明確提示。解決先確認(rèn)磁盤(pán)執(zhí)行df -h ~/.ollama看看剩余空間夠不夠模型體積的 1.2 倍??臻g沒(méi)問(wèn)題的話(huà)拉取時(shí)加--verbose看詳細(xì)日志能直接看到是連接超時(shí)還是下載中斷。最簡(jiǎn)單粗暴的辦法是ollama rm刪掉半截模型換個(gè)時(shí)間重新拉斷點(diǎn)續(xù)傳在 Ollama 里表現(xiàn)不穩(wěn)定與其等一個(gè)不確定的狀態(tài)不如重來(lái)。5.2 Termux 編譯 Ollama 時(shí) go build 報(bào)錯(cuò)現(xiàn)象go build .中途退出報(bào)錯(cuò)信息包含undefined: unix.Stat_t或者整個(gè)進(jìn)程直接被系統(tǒng)殺死。原因第一種是 Go 版本太老Ollama 依賴(lài)新版 Go 的系統(tǒng)調(diào)用接口Termux 默認(rèn)源里的 Go 版本往往滯后。第二種是內(nèi)存不足手機(jī)編譯大型 Go 項(xiàng)目時(shí)峰值占用可能超過(guò)系統(tǒng)限制進(jìn)程被殺沒(méi)有任何錯(cuò)誤日志。解決先執(zhí)行g(shù)o version如果低于 1.22去 Go 官網(wǎng)下載新版 tarball 手動(dòng)安裝。內(nèi)存問(wèn)題優(yōu)先關(guān)后臺(tái)應(yīng)用釋放內(nèi)存再執(zhí)行g(shù)o build -p 2 .限制并行編譯數(shù)為 2降低峰值占用。如果還不行把GOMAXPROCS也設(shè)成 2。別指望一次性成功我在手機(jī)上編譯至少試了三次才過(guò)前兩次都是內(nèi)存被殺。5.3 容器里的 Open WebUI 連不上 Ollama現(xiàn)象Open WebUI 頁(yè)面打開(kāi)后新建對(duì)話(huà)直接報(bào)錯(cuò)后臺(tái)日志顯示could not connect to ollama。原因容器里的localhost指的是容器自己不是宿主機(jī)。Open WebUI 容器內(nèi)部去訪問(wèn)localhost:11434自然找不到宿主機(jī)的 Ollama 服務(wù)。Linux 用戶(hù)用host.docker.internal還會(huì)報(bào)解析不了因?yàn)檫@個(gè)域名默認(rèn)只在 Docker Desktop 的 VM 里生效。解決容器啟動(dòng)命令里把OLLAMA_BASE_URL改成http://host.docker.internal:11434Linux 再加--add-hosthost.docker.internal:host-gateway。改完刪掉舊容器重新跑不要docker exec進(jìn)去改環(huán)境變量改了也不會(huì)生效。還有一個(gè)隱蔽坑Ollama 默認(rèn)只監(jiān)聽(tīng) 127.0.0.1如果 Ollama 跑在另一臺(tái)機(jī)器必須用--host 0.0.0.0啟動(dòng)否則即使網(wǎng)絡(luò)通服務(wù)本身拒絕外部連接。5.4 快捷指令首次運(yùn)行一直要授權(quán)現(xiàn)象iPhone 上運(yùn)行快捷指令彈窗提示“允許訪問(wèn) xxx”每次都點(diǎn)允許但下一次運(yùn)行還是會(huì)彈。原因iOS 對(duì)快捷指令訪問(wèn)網(wǎng)絡(luò)的授權(quán)機(jī)制就是這樣首次必須手動(dòng)允許。如果一直彈是因?yàn)橹噶罾镉卸鄠€(gè)網(wǎng)絡(luò)請(qǐng)求每個(gè)請(qǐng)求都要單獨(dú)授權(quán)一次。還有一種情況是 API Key 填錯(cuò)服務(wù)端返回 401快捷指令就判定為請(qǐng)求失敗看起來(lái)也像授權(quán)問(wèn)題。解決以最快路徑驗(yàn)證 Key 是否有效在電腦上用 curl 直接請(qǐng)求一次對(duì)話(huà)接口能返回內(nèi)容就說(shuō)明 Key 沒(méi)問(wèn)題。如果 Key 沒(méi)問(wèn)題建議刪掉快捷指令重新導(dǎo)入一次導(dǎo)入時(shí)不要改任何參數(shù)先跑通再改。改過(guò) URL 參數(shù)后快捷指令會(huì)被視為新指令需要重新授權(quán)這個(gè)現(xiàn)象很容易讓人誤判成系統(tǒng)故障。6. 進(jìn)階把 Ollama 接進(jìn)自己的 Python 腳本6.1 用 requests 調(diào)用本地 API 構(gòu)建簡(jiǎn)單工具部署和 Web UI 都跑通之后下一個(gè)自然需求是讓代碼調(diào)用模型。Ollama 的 API 是純 HTTP因此只要requests就能接入。我常用的是api/generate接口它會(huì)生成一個(gè)完整答案。把stream改成true則按流式返回適合做流式輸出的聊天應(yīng)用。import requests payload { model: deepseek-r1:7b, prompt: 用三句話(huà)解釋什么是跨平臺(tái)部署, stream: False, options: { temperature: 0.7, num_predict: 512 } } r requests.post(http://localhost:11434/api/generate, jsonpayload) data r.json() print(data[response])temperature控制隨機(jī)性值越低回答越穩(wěn)定代碼生成建議 0.2閑聊可以開(kāi)到 0.8。num_predict限制生成的最大 token 數(shù)不設(shè)的話(huà)模型可能一直寫(xiě)到上下文耗盡。如果 Ollama 跑在手機(jī)上或另一臺(tái)服務(wù)器把 URL 換成對(duì)應(yīng)的 IP 即可前提是服務(wù)啟動(dòng)時(shí)綁定了0.0.0.0。6.2 用 /api/chat 實(shí)現(xiàn)多輪對(duì)話(huà)api/generate每次請(qǐng)求只認(rèn)一段 prompt不適合做多輪對(duì)話(huà)。換成api/chat接口把歷史消息按列表傳進(jìn)去Ollama 會(huì)自己維護(hù)上下文。import requests messages [ {role: system, content: 你是一個(gè)熟悉 Docker 的運(yùn)維工程師}, {role: user, content: 容器里訪問(wèn)不到宿主機(jī)服務(wù)怎么辦} ] r requests.post(http://localhost:11434/api/chat, json{ model: deepseek-r1:7b, messages: messages, stream: False }) print(r.json()[message][content])system角色的消息用來(lái)設(shè)定身份和行為準(zhǔn)則不屬于用戶(hù)對(duì)話(huà)內(nèi)容。需要注意這條路不會(huì)自動(dòng)截?cái)鄽v史對(duì)話(huà)輪數(shù)多了上下文超過(guò)模型窗口后早期內(nèi)容會(huì)被截?cái)噙@時(shí)需要手動(dòng)刪掉messages列表前幾項(xiàng)。從那以后我每次換環(huán)境部署 Ollama都強(qiáng)制自己走一遍完整驗(yàn)證版本、模型列表、一次生成、一次對(duì)話(huà)四步全過(guò)才算部署完成。這套資源里的完整命令清單和報(bào)錯(cuò)速查表能幫你把這幾步壓縮到半個(gè)小時(shí)以?xún)?nèi)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取