
文章目錄Ollama 安裝與模型倉庫原理一、Ollama 安裝Windows 11 NVIDIA1. 下載2. 安裝3. 驗證安裝新開一個 PowerShell4. 確認(rèn)服務(wù)與 API5. 模型存儲位置建議現(xiàn)在就先注意二、QA已有 Qwen3-8B-Q4_K_M 需要重新下載嗎方案 A復(fù)用已有 GGUF推薦方案 B讓 Ollama 自己下載不推薦三、KoboldCpp vs Ollama同一個模型的公平對比實驗四、Ollama 模型倉庫原理4.1 核心結(jié)構(gòu)Manifest → Digest → Blob4.2 什么是內(nèi)容尋址存儲Content-Addressable Storage4.3 QA這兩個 SHA256 是 Docker 的底層鏡像 上層讀寫層嗎4.4 QA為什么不直接放一個 .gguf 文件不麻煩嗎五、QA像流水線 / Git / Jenkins 嗎——更像 Git相似度排序為什么最像 Git內(nèi)容尋址 對象存儲倉庫家族類比六、串起 DevOps / AI Infra 主線七、要點速覽ChecklistOllama 安裝與模型倉庫原理與 AI 協(xié)作問答的完整整理。涵蓋Windows 11 安裝 Ollama、復(fù)用已有 GGUF 模型、KoboldCpp vs Ollama 對比、模型倉庫原理Manifest / Digest / Blob / 內(nèi)容尋址、以及與 Git / Docker / Jenkins 的類比。一、Ollama 安裝Windows 11 NVIDIA結(jié)論不需要 WSL也不需要 Docker官方提供原生 Windows 版本。1. 下載官方下載Ollama Windows 官方下載 →OllamaSetup.exe默認(rèn)安裝到用戶目錄不需要管理員權(quán)限2. 安裝雙擊OllamaSetup.exe一路安裝即可安裝完成后在后臺自動運行服務(wù)并把ollama命令加入 PATH不需要手動執(zhí)行ollama serveWindows 版會自動運行3. 驗證安裝新開一個 PowerShellollama--version# 看到 ollama version ... 即成功ollama# 新版可進入交互式菜單ollama list# 還沒下載模型 → 空列表正常ollamaps# 正常4. 確認(rèn)服務(wù)與 APIOllama 默認(rèn) API 地址http://localhost:11434官方 Windows 文檔明確說明5. 模型存儲位置建議現(xiàn)在就先注意項目路徑默認(rèn)位置C:\Users\用戶名\.ollama\models自定義環(huán)境變量OLLAMA_MODELS→ 指向空間較大的盤?? 如果 C 盤空間不大建議裝好后立刻把模型目錄改到其他盤再下載模型。二、QA已有 Qwen3-8B-Q4_K_M 需要重新下載嗎問ollama 和之前的 Qwen3-8B-Q4_K_M 不適配嗎我需要下載新模型答不需要重新下載。Ollama 官方明確支持從 GGUF 文件創(chuàng)建模型。方案 A復(fù)用已有 GGUF推薦Qwen3-8B-Q4_K_M.gguf → Modelfile → ollama create → 本地 Ollama 模型創(chuàng)建ModelfileFROM D:\你的路徑\Qwen3-8B-Q4_K_M.gguf導(dǎo)入并運行ollama create qwen3-local-f Modelfile ollama run qwen3-local整個過程不會改變原來的 GGUF 文件。方案 B讓 Ollama 自己下載不推薦ollama run qwen3會從 Ollama 模型庫重新拉一份 Qwen3——與已下載的 Q4_K_M 重復(fù)浪費磁盤和流量。三、KoboldCpp vs Ollama同一個模型的公平對比實驗之前已用 KoboldCpp 跑過 Qwen3-8B-Q4_K_M現(xiàn)在把同一個 GGUF交給 Ollama公平對比兩者到底有什么區(qū)別維度KoboldCppOllama模型同一個 Qwen3 8B Q4_K_M同一個模型文件同一個 GGUF同一個 GGUFGPUNVIDIANVIDIA推理KoboldCppOllamaAPI有非常方便模型管理手動Ollama 統(tǒng)一管理Web UIKobold UI可接 Open WebUI 等?? 注意不是把 GGUF 文件拖進 Ollama 就完事——Ollama 的模型管理方式與 KoboldCpp 完全不同見下文原理。四、Ollama 模型倉庫原理4.1 核心結(jié)構(gòu)Manifest → Digest → BlobOllama 模型在磁盤上不是一個大文件而是由 Manifest 索引的一組對象Ollama Model └── Manifest索引 / 說明書 ├── Config 描述信息~151 bytes digest: sha256:b2dd1377... └── Model Blob 模型數(shù)據(jù)~5 GB digest: sha256:d98cdcbd...manifest.json 里其實有兩類 SHA256config.digest模型描述信息的內(nèi)容指紋架構(gòu)、參數(shù)量等僅 151 byteslayers[0].digest真正的模型數(shù)據(jù)的內(nèi)容指紋例如size: 5027783488≈ 5GB對應(yīng)關(guān)系sha256:d98cdc... → blobs 目錄 → 約 5GB 模型數(shù)據(jù) → Qwen3可以在 blobs 目錄直接驗證Get-ChildItemD:\AI\Ollama\models\blobs# 例sha256-d98cdcbd03e17ce47681435b5150e34c1417f50b5c0019dd560e4882c5745785# 大小應(yīng)接近 5027783488 bytes4.2 什么是內(nèi)容尋址存儲Content-Addressable Storage傳統(tǒng)方式靠文件名找數(shù)據(jù)Qwen3-8B-Q4_K_M.gguf內(nèi)容尋址靠內(nèi)容哈希找數(shù)據(jù)sha256:d98cdc...——內(nèi)容本身決定 ID直接好處內(nèi)容完全相同的兩個 Blob 可視為同一對象 →去重只存一份4.3 QA這兩個 SHA256 是 Docker 的底層鏡像 上層讀寫層嗎不是。這是一個容易產(chǎn)生的聯(lián)想但需要糾正DockerOllama結(jié)構(gòu)多層 Layer 疊加成文件系統(tǒng)OverlayFSManifest 描述信息 模型數(shù)據(jù)指針關(guān)鍵概念lowerdir / upperdir / merged / 容器可寫層Manifest → Config / Model Blob本質(zhì)文件系統(tǒng)疊加內(nèi)容索引 引用Docker: Container → Writable Layer → Image Layer 1/2/3 → OverlayFS Ollama: Manifest → Config描述 Model Blob數(shù)據(jù)Ollama 只是借用了 Docker/OCI 世界的模型分發(fā)與內(nèi)容尋址思想并沒有因此變成 Docker也不存在容器讀寫層。以后學(xué) OCI → Docker Registry → Harbor → Helm OCI → Ollama Registry會發(fā)現(xiàn)是同一套基礎(chǔ)設(shè)施思想在不同領(lǐng)域的應(yīng)用。4.4 QA為什么不直接放一個 .gguf 文件不麻煩嗎單機使用確實顯得麻煩但 Ollama 解決的不是怎么保存一個模型而是怎么讓大量模型在大量機器之間可靠地分發(fā)、存儲、驗證、復(fù)用。單文件方案GGUF KoboldCpp一旦模型變多會撞上文件名/版本/變體管理、重復(fù)文件、下載斷點、數(shù)據(jù)完整性、Registry / CDN / 緩存、多機器同步等問題。內(nèi)容尋址 Digest 帶來的三個直接好處去重多個模型/版本共享相同 Blob 時只存一份Qwen3-8B ──┐ ├── sha256:d98cdc... ← 相同數(shù)據(jù)只存一份 Qwen3-8B-v2─┘完整性校驗下載后本地計算 SHA256 與 digest 比對天然知道數(shù)據(jù)有沒有損壞Manifest 目錄ollama pull qwen3的流程獲取 Manifest → 看需要哪些 Blob → 檢查本地 → 缺失才下載 → SHA256 驗證 → 組裝模型這幾乎就是 Docker Registry 的翻版DockerOllama拉取docker pull nginxollama pull qwen3過程Registry → Manifest → Layers → Digest → BlobModel Registry → Manifest → Model Blob → Digest → 本地模型本質(zhì)鏡像不是簡單的一個 .tar模型不是簡單的一個 .gguf一句話總結(jié)一個文件適合個人使用但不適合大規(guī)模分發(fā)、版本管理、緩存、去重和驗證。KoboldCpp適合個人玩家Ollama適合把模型當(dāng)成基礎(chǔ)設(shè)施資源來管理。五、QA像流水線 / Git / Jenkins 嗎——更像 Git問這種思想是不是也有一點類似于流水線 pipeline、代碼倉庫 git、jenkins更像代碼倉庫多一點答對這個判斷比像 Jenkins Pipeline更準(zhǔn)確。相似度排序類比對象相似度Git / Git 倉庫?????Docker Registry / Harbor????Jenkins Pipeline??Pipeline 流水線本身?為什么最像 Git內(nèi)容尋址 對象存儲Git: 工作目錄 → git add → Blob → Hash → Tree → Commit Ollama: 模型 → Blob → SHA256 → Manifest → Model共同思想不依賴文件名用內(nèi)容 Hash 識別數(shù)據(jù)相同內(nèi)容復(fù)用不重復(fù)保存。Gitapp.py內(nèi)容 A → Hash A內(nèi)容 B → Hash B未變化的文件共用同一 Blob不需要重復(fù)保存Ollama多個模型/版本引用同一sha256:d98cdc...時不用存兩份相同數(shù)據(jù)倉庫家族類比系統(tǒng)管什么核心思想Git源代碼對象 Hash 版本HarborDocker 鏡像Manifest Layer DigestOllama RegistryAI 模型Manifest Blob DigestJenkins構(gòu)建/部署流程Pipeline 自動化K8S運行環(huán)境編排/調(diào)度一句話區(qū)分Git → 管代碼Harbor → 管鏡像Ollama → 管模型Jenkins → 管怎么把這些東西生產(chǎn)出來并部署出去六、串起 DevOps / AI Infra 主線開發(fā)者 → Git代碼倉庫→ Jenkins/CI自動構(gòu)建 ├── Docker Image ──→ Harbor鏡像倉庫────┐ └── AI Model ──────→ Model Registry模型倉庫─┤ ▼ K8S ├── 應(yīng)用服務(wù) └── GPU 推理服務(wù)AI 基礎(chǔ)設(shè)施并沒有拋棄云計算運維的知識而是在大量復(fù)用容器生態(tài)已驗證的基礎(chǔ)設(shè)施思想現(xiàn)在正在折騰的blobs / manifests / sha256正是這條鏈上的模型倉庫這一環(huán)值得掌握的主線Git → CI/CD → 鏡像倉庫 → 模型倉庫 → GPU 推理服務(wù) → K8S對云計算運維 → AI Infra / LLMOps轉(zhuǎn)型是一個非常好的切入點七、要點速覽Checklist安裝下載OllamaSetup.exe→ 雙擊安裝 →ollama --version驗證API默認(rèn)http://localhost:11434服務(wù)自動運行無需ollama serve存儲用OLLAMA_MODELS環(huán)境變量把模型目錄移到非 C 盤復(fù)用 GGUFModelfileFROM gguf路徑ollama create name -f Modelfile公平實驗同一個 GGUF 分別喂給 KoboldCpp 與 Ollama對比推理/API/管理體驗原理三件套Manifest索引/ Digest指紋/ Blob數(shù)據(jù)類比記憶Ollama 模型管理 ≈ Git / Harbor內(nèi)容尋址而非 Jenkins流程自動化