尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

【AI】本地大模型搭建-2 ollama

【AI】本地大模型搭建-2 ollama 文章目录Ollama 安装与模型仓库原理一、Ollama 安装Windows 11 NVIDIA1. 下载2. 安装3. 验证安装新开一个 PowerShell4. 确认服务与 API5. 模型存储位置建议现在就先注意二、QA已有 Qwen3-8B-Q4_K_M 需要重新下载吗方案 A复用已有 GGUF推荐方案 B让 Ollama 自己下载不推荐三、KoboldCpp vs Ollama同一个模型的公平对比实验四、Ollama 模型仓库原理4.1 核心结构Manifest → Digest → Blob4.2 什么是内容寻址存储Content-Addressable Storage4.3 QA这两个 SHA256 是 Docker 的底层镜像 上层读写层吗4.4 QA为什么不直接放一个 .gguf 文件不麻烦吗五、QA像流水线 / Git / Jenkins 吗——更像 Git相似度排序为什么最像 Git内容寻址 对象存储仓库家族类比六、串起 DevOps / AI Infra 主线七、要点速览ChecklistOllama 安装与模型仓库原理与 AI 协作问答的完整整理。涵盖Windows 11 安装 Ollama、复用已有 GGUF 模型、KoboldCpp vs Ollama 对比、模型仓库原理Manifest / Digest / Blob / 内容寻址、以及与 Git / Docker / Jenkins 的类比。一、Ollama 安装Windows 11 NVIDIA结论不需要 WSL也不需要 Docker官方提供原生 Windows 版本。1. 下载官方下载Ollama Windows 官方下载 →OllamaSetup.exe默认安装到用户目录不需要管理员权限2. 安装双击OllamaSetup.exe一路安装即可安装完成后在后台自动运行服务并把ollama命令加入 PATH不需要手动执行ollama serveWindows 版会自动运行3. 验证安装新开一个 PowerShellollama--version# 看到 ollama version ... 即成功ollama# 新版可进入交互式菜单ollama list# 还没下载模型 → 空列表正常ollamaps# 正常4. 确认服务与 APIOllama 默认 API 地址http://localhost:11434官方 Windows 文档明确说明5. 模型存储位置建议现在就先注意项目路径默认位置C:\Users\用户名\.ollama\models自定义环境变量OLLAMA_MODELS→ 指向空间较大的盘⚠️ 如果 C 盘空间不大建议装好后立刻把模型目录改到其他盘再下载模型。二、QA已有 Qwen3-8B-Q4_K_M 需要重新下载吗问ollama 和之前的 Qwen3-8B-Q4_K_M 不适配吗我需要下载新模型答不需要重新下载。Ollama 官方明确支持从 GGUF 文件创建模型。方案 A复用已有 GGUF推荐Qwen3-8B-Q4_K_M.gguf → Modelfile → ollama create → 本地 Ollama 模型创建ModelfileFROM D:\你的路径\Qwen3-8B-Q4_K_M.gguf导入并运行ollama create qwen3-local-f Modelfile ollama run qwen3-local整个过程不会改变原来的 GGUF 文件。方案 B让 Ollama 自己下载不推荐ollama run qwen3会从 Ollama 模型库重新拉一份 Qwen3——与已下载的 Q4_K_M 重复浪费磁盘和流量。三、KoboldCpp vs Ollama同一个模型的公平对比实验之前已用 KoboldCpp 跑过 Qwen3-8B-Q4_K_M现在把同一个 GGUF交给 Ollama公平对比两者到底有什么区别维度KoboldCppOllama模型同一个 Qwen3 8B Q4_K_M同一个模型文件同一个 GGUF同一个 GGUFGPUNVIDIANVIDIA推理KoboldCppOllamaAPI有非常方便模型管理手动Ollama 统一管理Web UIKobold UI可接 Open WebUI 等⚠️ 注意不是把 GGUF 文件拖进 Ollama 就完事——Ollama 的模型管理方式与 KoboldCpp 完全不同见下文原理。四、Ollama 模型仓库原理4.1 核心结构Manifest → Digest → BlobOllama 模型在磁盘上不是一个大文件而是由 Manifest 索引的一组对象Ollama Model └── Manifest索引 / 说明书 ├── Config 描述信息~151 bytes digest: sha256:b2dd1377... └── Model Blob 模型数据~5 GB digest: sha256:d98cdcbd...manifest.json 里其实有两类 SHA256config.digest模型描述信息的内容指纹架构、参数量等仅 151 byteslayers[0].digest真正的模型数据的内容指纹例如size: 5027783488≈ 5GB对应关系sha256:d98cdc... → blobs 目录 → 约 5GB 模型数据 → Qwen3可以在 blobs 目录直接验证Get-ChildItemD:\AI\Ollama\models\blobs# 例sha256-d98cdcbd03e17ce47681435b5150e34c1417f50b5c0019dd560e4882c5745785# 大小应接近 5027783488 bytes4.2 什么是内容寻址存储Content-Addressable Storage传统方式靠文件名找数据Qwen3-8B-Q4_K_M.gguf内容寻址靠内容哈希找数据sha256:d98cdc...——内容本身决定 ID直接好处内容完全相同的两个 Blob 可视为同一对象 →去重只存一份4.3 QA这两个 SHA256 是 Docker 的底层镜像 上层读写层吗不是。这是一个容易产生的联想但需要纠正DockerOllama结构多层 Layer 叠加成文件系统OverlayFSManifest 描述信息 模型数据指针关键概念lowerdir / upperdir / merged / 容器可写层Manifest → Config / Model Blob本质文件系统叠加内容索引 引用Docker: Container → Writable Layer → Image Layer 1/2/3 → OverlayFS Ollama: Manifest → Config描述 Model Blob数据Ollama 只是借用了 Docker/OCI 世界的模型分发与内容寻址思想并没有因此变成 Docker也不存在容器读写层。以后学 OCI → Docker Registry → Harbor → Helm OCI → Ollama Registry会发现是同一套基础设施思想在不同领域的应用。4.4 QA为什么不直接放一个 .gguf 文件不麻烦吗单机使用确实显得麻烦但 Ollama 解决的不是怎么保存一个模型而是怎么让大量模型在大量机器之间可靠地分发、存储、验证、复用。单文件方案GGUF KoboldCpp一旦模型变多会撞上文件名/版本/变体管理、重复文件、下载断点、数据完整性、Registry / CDN / 缓存、多机器同步等问题。内容寻址 Digest 带来的三个直接好处去重多个模型/版本共享相同 Blob 时只存一份Qwen3-8B ──┐ ├── sha256:d98cdc... ← 相同数据只存一份 Qwen3-8B-v2─┘完整性校验下载后本地计算 SHA256 与 digest 比对天然知道数据有没有损坏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 → 本地模型本质镜像不是简单的一个 .tar模型不是简单的一个 .gguf一句话总结一个文件适合个人使用但不适合大规模分发、版本管理、缓存、去重和验证。KoboldCpp适合个人玩家Ollama适合把模型当成基础设施资源来管理。五、QA像流水线 / Git / Jenkins 吗——更像 Git问这种思想是不是也有一点类似于流水线 pipeline、代码仓库 git、jenkins更像代码仓库多一点答对这个判断比像 Jenkins Pipeline更准确。相似度排序类比对象相似度Git / Git 仓库⭐⭐⭐⭐⭐Docker Registry / Harbor⭐⭐⭐⭐Jenkins Pipeline⭐⭐Pipeline 流水线本身⭐为什么最像 Git内容寻址 对象存储Git: 工作目录 → git add → Blob → Hash → Tree → Commit Ollama: 模型 → Blob → SHA256 → Manifest → Model共同思想不依赖文件名用内容 Hash 识别数据相同内容复用不重复保存。Gitapp.py内容 A → Hash A内容 B → Hash B未变化的文件共用同一 Blob不需要重复保存Ollama多个模型/版本引用同一sha256:d98cdc...时不用存两份相同数据仓库家族类比系统管什么核心思想Git源代码对象 Hash 版本HarborDocker 镜像Manifest Layer DigestOllama RegistryAI 模型Manifest Blob DigestJenkins构建/部署流程Pipeline 自动化K8S运行环境编排/调度一句话区分Git → 管代码Harbor → 管镜像Ollama → 管模型Jenkins → 管怎么把这些东西生产出来并部署出去六、串起 DevOps / AI Infra 主线开发者 → Git代码仓库→ Jenkins/CI自动构建 ├── Docker Image ──→ Harbor镜像仓库────┐ └── AI Model ──────→ Model Registry模型仓库─┤ ▼ K8S ├── 应用服务 └── GPU 推理服务AI 基础设施并没有抛弃云计算运维的知识而是在大量复用容器生态已验证的基础设施思想现在正在折腾的blobs / manifests / sha256正是这条链上的模型仓库这一环值得掌握的主线Git → CI/CD → 镜像仓库 → 模型仓库 → GPU 推理服务 → K8S对云计算运维 → AI Infra / LLMOps转型是一个非常好的切入点七、要点速览Checklist安装下载OllamaSetup.exe→ 双击安装 →ollama --version验证API默认http://localhost:11434服务自动运行无需ollama serve存储用OLLAMA_MODELS环境变量把模型目录移到非 C 盘复用 GGUFModelfileFROM gguf路径ollama create name -f Modelfile公平实验同一个 GGUF 分别喂给 KoboldCpp 与 Ollama对比推理/API/管理体验原理三件套Manifest索引/ Digest指纹/ Blob数据类比记忆Ollama 模型管理 ≈ Git / Harbor内容寻址而非 Jenkins流程自动化
返回列表