基于 NAS 私有化部署 Ollama 和 open-webui 开源框架,打造低成本私有 AI 实验室
🤖相当于把「AI 研究所」塞进你家机柜,用树莓派的价格享受云计算厂的快乐
💰技术收益:比云服务便宜 90%,响应速度提升 3 倍!
# windows/mac到官网下载安装包
https://ollama.com/download
# linux本地安装
curl -fsSL https://ollama.com/install.sh | sh
version: '3.9'
services:
ollama-webui:
image:ghcr.io/open-webui/open-webui:main
container_name:ollama-webui
restart:always
ports:
-18080:8080
environment:
-OLLAMA_BASE_URL=http://192.168.68.100:11434
-HF_ENDPOINT=https://hf-mirror.com
-WEBUI_SECRET_KEY=xxx
volumes:
- ./ollama-open-webui:/app/backend/data
安装好后,在登录 open-webui (http://localhost:18080) ,在设置里面安装模型,然后就可以测试下 AI 的弱智指数
测试 : 被门夹过的核桃,还能补脑吗?
1.5b 幻觉太严重,7b 基本能玩玩,不会错的太离谱
修改服务配置:
/etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0:12345"
Environment="OLLAMA_ORIGINS=*"
Environment="PATH=/root/.autojump/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
[Install]
WantedBy=default.target
改好后可手动启动
ps -ef | grep ollama | awk '{print $2}' | xargs -I {} kill {}
export OLLAMA_HOST=0.0.0.0:11434 && export OLLAMA_ORIGINS=* && nohup ollama serve > ollama.log &
ps -ef | grep ollama
# 查看版本
➜ ~ ollama -v
ollama version is 0.5.8-rc10
# 安装模型
ollama pull deepseek-r1:7b
# 查看模型 ,也可到https://ollama.com/library搜索模型
➜ ~ ollama ls
NAME ID SIZE MODIFIED
deepseek-coder:6.7b ce298d984115 3.8 GB 7 days ago
deepseek-r1:32b 38056bbcbb2d 19 GB 8 days ago
deepseek-r1:14b ea35dfe18182 9.0 GB 9 days ago
deepseek-r1:7b 0a8c26691023 4.7 GB 12 days ago
deepseek-r1:1.5b a42b25d8c10a 1.1 GB 12 days ago
nomic-embed-text:latest 0a109f422b47 274 MB 12 months ago
也可以自己接入第三方厂商大模型的 api key (得有 http_proxy 代理)
部署好后就可有使用 http 接口测试
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:7b",
"prompt":"为什么天空是蓝色的?"
}' | jq
也可直接在命令行直接运行模型
➜ ~ ollama run deepseek-r1:14b
>>> 孙悟空打石头,算殴打父母吗?
<think>
嗯,这个问题挺有意思的。首先,用户问的是“孙悟空打石头,算殴打父母吗?”我得先理解一下这个问题。孙悟空是中国神话里的一个角色,他通常被描绘成一个非常勇敢和强大的猴子。石头在这里可能是
指他的家乡或者某种象征物。
...此处略去500字...
最后,我觉得这个问题主要是在考察对词语的理解和逻辑推理能力,同时也可能涉及到对中国神话故事的了解。总的来说,孙悟空打石头并不算作殴打父母,因为两者在本质上是不同的概念。
</think>
根据您的问题,“孙悟空打石头”是否构成“殴打父母”,可以得出以下结论:
1. **定义明确**:
- “殴打父母”是指对有生命的、具有亲属关系的父母进行身体攻击或伤害的行为。
- 石头是一种无生命物体,因此不属于“父母”的范畴。
2. **神话背景**:
- 在《西游记》中,孙悟空是从一块被称为“仙石”的石头中诞生的。这块石头象征着他的起源,而不是有生命的父母。
...此处略去500字...
综上所述,“孙悟空打石头”并不构成“殴打父母”的情形,两者在定义和性质上有本质区别。
附上我捡垃圾配的 NAS,系统使用的是 truenas scale,底层上是基于 k3s,一个 k8s 的简化版,强大的一塌糊涂。开通公网后,搞个免费域名,就可以作为自己长期的私有云服务器了。
一张省电的上古显卡 : 微星 GTX 1650 D6 万图师 -4G 显存 ,TDP 只有 75W
# 查看显存情况
➜ ~ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.65.01 Driver Version: 515.65.01 CUDA Version: 11.7 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:03:00.0 Off | N/A |
| 23% 34C P8 12W / 75W | 3MiB / 4096MiB | 0% Default |
| | | N/A |
+-----------------------------------------------------------------------------+
硬件要求 | ||
模型生态 | ||
部署难度 | ||
交互体验 | ||
氪金指数 |
📌 总结
在家用 NAS 或闲置电脑上部署 AI 系统,用 ollama+open-webui 这对王炸组合就够啦!
可拓展性简直开挂 :
联网权限|文档搜索|语音交互|智能体工具
而且部署复杂度低,产品易用性好,操作丝滑得就像在用 ChatGPT 企业版 。
📢下期预告:
《Obsidian+DeepSeek助手实战指南》
搭建个人第二大脑的骚操作