)
簡介這是一份圍繞 DeepSeek 本地部署與私有知識庫搭建的實操教程適合具備一定技術(shù)基礎(chǔ)、希望在本地運行大模型的學(xué)習(xí)者或研發(fā)團隊。內(nèi)容以 Ollama 為核心詳細(xì)說明不同硬件配置下的模型選型、DeepSeek-R1 從 1.5b 到 70b 的安裝運行、命令行操作、環(huán)境變量修改與模型管理并補充 Cherry Studio 構(gòu)建私有知識庫的方法便于企業(yè)或團隊在內(nèi)網(wǎng)落地定制化問答系統(tǒng)。壓縮包內(nèi)為 1 個 docx 文檔整體約 2.8MB文檔結(jié)構(gòu)清晰、步驟完整。該資源已有 16452 人學(xué)習(xí)下載。除本地部署全流程外還提供官方下載地址、備用鏈接、視頻教程入口和在線演示環(huán)境信息并針對網(wǎng)絡(luò)風(fēng)險給出更換 API 的應(yīng)急方案幫助用戶規(guī)避安全故障。讀者可按照文檔逐級實踐從輕量 1.5B 版本起步再依據(jù)顯卡與內(nèi)存條件升級到更大規(guī)模模型最終完成本地化和私有知識庫的集成。1. 本地部署 DeepSeek先搞清你在解決什么問題把公司合同、個人筆記交給在線大模型時很多人心里都犯嘀咕這些數(shù)據(jù)是不是已經(jīng)被拿去訓(xùn)練了。本地部署 DeepSeek 就是把模型真正跑在自己電腦上Ollama 負(fù)責(zé)運行模型ChatBox 提供聊天界面Cherry Studio 把私人文檔變成可檢索的私有知識庫全套流程不依賴外網(wǎng)也不用把文件上傳到任何第三方服務(wù)器。這篇教程適合三類人一是對數(shù)據(jù)敏感的內(nèi)容從業(yè)者二是經(jīng)常在離線環(huán)境寫代碼的開發(fā)者三是不想按 Token 付費、想低成本體驗大模型的個人用戶。先說一個反直覺的結(jié)論本地跑的 deepseek-r1 蒸餾版7B/14B在知識廣度和復(fù)雜推理上確實不如在線滿血版但一旦接上私有知識庫讓它基于你自己的文檔回答問題垂直場景下的可用性反而比通用在線模型高。后面每一章都會落到可復(fù)現(xiàn)的命令和參數(shù)上。2. Ollama 部署 DeepSeek從下載慢到跑起來2.1 為什么選擇 Ollama 而不是裸跑 GGUFDeepSeek 開源模型的原始權(quán)重是 PyTorch 格式直接跑要配 Python 環(huán)境和推理框架非常折騰。Ollama 把這個過程封裝成了「一行命令」它內(nèi)部基于 llama.cpp 做推理自動判斷 GPU/CPU 負(fù)載把模型統(tǒng)一轉(zhuǎn)成 GGUF 格式來加載對外暴露一個 OpenAI 兼容的 HTTP API。常見做法是用 Ollama 作為本地運行時理由是它讓你把注意力放在應(yīng)用層而不是推理層。如果你要的是生產(chǎn)級高并發(fā)那通常會上 vLLM 或 SGLang它們吞吐更高但配置復(fù)雜度也上了一個量級。個人電腦和中小團隊的內(nèi)網(wǎng)環(huán)境里Ollama 是最省心的選擇這也是它成為「ollama 本地部署」這個搜索關(guān)鍵詞下默認(rèn)方案的原因。2.2 安裝 OllamaWindows 和 Linux 的兩種落地路徑安裝 Ollama 本身并不難難的是國內(nèi)網(wǎng)絡(luò)環(huán)境下兩個下載環(huán)節(jié)安裝包下載和模型文件下載。Windows 用戶直接從官網(wǎng)下載安裝包如果速度不理想可以從國內(nèi)軟件鏡像站下載離線安裝包或者讓內(nèi)網(wǎng)同事傳一份已下載好的安裝包分發(fā)。Linux 用戶通常用官方安裝腳本也可以下載 .deb 或 .rpm 離線包后用 dpkg 或 rpm 安裝效果一樣。安裝之前先規(guī)劃好模型存儲位置。Windows 上如果 C 盤空間緊張我一般會先建一個環(huán)境變量再安裝setx OLLAMA_MODELS D:\ollama\models設(shè)置完重新打開終端再執(zhí)行ollama serve或直接讓系統(tǒng)服務(wù)啟動。Linux 下修改存儲路徑要用 systemd 的方式sudo systemctl edit ollama在打開的編輯器中寫入[Service] EnvironmentOLLAMA_MODELS/data/ollama/models然后執(zhí)行systemctl daemon-reload systemctl restart ollama。這段操作的關(guān)鍵點是環(huán)境變量在 Ollama 啟動時讀取改完之后必須重啟 Ollama 服務(wù)才生效。Windows 用戶如果發(fā)現(xiàn)不生效十有八九是沒重啟終端或服務(wù)。模型文件本身是 GGUF 格式里面打包了量化后的權(quán)重和推理所需元數(shù)據(jù)這也是為什么OLLAMA_MODELS路徑下會看到一堆帶哈希值的目錄。2.3 拉取 DeepSeek 模型與確認(rèn)顯卡調(diào)用模型選擇要結(jié)合硬件deepseek-r1:1.5b約 1.1GBdeepseek-r1:7b約 4.7GBdeepseek-r1:14b約 9GB。內(nèi)存 16GB 的機器建議從 7B 起步32GB 內(nèi)存可以試 14B。ollama pull deepseek-r1:7b ollama list ollama psollama list查看本地已有模型ollama ps查看當(dāng)前加載的模型運行在 GPU 還是 CPU。如果ollama ps里 PROCESSOR 列顯示 GPU說明顯卡調(diào)用成功顯示 CPU 且輸出很慢就是模型太大塞不進顯存回退到 CPU 計算了。NVIDIA 顯卡在 Windows 下基本開箱即用Ollama 自帶 CUDA 支持AMD 顯卡要確認(rèn)是否被識別識別不到就只能用 CPU 跑。ollama pull網(wǎng)絡(luò)不理想時另一個常見做法是去 ModelScope魔搭社區(qū)下載 DeepSeek 的 GGUF 文件再手動導(dǎo)入# 寫一個 ModelfileFROM 指向下載好的 .gguf 文件 FROM D:\models\deepseek-r1-7b-q4_k_m.gguf # 用 Modelfile 創(chuàng)建本地模型 ollama create deepseek-r1:local -f Modelfile這樣導(dǎo)入的模型和ollama pull拉下來的模型在使用上沒有區(qū)別解決了「模型下載慢」這個最大的痛點。下載慢的另一個隱藏問題是中斷后續(xù)傳不可靠所以建議一次性下完別反復(fù)按ctrlc。3. ChatBox 接入 Ollama一個 API 地址搞定聊天界面3.1 為什么選 ChatBox命令行里ollama run deepseek-r1:7b雖然能聊但對話記錄、上下文管理和多輪體驗都太原始。ChatBox 是常見的桌面級前端免費支持把 Ollama 當(dāng)作模型提供方接入也支持接入 OpenAI 等在線服務(wù)界面體驗和商用聊天軟件接近。安裝包從官網(wǎng)或 GitHub Releases 下載國內(nèi)直接下安裝包問題不大。ChatBox 的定位就是「本地模型的聊天殼」它不參與推理也不存你的業(yè)務(wù)數(shù)據(jù)所有請求都發(fā)給本地 API。這讓它非常適合和 Ollama 搭配一個負(fù)責(zé)模型調(diào)度一個負(fù)責(zé)交互互相不干擾。3.2 配置步驟從打開設(shè)置到開始對話ChatBox 的配置邏輯是「模型提供方 模型名」。打開設(shè)置找到模型提供方選擇 Ollama填兩個關(guān)鍵信息API 地址http://127.0.0.1:11434模型名稱deepseek-r1:7b保存后新建對話選擇deepseek-r1:7b即可開始。這里的 API 地址指向 Ollama 默認(rèn)監(jiān)聽的本地端口默認(rèn)只允許本機訪問不需要額外暴露。如果 Ollama 裝在另一臺機器上才需要把 IP 換成那臺機器的內(nèi)網(wǎng) IP。這個配置過程的底層原理很簡單ChatBox 把用戶輸入組裝成 OpenAI 格式的請求體POST 到 Ollama 的/v1/chat/completions端點Ollama 完成推理后把結(jié)果原樣返回。有個容易被忽略的參數(shù)是上下文長度。Ollama 的默認(rèn)上下文窗口通常只有 2K 到 4K對話稍微長一點前面的內(nèi)容就被截斷或直接報錯。ChatBox 的模型設(shè)置里一般有上下文長度選項建議直接設(shè)到 8192 或 16384前提是你的內(nèi)存扛得住。上下文越大單次請求消耗的顯存和內(nèi)存也越大。3.3 「無法緩沖請求正文」是什么問題檢索「chatbox 無法緩沖請求正文 超出長度限制」的人很多這個報錯在接入早期我也見過。現(xiàn)象是粘貼一大段代碼或長文后ChatBox 直接提示請求正文超長對話發(fā)不出去。原因分兩層第一層是 Ollama 的 num_ctx 小請求內(nèi)容超過模型能接受的上下文窗口第二層是單條消息本身過長觸發(fā)了服務(wù)端的緩沖上限。解決辦法按優(yōu)先級來清空當(dāng)前對話或刪掉消息里的超長內(nèi)容在 ChatBox 里把上下文長度調(diào)大如果客戶端沒有暴露這個選項就用 Modelfile 固定上下文FROM deepseek-r1:7b PARAMETER num_ctx 32768ollama create deepseek-r1:7b-ctx32k -f Modelfile之后在 ChatBox 模型名里選deepseek-r1:7b-ctx32k。注意這個操作會增加顯存占用7B 模型開 32K 上下文16GB 內(nèi)存會比較吃力建議配合虛擬內(nèi)存使用。4. Cherry Studio 私有知識庫讓 DeepSeek 回答你的私人文檔4.1 知識庫的工作原理ChatBox 解決的是「聊天」問題Cherry Studio 解決的是「讓模型知道你的文檔」問題。它內(nèi)部走的是標(biāo)準(zhǔn)的 RAG檢索增強生成流程先把文檔按長度切塊然后用嵌入模型把每個塊轉(zhuǎn)成向量存進本地向量庫提問時把問題也轉(zhuǎn)成向量做相似度檢索把最相關(guān)的幾個塊拼進 Prompt交給 DeepSeek 生成回答。這個流程里有兩個模型在協(xié)作負(fù)責(zé)生成的 DeepSeek 和負(fù)責(zé)向量化的嵌入模型。向量化這一步完全可以用 Ollama 跑本地的嵌入模型比如nomic-embed-text或bge-m3。中文文檔優(yōu)先推薦bge-m3它對中文和長文本的支持比nomic-embed-text更友好。嵌入模型很小普通 CPU 也能跑不用太擔(dān)心資源占用。4.2 配置步驟Ollama 嵌入模型 知識庫關(guān)聯(lián)先在 Ollama 里拉取嵌入模型ollama pull bge-m3 ollama pull deepseek-r1:7b然后在 Cherry Studio 設(shè)置中添加 Ollama 提供方API 地址同樣是http://127.0.0.1:11434。此時提供方下面會列出剛才下載的模型把deepseek-r1:7b設(shè)為對話模型把bge-m3設(shè)為嵌入模型。接著創(chuàng)建知識庫打開知識庫頁面新建知識庫選擇嵌入模型bge-m3拖入 PDF、Markdown 或 TXT 文檔等向量化完成看到文檔狀態(tài)變?yōu)椤妇途w」在對話頁面打開知識庫關(guān)聯(lián)開關(guān)選擇剛建的知識庫。配置成功后提問Cherry Studio 會先檢索再回答回答內(nèi)容里通常帶著引用來源。這一步驗證的不只是「能不能答」而是「答案是否基于你的文檔」。如果答得完全像通用大模型在自由發(fā)揮說明知識庫沒有被真正檢索到要回查關(guān)聯(lián)開關(guān)和嵌入模型配置。常見做法是切塊和向量化在本地完成整個過程不產(chǎn)生網(wǎng)絡(luò)請求所以私有知識庫的數(shù)據(jù)邊界是可控的。4.3 chunk 大小、檢索數(shù)量與相似度閾值的經(jīng)驗值知識庫效果好不好參數(shù)影響很大。常用初始值如下參數(shù)建議取值影響切塊大小 chunk_size400-600 字符太小語義被切斷太大檢索噪聲高重疊長度 overlap50-100 字符保證切塊邊界語義連貫檢索數(shù)量 topK3-5越多上下文越全但無關(guān)內(nèi)容也越多相似度閾值0.35-0.5低于閾值的塊會被過濾切塊大小是新手最容易忽略的。默認(rèn)值如果太大一段跨多個主題的文檔會被塞進同一個向量檢索時容易帶出無關(guān)內(nèi)容太小則語義不完整。400 到 600 字符對絕大多數(shù)技術(shù)文檔是可靠起點。topK 寧缺毋濫5 個通常夠用超過 8 個之后回答會開始「串味」。如果是團隊場景FastGPT 或 Dify 也是常見的落地方式原理完全一樣只是它們把知識庫、工作流和權(quán)限做成了 Web 服務(wù)對個人來說 Cherry Studio 這類桌面工具更輕也更容易復(fù)現(xiàn)。5. 本地部署避坑清單5 個讓新手翻車的細(xì)節(jié)5.1 模型下載慢到想放棄現(xiàn)象ollama pull卡在幾 KB/s進度條一整晚沒動。原因模型托管在海外 registry國內(nèi)直連速度不理想。解法到 ModelScope 下載同版本 GGUF 文件用 Modelfile 導(dǎo)入本地導(dǎo)入后ollama list能看到自定義模型名。另外把模型目錄放在剩余空間最大的盤上SSD 和 HDD 的加載速度差別在 14B 以上模型上非常明顯。5.2 顯存不夠?qū)е碌乃俣刃W(xué)現(xiàn)象對話時風(fēng)扇狂轉(zhuǎn)一個字一個字蹦出來。原因模型超出顯存容量后Ollama 會把部分層卸載到內(nèi)存甚至 CPU 計算。解法先用ollama ps看 PROCESSOR 列確認(rèn)模型跑在 GPU 還是 CPU換成更小的量化版本或直接降級到 7B。還可以設(shè)置環(huán)境變量OLLAMA_MAX_LOADED_MODELS1避免同時加載多個模型把顯存占滿。這個現(xiàn)象最容易騙人表面上看模型「能跑」實際速度和可用性完全不合格屬于典型的本地部署玄學(xué)。5.3 改了存儲路徑卻不生效現(xiàn)象環(huán)境變量設(shè)了OLLAMA_MODELS模型還是往 C 盤寫。原因Windows 下服務(wù)已在舊環(huán)境變量下啟動Linux 下 systemd 服務(wù)沒有重新加載配置。解法Windows 用setx設(shè)置后務(wù)必重新打開終端并重啟 Ollama 服務(wù)Linux 用systemctl edit ollama寫入 Environment然后daemon-reload和restart。要遷移已有模型直接把整個 models 目錄拷到新位置再重啟比重新下載快得多。5.4 請求正文超過長度限制現(xiàn)象ChatBox 或 Cherry Studio 里粘貼長文后報「無法緩沖請求正文」。原因num_ctx 太小請求內(nèi)容超過模型上下文上限。解法先清空對話或縮短消息然后在客戶端調(diào)大上下文長度再不行就用 Modelfile 固定num_ctx 32768并重建模型。需要注意上下文翻倍會帶來顯存和內(nèi)存占用上升改完以后觀察一下內(nèi)存水位。5.5 端口暴露與僅本地訪問現(xiàn)象局域網(wǎng)里其他機器能訪問你的 11434 端口。原因為了遠(yuǎn)程調(diào)用把 Ollama 的監(jiān)聽地址改成了0.0.0.0。解法默認(rèn)不要改監(jiān)聽地址Ollama 本身就只監(jiān)聽127.0.0.1ChatBox、Cherry Studio 都在本機運行完全不需要對外開放。如果確實要在局域網(wǎng)內(nèi)用把監(jiān)聽地址寫成內(nèi)網(wǎng) IP 而不是0.0.0.0并且不要把端口映射到公網(wǎng)。這個端口后面就是完整的大模型調(diào)用能力裸奔到公網(wǎng)等于把后門鑰匙掛在門口。6. 進階用 Python 把本地模型變成你自己的 API 服務(wù)最后分享一個常用的進階技巧不依賴 ChatBox 的圖形界面用 Python 直接調(diào)用 Ollama 的/api/chat接口把本地模型變成可復(fù)用的自動化服務(wù)。整個過程只需要 requests不需要額外安裝 SDKimport requests resp requests.post( http://127.0.0.1:11434/api/chat, json{ model: deepseek-r1:7b, messages: [{role: user, content: 用三句話解釋 RAG}], stream: False, options: { num_ctx: 32768, temperature: 0.7, }, }, timeout120, ) data resp.json() print(data[message][content])這段代碼的核心是options里的兩個參數(shù)num_ctx直接控制上下文窗口不需要在客戶端設(shè)置temperature控制回答的隨機性。做信息抽取類任務(wù)時把 temperature 降到 0.2 左右做創(chuàng)意寫作再調(diào)回 0.7 以上。stream設(shè)為False能拿到完整響應(yīng)方便調(diào)試正式服務(wù)里建議改成True前端可以邊生成邊顯示。寫完之后用三個命令驗證部署是否健康ollama list確認(rèn)模型存在ollama ps確認(rèn)模型加載在 GPU再跑一遍上面的腳本確認(rèn) API 通。如果要做成團隊內(nèi)部服務(wù)可以再用 FastAPI 包一層把校驗、日志和模型切換收口到一個小服務(wù)里核心邏輯就是上面這幾行請求代碼。我自己的習(xí)慣是把常用 Prompt 模板也收進配置文件這樣換模型型號只需要改一個字段不用動代碼。這條路的坑在前幾章幾乎都踩過最早 7B 模型下載失敗三次后來學(xué)會了用 GGUF 導(dǎo)入第一次開 32K 上下文把 16GB 內(nèi)存吃滿才知道知識庫和上下文都要算資源賬。現(xiàn)在把模型文件像備份一樣歸檔把上下文參數(shù)寫進 Modelfile整條鏈路反而比在線 API 更讓人放心希望幫到你。本文還有配套的精品資源點擊獲取