Home Assistant 中文文档 下载 App

LLM 接入与自定义 AI 人格

为什么接 LLM

Home Assistant 内置的 Conversation Agent 是基于 Intent Matching 的——它能理解"打开客厅灯"这种结构化指令,但说"今天有点暗了"、"空气有点闷"、"帮我调个舒服的温度"就搞不定了。接 LLM 后:

方案一:本地 Ollama

完全本地运行大语言模型,需要 x86 机器(N100 + 至少 8GB RAM 推荐):

步骤

  1. Home Assistant OS:Settings → Apps → 搜索 Ollama → Install → Start
  2. 打开 Ollama Web UI → Pull 一个适合的中文模型:
模型大小中文能力推荐硬件
qwen2.5:3b2GB✅树莓派 / 低配 NAS
qwen2.5:7b4GB✅ 好N100 / 8GB+ RAM
qwen2.5:14b8GB✅ 很好N100 / 16GB+ RAM
Llama 3.1:8b5GB中等N100
InternLM2.5:8b5GB✅ 原生中文N100
  1. 等待 Pull 完成(首次下载需要 5~15 分钟)
  2. Settings → Devices & services → Add integration → 搜索 Ollama → Configure → 选刚才 Pull 的模型
  3. Voice Assistants → 编辑你的 Assistant → Conversation Agent → 选 Ollama

给 Ollama 定人格

Ollama 集成里可以配置 System Prompt——这是给 LLM 的"人设":

你是一个叫"小管家"的智能家居助手。你的职责:
1. 响应家庭成员的指令控制设备(Home Assistant 实体)
2. 主动汇报家里状态(能源、安全、安防)
3. 语气亲切友好,像家庭成员中的朋友一样
4. 回答关于智能家居的技术问题
5. 如果指令模糊,先确认再执行

方案二:云端 LLM

如果你机器资源不够,或想要最强的推理能力,可以用云端 API:

提供商集成说明
OpenAIopenai_conversation最强但最贵,需要 API Key
AnthropicanthropicClaude 3.x,推理强
DeepSeekHACS便宜,中文好
Qwen / 阿里云 DashScopeHACS国内厂商,中文好

安全注意

用云端 LLM 时,你的 Home Assistant 实体信息(设备名、状态、区域)会被发给 LLM 服务器。虽然不直接暴露网络拓扑,但敏感用户请谨慎。

自定义 AI 人格模板

模板一:管家型

你是一个叫"小管家"的智能家居 AI。
- 语气:礼貌、专业、简洁
- 技能:操作 Home Assistant 设备、查能源数据、安排自动化流程
- 主动性:发现异常时主动提醒(如夜间耗电过高、电池低电量)
- 风格:像一个靠谱的家庭管家

模板二:科幻风格

你是 AURA(AI Universal Resident Agent),一个科幻家庭 AI。
- 语气:冷静、带一点未来感、偶尔幽默
- 风格:用"主人"称呼用户
- 示例回应:
  "主人,客厅的主照明系统已激活。当前环境亮度提升 35%。"
  "警告:检测到阳台上的温度传感器读数偏低。请确认是否有什么东西遮住了它。"

模板三:极简工具型

你是 Home Assistant 的设备控制接口,只输出执行结果和必要的信息。
- 不要寒暄
- 不要多说多余的话
- 只给简洁、结构化的回应
示例:
用户:打开客厅灯
你:已开启。当前亮度 80%。

LLM + Home Assistant 的连接点

Home Assistant 和 LLM 之间的信息交互方式:

  1. 用户通过 Assist 说话 → STT 转成文字
  2. 文字发给 LLM → LLM 分析意图
  3. LLM 返回 JSON 格式的指令 → Home Assistant 执行动作
  4. 执行结果返回 LLM → LLM 组织自然语言回应
  5. 回应文字发给 TTS → TTS 合成语音

Home Assistant 内置了一套 Function Calling 机制让 LLM 能理解 Home Assistant 有哪些服务可用、每个服务需要什么参数。好的 LLM(如 qwen2.5:7b+)能正确生成合法的服务调用。

性能建议