ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【深度实践】AI大模型本地部署完整教程:Ollama + Deepseek/Qwen 安装、测试与性能对比,一篇搞定,建议收藏!

【深度实践】AI大模型本地部署完整教程:Ollama + Deepseek/Qwen 安装、测试与性能对比,一篇搞定,建议收藏! 1. 为什么我最终把 Ollama 装进了工作流AI大模型本地部署这件事我一开始是拒绝的。理由很简单云端模型已经够用何必折腾自己的机器。直到有一次出差在高铁上想改一段 RAG 检索的 prompt网络断断续续云端接口一直转圈我才意识到本地部署的价值——不是替代云端而是给高频、隐私敏感、离线场景兜底。Ollama 是目前把这件事做得最顺手的工具之一。它把模型权重、推理引擎、服务端口打包成一个命令行程序你不需要懂 CUDA、不需要配 Python 环境一条ollama run就能跑起 Deepseek 或 Qwen。适合谁三类人一是手里有 32G 内存以上机器的开发者二是需要处理涉密文档、不想把内容传到云端的团队三是想低成本做模型对比实验的人。这篇教程聚焦完整落地路径环境准备、模型拉取、推理测试、性能对比同时给出可复制的配置骨架和 TaoToken 统一 Key/API 通道的接入示例。本地跑模型负责隐私和离线TaoToken 负责在需要更强模型或联网时做统一出口两者配合才是完整方案。2. 环境准备与 Ollama 安装2.1 硬件与系统要求本地部署的第一道门槛是内存。模型参数量决定显存/内存占用粗略对照如下模型量化后硬盘占用建议运行内存deepseek-r1:7b约 4.7G8Gdeepseek-r1:32b约 19G32Gqwen2.5-coder:32b约 19G32Gqwen2.5:14b约 9G16GMac 用户看统一内存Windows/Linux 用户看显存加内存。如果内存不够Ollama 会退到 CPU 推理速度会慢一个数量级但不会崩。2.2 安装 OllamamacOS 和 Windows 直接去 ollama.com 下载安装包双击即可。Linux 用一行脚本curl -fsSL https://ollama.com/install.sh | sh安装完成后验证版本ollama --version看到版本号输出就说明服务已经注册为后台进程。macOS 上它会常驻菜单栏Windows 上会出现在系统托盘。2.3 配置模型存储路径默认模型存在系统盘32b 模型动辄 19G很容易把 C 盘撑爆。建议改到数据盘。macOS/Linux 设置环境变量export OLLAMA_MODELS/data/ollama/modelsWindows 在系统环境变量里新增OLLAMA_MODELS指向D:\ollama\models。改完重启 Ollama 服务生效。3. 拉取 Deepseek 与 Qwen 模型3.1 拉取命令Ollama 的模型库直接支持 Deepseek 和 Qwen 系列。拉取 deepseek-r1 的 32b 量化版ollama pull deepseek-r1:32b拉取 Qwen 的代码专用模型ollama pull qwen2.5-coder:32b如果内存只有 16G换成 14b 或 7bollama pull qwen2.5:14b ollama pull deepseek-r1:7b拉取过程会显示分层下载进度支持断点续传。国内网络下 19G 大概需要十几分钟到半小时取决于带宽。3.2 确认安装结果ollama list输出会列出模型名、ID、大小、修改时间。看到刚拉的两个模型都在清单里说明安装完成。3.3 用 Modelfile 固化参数想让模型每次启动都带固定参数比如温度、上下文长度可以写一个 ModelfileFROM deepseek-r1:32b PARAMETER temperature 0.6 PARAMETER num_ctx 8192 PARAMETER top_p 0.9然后构建自定义模型ollama create my-deepseek -f ./Modelfile ollama run my-deepseek这样每次运行my-deepseek都自动带上你调好的参数不用重复输入。4. 可复制的配置骨架与 TaoToken 通道4.1 Ollama 服务端配置Ollama 默认监听127.0.0.1:11434。如果要让局域网内其他机器调用设置export OLLAMA_HOST0.0.0.0:11434 export OLLAMA_KEEP_ALIVE30mOLLAMA_KEEP_ALIVE控制模型在内存里驻留多久默认 5 分钟调大可以避免频繁冷启动。4.2 settings.json 骨架VS Code 插件场景如果你用 Continue 或 Cline 这类 VS Code 插件接本地模型配置大致如下{ models: [ { title: Local Deepseek, provider: ollama, model: deepseek-r1:32b, apiBase: http://127.0.0.1:11434 }, { title: TaoToken Qwen, provider: openai, model: qwen-max, apiBase: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥 } ] }本地模型走127.0.0.1云端模型走 TaoToken 统一通道插件里一键切换。4.3 config.toml 骨架命令行客户端场景部分 CLI 工具用 TOML 配置[providers.ollama] base_url http://127.0.0.1:11434 model qwen2.5-coder:32b [providers.taotoken] base_url https://taotoken.net/api api_key sk-你的TaoToken密钥 model deepseek-chatTaoToken 的 API 地址是https://taotoken.net/api兼容 OpenAI 格式所以任何支持自定义 base_url 的客户端都能接。密钥在控制台的 API Keys 页面生成https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite4.4 统一 Key 的意义本地模型不需要 Key但当你需要调用云端更强模型时TaoToken 提供一个 Key 打通多个模型。这样你的配置文件里只有一套鉴权切换模型只改 model 字段。对于长期做 coding 或 Agent 开发的场景可以考虑 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite5. 推理测试与性能对比5.1 测试任务设计我用一个制冷循环计算任务做对比给定冷凝温度、过冷度、蒸发温度、过热度要求模型分析循环过程并计算制冷系数 COP。这个任务需要查物性参数、套公式、做多步推导能同时考察模型的推理能力和数值准确性。测试命令用asitopmacOS 上监控 CPU/GPU/内存/功耗的工具sudo asitop5.2 三个模型的表现deepseek-r1:32b从收到任务到输出结果用时约 15 分钟。10 颗 GPU 全部占用GPU 峰值功率 19.91WCPU 峰值 4.46W内存占用 26.9G/32G。运行初期 GPU 平均功率 12.75W后期降到 8.94W。计算结果 COP2.38状态点温度压力计算准确但物性参数取值有偏差。qwen2.5-coder:32b用时约 3 分钟。GPU 峰值 20.46WCPU 峰值 1.24W内存 26.7G/32G。运行初期 GPU 平均 14.5W后期 10.85W。计算结果 COP0.389状态点温度和压力都不准确偏差较大。gemma3:27b用时约 4 分钟。GPU 峰值 19.61WCPU 峰值 3.89W内存 26.6G/32G。计算结果 COP8.28压力计算不准确。5.3 对比结论模型求解时间内存占用GPU 均值结果准确度deepseek-r1:32b15min26.9G12.75W状态点准确物性有偏差gemma3:27b4min26.6G14.2W压力取值不准qwen2.5-coder:32b3min26.7G14.5W温度压力均不准deepseek-r1 最慢但最靠谱适合需要严谨推导的场景。qwen2.5-coder 最快但数值推理弱适合代码生成而非物理计算。gemma3 居中。选型建议做代码补全用 qwen2.5-coder做逻辑推理用 deepseek-r1做通用对话两者都可以。5.4 用 API 方式验证除了命令行也可以用 curl 直接调 Ollama 的 APIcurl http://127.0.0.1:11434/api/generate -d { model: deepseek-r1:32b, prompt: 用一句话解释什么是制冷系数, stream: false }返回 JSON 里的response字段就是模型输出。这个接口和 OpenAI 格式不同但很多客户端做了适配。如果你更想先在线验证模型效果再决定本地部署哪个可以用模型对话页面直接试https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite6. 常见报错排查6.1 拉取模型卡住或超时现象ollama pull进度条长时间不动。原因通常是网络到模型仓库的连接不稳定。解决先确认能访问 ollama.com然后重试Ollama 支持断点续传中断后重新执行同一条命令会从断点继续。6.2 运行时报 out of memory现象ollama run后模型加载失败提示内存不足。原因模型大小超过可用内存。解决换更小的量化版本比如把 32b 换成 14b 或 7b或者关闭其他占内存的程序Mac 用户检查统一内存是否被其他应用占用。6.3 端口 11434 被占用现象Ollama 启动失败提示 address already in use。原因已有 Ollama 实例在运行或其他程序占用了端口。解决lsof -i :11434找到占用进程后 kill 掉或者改 Ollama 监听端口export OLLAMA_HOST127.0.0.1:114356.4 客户端连不上本地模型现象VS Code 插件配置了127.0.0.1:11434但请求失败。原因Ollama 服务没启动或客户端在容器/远程环境里127.0.0.1指向的不是宿主机。解决先ollama list确认服务活着容器场景把地址改成宿主机 IP远程场景设置OLLAMA_HOST0.0.0.0:11434并放行防火墙。6.5 模型输出乱码或截断现象返回内容不完整或出现奇怪字符。原因num_ctx设置过小上下文被截断。解决在 Modelfile 里调大num_ctx比如 8192 或 16384然后重新 create 模型。6.6 TaoToken 通道返回 401现象配置了 TaoToken 的 Key 但请求被拒。原因Key 复制不完整或已失效。解决去控制台重新生成确认请求头是Authorization: Bearer sk-xxx。接入文档在这里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite7. 把本地和云端串起来本地部署解决的是隐私、离线、零成本高频调用的问题云端解决的是模型能力上限和弹性扩容的问题。两者不是二选一而是分工。我的做法是日常代码补全、文档摘要走本地 qwen2.5-coder遇到复杂推理或本地模型明显吃力时切到 TaoToken 通道调云端模型。如果你也在做 Claude Code 或 Anthropic 风格的 Agent 开发TaoToken 提供了对应的接入方式https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_codeutm_campaignrewrite配置改完后跑一条最简单的验证请求确认链路通curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的密钥 \ -H Content-Type: application/json \ -d {model:deepseek-chat,messages:[{role:user,content:ping}]}返回正常 JSON 就说明通道可用。本地和云端都跑通之后你的开发环境才算真正完整。
返回列表