『瀚思彼岸』» 智能家居技术论坛
标题: AI语音-应用-打造更懂你的天气播报 [打印本页]
作者: DDDear 时间: 2025-5-8 16:04
标题: AI语音-应用-打造更懂你的天气播报
本帖最后由 DDDear 于 2025-5-8 16:06 编辑
天气中两天的温差在 3-5摄氏度 时,人体会明显感觉到冷热变化。具体感知因个人体质和环境条件而异,但这个范围是一个普遍适用的参考标准。
目前应用的天气类交互中,少有包含两日温差的预报,简单的需求就是晚上知道明天的天气和比今天冷还是暖。所以和大家分享一个在 Home Assistant 中利用 AI 功能,打造更智能、更个性化天气预报的方法。通过合理的提示词(Prompt)设计和指令,我们可以让 AI 不仅仅是简单播报数字,而是能提供更贴心、更人性化的天气信息。
效果:
[attach]69622[/attach]
提示词设计:
核心在于如何构建一个清晰的提示词,让 AI 明白我们希望它处理哪些信息以及如何处理。
提供必要的天气数据实体:
我们需要在提示词中嵌入 Home Assistant 的天气实体信息,确保 AI 能够获取到实时、准确的数据。以下是我使用的提示词结构,您可以根据自己的实体 ID 进行修改,目前用的彩云天气,如果不是彩云天气,对应的实体属性也需要修改:
- ### 今日气温:
- ```yaml
- 最低气温: {{states['weather.wo_de_jia_2'].attributes.daily_forecast[0].native_templow}}
- 最高气温: {{states['weather.wo_de_jia_2'].attributes.daily_forecast[0].native_temperature}}
- ```
- ### 明日天气:
- ```yaml
- 状况: {{states['weather.wo_de_jia_2'].attributes.daily_forecast[1].condition_cn}}
- 最低气温: {{states['weather.wo_de_jia_2'].attributes.daily_forecast[1].native_templow}}
- 最高气温: {{states['weather.wo_de_jia_2'].attributes.daily_forecast[1].native_temperature}}
- 预报:
- 明日天气{{states['weather.wo_de_jia_2'].attributes.daily_forecast[1].condition_cn}},气温{{states['weather.wo_de_jia_2'].attributes.daily_forecast[1].native_templow}}℃-{{states['weather.wo_de_jia_2'].attributes.daily_forecast[1].native_temperature}}℃
- ```
复制代码
weather.wo_de_jia_2 是我的天气实体 ID,请替换为您自己的。
daily_forecast[0] 代表今日预报,daily_forecast[1] 代表明日预报。
native_templow 是最低温,native_temperature 是最高温,condition_cn 是中文天气状况。
在OpenAI Conversation-配置里面修改
[attach]69621[/attach]
清晰地指定 AI 的任务(对话指令):
在向 AI 发出请求时,需要明确告知它我们期望的输出格式和内容。例如,我使用的指令是:
“一句话精简明日的天气预报、明天比今天冷还是暖,升温或降温多少度和适度的关心。”, 建立了一个自动化在每天晚上九点的时候运行,同时基于edge_tts通过chime_tts播报出来。
- <font face="微软雅黑">alias: 明天天气预报
- description: ""
- triggers:
- - trigger: time
- at: "21:00:00"
- conditions: []
- actions:
- - variables:
- response: ""
- - action: conversation.process
- metadata: {}
- data:
- text: 一句话精简明日的天气预报、明天比今天冷还是暖,升温或降温多少度和适度的关心。
- agent_id: conversation.newapi_2
- response_variable: response
- - action: notify.wework
- metadata: {}
- data:
- message: "{{ response.response.speech.plain.speech }}"
- - metadata: {}
- data:
- chime_path: chord
- offset: 450
- final_delay: 0
- tts_speed: 100
- tts_pitch: 0
- volume_level: 0.6
- tts_platform: edge_tts
- message: "{{response.response.speech.plain.speech}}"
- target:
- entity_id: media_player.rong_yao_chang_wan_ping_ban_2
- action: chime_tts.say
- mode: single
- </font>
复制代码
预期效果与说明:
当以上提示词和指令正确配置并发送给 AI 后,AI 应该能够理解我们的意图,并基于所提供的数据,生成类似如下的回复(具体数值会根据您的实际天气数据而变化):
测试时的天气状况
[attach]69623[/attach]
生成效果
[attach]69644[/attach]
重要提示与可能遇到的问题:
AI 的理解能力: 测试用的gpt-4.1-mini,不同的 AI 模型对自然语言的理解程度不同。如果您的 AI 没有完全按照预期回复,可能需要调整指令的措辞,使其更明确、更易于 AI 理解。例如,可以尝试将一个复杂的长指令拆分成几个更短、更具体的指令。
数据准确性: AI 的回复质量高度依赖于输入数据的准确性。请确保您的 Home Assistant 天气实体能够正常获取并更新天气信息。
实体 ID 检查: 务必仔细检查提示词中的实体 ID 是否与您系统中的完全一致,任何小差错都可能导致 AI 无法获取数据。
AI 服务限制: 某些 AI 服务可能有调用频率或复杂度的限制,如果遇到问题,可以查阅您所使用的 AI 服务的相关文档。
总结与分享:
通过这种方式,我们可以让 Home Assistant 中的 AI 不再是冰冷的机器,而是能提供更贴心服务的智能助手。希望这个简单的教程能帮助大家更好地利用 AI 功能,提升智能家居的体验。
欢迎大家尝试,并在评论区分享您的成果或遇到的问题,我们一起交流学习!
部分文章基于Gemini生成
作者: lichao622 时间: 2025-5-8 17:16
OpenAI Conversation用的是内置的还是三方,4.1是中转的吗
作者: DDDear 时间: 2025-5-9 08:15
目前版本用Extended OpenAI Conversation或者大佬的这个https://bbs.hassbian.com/thread-29209-1-1.html官改版都可以,4.1用的github免费的https://github.com/marketplace/models
作者: lichao622 时间: 2025-5-9 10:31
有个更好用的你可以试试michelle-avery/custom-conversation。github免费的4.1支持工具调用吗?有限制吗
作者: DDDear 时间: 2025-5-9 11:14
感谢分享,我试试这个集成,免费有限制的,可以点进去看看有说明,不过ha完全够用了
作者: lichao622 时间: 2025-5-9 11:27
好的。我目前用的这个集成还不错。另外,再请问下,github 的话,直接创建免费的key就行吧(generate new token?,Models权限要选read- only吗。base- URL的网址是哪个。
作者: DDDear 时间: 2025-5-9 11:34
本帖最后由 DDDear 于 2025-5-12 15:44 编辑
接口https://models.inference.ai.azure.com
key我用的github_pat_xxx格式的,生成的时候默认选项,你生成后,可以先用其他的三方客户端试一下
作者: lichao622 时间: 2025-5-9 11:39
好的,我也来试试
作者: DDDear 时间: 2025-5-9 11:49
出错的话用https://models.inference.ai.azure.com/chat/completions,刚才我试了custom-conversation需要用这个
作者: lichao622 时间: 2025-5-9 11:56
是吧,我说怎么返回错误。
作者: lichao622 时间: 2025-5-9 12:01
还有一个也可以用:https ://github.com/michelle-avery/openai-compatible-conversation 官方推荐的这个,这个基本没有改变原生集成。
作者: lichao622 时间: 2025-5-9 12:04
很奇怪,在chatbox里得用 https ://models.github.ai/inference
作者: lc0888 时间: 2025-5-15 11:41
我也来试试
欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) |
Powered by Discuz! X3.5 |