请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
查看: 675|回复: 12

[论坛活动] AI语音-应用-打造更懂你的天气播报

[复制链接]

15

主题

670

回帖

3567

积分

论坛元老

HomeAssistant

积分
3567
金钱
2877
HASS币
20
发表于 2025-5-8 16:04:14 | 显示全部楼层 |阅读模式
本帖最后由 DDDear 于 2025-5-8 16:06 编辑

天气中两天的温差在 3-5摄氏度 时,人体会明显感觉到冷热变化。具体感知因个人体质和环境条件而异,但这个范围是一个普遍适用的参考标准。
目前应用的天气类交互中,少有包含两日温差的预报,简单的需求就是晚上知道明天的天气和比今天冷还是暖。
所以和大家分享一个在 Home Assistant 中利用 AI 功能,打造更智能、更个性化天气预报的方法。通过合理的提示词(Prompt)设计和指令,我们可以让 AI 不仅仅是简单播报数字,而是能提供更贴心、更人性化的天气信息。
效果:
预报.png
提示词设计:
核心在于如何构建一个清晰的提示词,让 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-配置里面修改
      提示词.png


  • 清晰地指定 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 应该能够理解我们的意图,并基于所提供的数据,生成类似如下的回复(具体数值会根据您的实际天气数据而变化):
  
  测试时的天气状况
   天气.png
  生成效果
  
预报.png
重要提示与可能遇到的问题:
  • AI 的理解能力: 测试用的gpt-4.1-mini,不同的 AI 模型对自然语言的理解程度不同。如果您的 AI 没有完全按照预期回复,可能需要调整指令的措辞,使其更明确、更易于 AI 理解。例如,可以尝试将一个复杂的长指令拆分成几个更短、更具体的指令。
  • 数据准确性: AI 的回复质量高度依赖于输入数据的准确性。请确保您的 Home Assistant 天气实体能够正常获取并更新天气信息。
  • 实体 ID 检查: 务必仔细检查提示词中的实体 ID 是否与您系统中的完全一致,任何小差错都可能导致 AI 无法获取数据。
  • AI 服务限制: 某些 AI 服务可能有调用频率或复杂度的限制,如果遇到问题,可以查阅您所使用的 AI 服务的相关文档。


总结与分享:
通过这种方式,我们可以让 Home Assistant 中的 AI 不再是冰冷的机器,而是能提供更贴心服务的智能助手。希望这个简单的教程能帮助大家更好地利用 AI 功能,提升智能家居的体验。
欢迎大家尝试,并在评论区分享您的成果或遇到的问题,我们一起交流学习!
部分文章基于Gemini生成



回复

使用道具 举报

76

主题

575

回帖

2815

积分

金牌会员

积分
2815
金钱
2159
HASS币
0
发表于 2025-5-8 17:16:55 | 显示全部楼层
OpenAI Conversation用的是内置的还是三方,4.1是中转的吗
回复

使用道具 举报

15

主题

670

回帖

3567

积分

论坛元老

HomeAssistant

积分
3567
金钱
2877
HASS币
20
 楼主| 发表于 2025-5-9 08:15:35 | 显示全部楼层
lichao622 发表于 2025-5-8 17:16
OpenAI Conversation用的是内置的还是三方,4.1是中转的吗

目前版本用Extended OpenAI Conversation或者大佬的这个https://bbs.hassbian.com/thread-29209-1-1.html官改版都可以,4.1用的github免费的https://github.com/marketplace/models
回复

使用道具 举报

76

主题

575

回帖

2815

积分

金牌会员

积分
2815
金钱
2159
HASS币
0
发表于 2025-5-9 10:31:26 | 显示全部楼层
有个更好用的你可以试试michelle-avery/custom-conversation。github免费的4.1支持工具调用吗?有限制吗
回复

使用道具 举报

15

主题

670

回帖

3567

积分

论坛元老

HomeAssistant

积分
3567
金钱
2877
HASS币
20
 楼主| 发表于 2025-5-9 11:14:12 | 显示全部楼层
lichao622 发表于 2025-5-9 10:31
有个更好用的你可以试试michelle-avery/custom-conversation。github免费的4.1支持工具调用吗?有限制吗 ...

感谢分享,我试试这个集成,免费有限制的,可以点进去看看有说明,不过ha完全够用了
回复

使用道具 举报

76

主题

575

回帖

2815

积分

金牌会员

积分
2815
金钱
2159
HASS币
0
发表于 2025-5-9 11:27:09 | 显示全部楼层
DDDear 发表于 2025-5-9 11:14
感谢分享,我试试这个集成,免费有限制的,可以点进去看看有说明,不过ha完全够用了 ...

好的。我目前用的这个集成还不错。另外,再请问下,github 的话,直接创建免费的key就行吧(generate new token?,Models权限要选read- only吗。base- URL的网址是哪个。
回复

使用道具 举报

15

主题

670

回帖

3567

积分

论坛元老

HomeAssistant

积分
3567
金钱
2877
HASS币
20
 楼主| 发表于 2025-5-9 11:34:21 | 显示全部楼层
本帖最后由 DDDear 于 2025-5-12 15:44 编辑
lichao622 发表于 2025-5-9 11:27
好的。我目前用的这个集成还不错。另外,再请问下,github 的话,直接创建免费的key就行吧(generate new ...

接口https://models.inference.ai.azure.com
key我用的github_pat_xxx格式的,生成的时候默认选项,你生成后,可以先用其他的三方客户端试一下
回复

使用道具 举报

76

主题

575

回帖

2815

积分

金牌会员

积分
2815
金钱
2159
HASS币
0
发表于 2025-5-9 11:39:12 | 显示全部楼层
DDDear 发表于 2025-5-9 11:34
接口https://models.inference.ai.azure.com
key我用的github_pat_xxx格式的,生成的时候默认选项,你生 ...

好的,我也来试试
回复

使用道具 举报

15

主题

670

回帖

3567

积分

论坛元老

HomeAssistant

积分
3567
金钱
2877
HASS币
20
 楼主| 发表于 2025-5-9 11:49:28 | 显示全部楼层
lichao622 发表于 2025-5-9 11:39
好的,我也来试试

出错的话用https://models.inference.ai.azure.com/chat/completions,刚才我试了custom-conversation需要用这个
回复

使用道具 举报

76

主题

575

回帖

2815

积分

金牌会员

积分
2815
金钱
2159
HASS币
0
发表于 2025-5-9 11:56:27 | 显示全部楼层
DDDear 发表于 2025-5-9 11:49
出错的话用https://models.inference.ai.azure.com/chat/completions,刚才我试了custom-conversation需 ...

是吧,我说怎么返回错误。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-5-19 00:36 , Processed in 0.120827 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表