以 Ollama + Open WebUI 为主线,搭建一个可落地的本地 AI 工作台
摘要
这篇文章把本地模型的核心流程串起来:先用 Ollama 跑通模型,再用 Open WebUI 做可视化界面,最后通过 API 或 Python 接到脚本和业务系统里。目标不是追求最复杂的架构,而是先搭出一个真正能用、可持续扩展的本地 AI 工作台。
一、为什么越来越多人开始用本地模型
本地模型的价值,不只是“把大模型跑在自己电脑上”,而是把数据、成本和使用方式握在自己手里。对于知识问答、文档总结、代码辅助和离线对话等场景,它已经足够实用。
本地模型更像一次性建设:前期花的是设备和时间,后续更多是算力消耗,不会因为使用频率高就持续涨成本。
它特别适合隐私敏感、高频调用、需要离线可用的任务。云端模型更强,本地模型更可控,现实里最稳妥的做法往往是二者混合。
二、先理解:本地模型由什么组成
很多人刚接触时,会以为下载一个模型文件就结束了,其实本地模型通常分三层:模型权重、推理引擎和交互层。
其中,Ollama 是最常见的入门工具之一,因为它把“下载、运行、提供接口”这一整套流程简化得很适合普通用户。
真正可用的本地模型方案,一定不是“只有模型”,而是“模型 + 推理引擎 + 接口 + 交互方式”。
三、怎么选模型:别一上来就追大
选模型时,最重要的不是参数越大越好,而是任务是否匹配、机器是否跑得动、体验是否稳定。轻量任务可以从 1B 到 7B 开始,通用办公与开发通常落在 7B 到 14B,更复杂的任务再考虑更大的模型或混合方案。
优先看中文能力、代码能力、推理能力、显存和内存占用、响应速度和社区生态。目标如果是“先跑起来,再优化”,就先选主流、成熟、教程多的模型。
四、Ollama:本地模型最容易上手的入口
Ollama 的优势是把本地模型的核心流程尽量做简单,适合快速验证和个人搭建。
curl -fsSL https://ollama.com/install.sh | shollama -vollama run gemma3ollama pull gemma3ollama listollama rm gemma3ollama cp gemma3 gemma3-custom安装好以后,可以直接通过终端对话,也可以用 `curl` 测试本地 API。只要接口可用,就说明你的本地模型底座已经搭起来了。
五、用 Docker 部署 Ollama
如果你更喜欢容器化管理,也可以直接用 Docker 跑 Ollama。这样环境更干净,也更适合长期维护。
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollamadocker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollamadocker run -d --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm六、Open WebUI:把本地模型变成“能用的产品”
很多模型“能跑”不代表“好用”。真正决定体验的,往往是前端界面。Open WebUI 的作用,就是把本地模型从命令行工具变成可视化产品。
services: ollama: image: ollama/ollama:latest container_name: ollama ports: - "11434:11434" volumes: - ollama:/root/.ollama restart: unless-stopped open-webui: image: ghcr.io/open-webui/open-webui:main container_name: open-webui ports: - "3000:8080" volumes: - open-webui:/app/backend/data environment: - OLLAMA_BASE_URL=http://ollama:11434 restart: unless-stoppedvolumes: ollama: open-webui:启动后访问 http://localhost:3000,你就能像使用在线聊天产品一样使用本地模型。
七、用 Python 和 cURL 调用本地模型
如果你想把本地模型接到脚本里,Python 是最直接的方式。先安装官方库,再通过 `chat` 发起对话,就能很快把模型嵌入自己的工具链。
pip install ollamafrom ollama import chatresponse = chat( model='gemma3', messages=[ { 'role': 'user', 'content': '请用三句话介绍本地模型的优势', }, ],)print(response.message.content)curl http://localhost:11434/api/chat -d '{ "model": "gemma3", "messages": [ { "role": "user", "content": "帮我总结一下本地模型的应用场景" } ], "stream": false}'如果想让输出更适合程序处理,还可以让模型直接返回 JSON,然后再由你的脚本解析。
八、一个更完整的实战流程
最稳的路线不是一开始就折腾复杂架构,而是先把最小可用链路搭出来:
先安装 Ollama 拉一个轻量模型,确认能对话 用 `curl` 测试 API 装 Open WebUI,确认浏览器可访问 再写 Python 脚本调用模型 最后把它接到你的文档、代码或知识库流程里
结尾互动
如果你是第一次搭本地模型,建议先从 Ollama + Open WebUI 开始。先跑通,再优化,最后接入自己的工作流,这条路线最稳,也最容易形成真正可用的 AI 能力。
参考来源
https://zhuanlan.zhihu.com/p/2010741899133198392、https://www.cnblogs.com/obullxl/p/18295202/NTopic2024071001、https://mp.weixin.qq.com/s/MekCUJDhKzuUnoykkGoH2g、https://www.cnblogs.com/treasury/p/18754016、https://zhuanlan.zhihu.com/p/21030210489
夜雨聆风