Home Assistant 接入本地大模型

📘 教程 2026-08-05 · 更新于 2026-10-29 约 8 分钟阅读

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 的设计是:只有被显式暴露的实体,语音助手才能看到和操作。

  1. 设置 → 语音助手 → 暴露实体,逐个勾选允许控制的设备。
  2. 别一键暴露全部。车库门、门锁、摄像头这类敏感设备默认不暴露。
  3. 给设备起好别名。「客厅主灯」这样的名字比「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.

相关文章
2026-08-02
DSPy教程2026:别再手写提示词,改为编程生成
2026-07-26
创办AI自动化代理公司2026
2026-08-06
AI代码文档:从源码自动生成README和文档
2026-07-23
Hugging Face上的LLM评估指标:开源排行榜
2026-07-22
2026年11款最佳免费ElevenLabs替代品
2026-07-26
自托管AI + n8n工作流自动化

本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。

💬 评论 (0)

暂无评论,来说两句吧~

登录后评论