我的“家庭”机器人

大约两年前,我搞了个“家庭”机器人,就想让它帮着管管家里的各种事。它主要干这几样活:每天早上给咱们整份简报,管管全家的购物清单,帮咱设个提醒,还能查查天气。最开始的时候,我是用 Telegram 把它弄出来的,只要有手机,不管在哪儿都能使唤它。 以前这个机器人全靠云那边的AI脑子在转,我试过 ChatGPT、Claude 和 Gemini,用着都还行。主要是事儿不大,也就花了两千三百来个 token。不过我总觉得有点亏,因为这些API用得越多账单就越厚。有些月份光 API 费就超了一百二十欧。我这机器人不是傻等着别人叫它的那种,它自己会主动干活,这就费了好多流量费。虽然不算特别贵吧,但我不想在别的AI服务上花了大钱之后,又因为这个多出来一笔开支。再说我也不敢随便给它加功能了,怕账单又涨起来。 后来便宜的 DeepSeek、Qwen、GLM 模型出来了,像 OpenRouter 这样的平台价格也挺实惠的。但我实在不想把家里的隐私数据丢到不知道哪儿去的服务器上。我就想,能不能直接把它变成本地的AI大脑。 我把代码搬到了 Hetzner 的 VPS 上,这服务器本来就是给我干别的项目用的。原来是4个vCPU加8GB内存的低配版。我试了好多小模型,想找个速度和流畅度刚好的平衡点。后来觉得还差点劲儿,就咬牙把硬件升级到8个vCPU和16GB内存。 虽然看着没 GPU 还跑大模型好像很奇怪,但 MoE 这种混合专家模型的厉害之处就在这儿。它虽然更吃内存,但是算得更快。我选了个 GPT-OSS-20B 模型,把它量化到 Q4 之后大概占了12GB内存,剩下的4GB留给系统和其他软件也够了。 自己折腾模型的时候优化每一处都特别重要。我发现之前机器人凑提示词的方法有点低效,这在跑得飞快的云端模型里看不出来。经过好几轮改代码才凑出个差不多能用的状态。 现在的提示词和工具还是两千三百来个 token 左右,但是处理速度快多了。平均每秒能蹦出22个词,我觉得这个速度和硬件性能挺搭的。 虽然没了云那边那种一敲就响的即时响应速度,但我换来了隐私、自主权还有无限的免费 token。这下我就不怕钱包瘪了,能安心扩展功能了。 我觉得这还没到头呢。我打算把每次聊天都存进文件里当训练数据,等攒够2到3个月的数据稍微清理一下再拿来微调个更小的模型。也许以后不用那么高的配置就能跑更快了 😄