Home Assistant 接入本地大模型
Home Assistant 自带大模型集成,接上本地 Ollama 就能用自然语言控制家里的设备,全程不经过云端。这篇是按步骤的配置流程:装模型、加集成、暴露实体、搭语音管线,以及踩坑清单。
💡 你将学到
Home Assistant 自带大模型集成,接上本地 Ollama 就能用自然语言控制家里的设备,全程不经过云端。这篇是按步骤的配置流程:装模型、加集成、暴露实体、搭语音管线,以及踩坑清单。
Home Assistant 接入本地大模型:用Ollama做私有语音助手的完整配置
智能家居的语音助手大多把录音传到云端处理。对在意隐私的人来说,这等于在家里常驻一个麦克风加一条上传通道。Home Assistant 从 2024 年起内置了大模型对话能力,接上本地跑的 Ollama,语音链路可以做到全程不出内网。
整体链路
麦克风 → 语音识别(Whisper)→ 对话代理(Ollama 本地模型)→ 意图执行(HA 控制设备)
↓
语音合成(Piper)→ 音箱
每一环都能本地化:Whisper 做语音转文字,Ollama 提供对话与工具调用,Piper 做文字转语音,HA 负责把意图落到具体设备。
第一步:准备模型
Agent 场景对模型的要求和聊天不同——它要稳定输出结构化的设备控制指令,指令跟随比文采重要。
# 模型标签以 Ollama 模型库为准
ollama pull qwen3:8b # 主力,负责理解与调用
ollama pull qwen3:4b # 备选,语音场景延迟更低
显存紧张时优先用 4B 级别:控制灯光、查询温度这类指令不需要大模型,响应速度反而更重要。跑在 CPU 上的机器,4B 的 Q4 量化在近几年桌面 CPU 上大约能到可交互的速度,具体取决于硬件。
确认服务在监听:
curl http://<ollama-host>:11434/api/tags
如果 HA 和 Ollama 不在同一台机器,确认 Ollama 监听的是内网地址而不是仅 127.0.0.1。
第二步:在 HA 里加集成
两条路,选一条:
路线A:官方 Ollama 集成(推荐)
设置 → 设备与服务 → 添加集成 → 搜 Ollama → 填地址 http://<ollama-host>:11434 → 选模型。集成会提供对话代理,也可以暴露给 Assist 使用。
路线B:OpenAI 兼容集成
同样是添加集成,选「OpenAI Conversation」,把 Base URL 指向 http://<ollama-host>:11434/v1,API key 随便填一个非空字符串。适合集成里找不到你的模型、或者想统一走 OpenAI 协议的情况。
两条路都支持「控制 Home Assistant」的开关——这是让模型能真正操作设备的关键,默认不开。
第三步:暴露实体并限制权限
HA 的设计是:只有被显式暴露的实体,语音助手才能看到和操作。
- 设置 → 语音助手 → 暴露实体,逐个勾选允许控制的设备。
- 别一键暴露全部。车库门、门锁、摄像头这类敏感设备默认不暴露。
- 给设备起好别名。「客厅主灯」这样的名字比「light.yeelight_ceiling_3」更容易被模型正确匹配。
模型能看到的实体越少,误操作概率越低,提示词也越短、响应越快。经验做法是按房间分阶段开放,先开一两个房间试用。
第四步:搭语音管线
设置 → 语音助手 → 添加助手,四段配置:
| 环节 | 选择 | 说明 |
|---|---|---|
| 语音转文字 | 本地 Whisper(Wyoming 协议) | 中文识别需选对应模型,小模型快但准确率低 |
| 对话代理 | Ollama 集成 | 选本地模型,必要时配自定义提示词 |
| 语音合成 | 本地 Piper | 中文音色需额外下载语音包 |
| 唤醒词 | 本地唤醒词引擎 | 硬件麦克风设备上配置 |
Wyoming 是 HA 用于本地语音服务的协议,Whisper 和 Piper 都有对应的容器化服务,跑在同一台内网服务器上即可。中文场景要注意两点:Whisper 的模型规模直接影响识别率,tiny/base 对中文基本不可用,至少要 medium 级别;Piper 需要单独的中文语音包。
第五步:调提示词
默认提示词偏通用,实际用起来常出现三种问题:回答太啰嗦、把闲聊当成设备指令、中文夹杂英文。可以在集成配置里自定义系统提示词:
你是一个家庭助理。只回答与家居设备控制相关的问题。
回答控制在两句话以内,使用简体中文,不要使用表情符号。
无法确定设备名称时,先询问而不是猜测。
控制类指令要求「先确认再执行」时,把这条写进提示词,同时保留 HA 自身的人工确认流程。
实测预期
- 响应时间:本地链路的延迟主要来自语音识别和模型推理,端到端几秒属于正常范围,具体取决于硬件。
- 指令成功率:常见指令(开关灯、调亮度、查温度、设场景)在设备命名规范的前提下表现稳定;复合指令(「把客厅灯调暗一点然后关掉卧室空调」)容易漏掉后半句。
- 离线可用:模型、识别、合成都在本地时,断网仍可控制设备,这也是本地方案最大的价值。
常见问题
Q:模型乱开设备怎么办? 先缩小暴露范围,再检查设备别名是否重复或含糊。别名冲突是误操作的头号原因。
Q:能用云端模型吗? 同一个集成支持填云端 API key,效果更好,但语音和指令会离开内网。敏感设备建议只用本地模型。
Q:中文语音识别差? 换更大的 Whisper 模型,或在 HA 里改用支持中文的识别服务。模型太小是主要原因。
Q:需要专用硬件吗? ESPHome 类的语音卫星设备体验最好,也可以用手机 App 或浏览器作为语音入口,先用现有设备验证流程再买硬件。
Q:HomeKit 能用吗? HA 可以把设备桥接到 HomeKit,本地大模型助手的控制也会同步生效。
Q:模型能记住上下文吗? 能,但家庭场景通常不需要长上下文。上下文留太长会拖慢响应,也会让模型把前一句的设备名带进新指令。
注:集成名称、配置项位置与模型标签随 HA 版本变化,具体以官方文档为准。
相关文章
❓ 常见问题
Can the LLM control devices safely?
Yes - HA exposes allowed entities only, and you can restrict which devices the model can touch in the integration config.
What if I want cloud models?
The same integration accepts OpenAI or Anthropic API keys - but then voice audio and commands go to the cloud.
Does it work with Apple HomeKit?
Yes - HA bridges to HomeKit, so the LLM assistant can control HomeKit devices too.
本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。