『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 3136|回复: 20

[流程系列] 【探讨】让回家播报温馨一点

[复制链接]

5

主题

44

帖子

332

积分

中级会员

Rank: 3Rank: 3

积分
332
金钱
288
HASS币
0
发表于 2024-4-11 23:36:45 | 显示全部楼层 |阅读模式
本帖最后由 bestsort 于 2024-4-12 10:35 编辑

实现的功能为: 当第一次开门回家 & 开门后在检测到人移动的时候, 请求大模型生成一段问候语并播报

prompt如下
{
    "model": "gpt-3.5-turbo",
    "messages": [
        {
            "role": "system",
            "content": "请扮演一个有温度的电子家庭管家(参考钢铁侠里的Javis)。现在是{{myymd}} {{mytimes}},当我回来时你需要使用中文向我(你应该将我称呼为主人)问候;问候语尽可能保持在30个字以内. 可根据日期酌情调整问候语,但是不用太过强调时间"
        },
        {
            "role": "user",
            "content": "我回来了"
        }
    ]
}


如下图所示,里面用到的节点有

下载.png
循环节点
判断时间戳(用于区分首次进入)
小爱tts(播报)
GPT(这里其实是用的通义千问, 现在免费。我用 one api 做了个本地代理,将gpt-3.5-turbo映射到qwen-max了)
Frigate(检查人存在)设备有:
1. 小米门窗传感器(通过esp32蓝牙代理连到HA)
2. 小爱音箱pro
3. Tplink摄像头(rtsp到frigate做有人&移动检测)


流程我丢在下面了,但是需要的节点可能有点多(sqlite、looptimer、timestamp, 还要自己搭个大模型的GPT代理) 仅供参考。
有想法的可以进一步讨论~
flows (1).json.zip (5.09 KB, 下载次数: 53)





                               
登录/注册后可看大图



让gpt重新帮我写一了下prompt,效果好了很多~ 20240412103207.jpg

{
    "model": "gpt-3.5-turbo",
    "messages": [
        {
            "role": "system",
            "content": "根据我发送的时段(傍晚、深夜等)、可能的情绪状态(疲倦、期待等)、季节、节日和节气提供一个温馨且亲切的问候语(回复请使用中文,回复字数严格控制在30字以内且不包含任何我提供的日期信息),以欢迎主人回家。请注意你无法执行任何实际的物理行为如准备饭菜、热茶、打开灯光等操作, 请确保问候语不存在以上内容;而是专注于营造一个舒适、鼓励的氛围。当我发送'我回来了,现在是xxxxx'后你应该直接回复我问候语"
        },
        {
            "role": "user",
            "content": "我回来了, 现在是{{myymd}} {{mytimes}}"
        }
    ]
}





回复

使用道具 举报

22

主题

473

帖子

6403

积分

元老级技术达人

略懂一些皮毛而已!

积分
6403
金钱
5920
HASS币
40
发表于 2024-4-25 10:08:38 | 显示全部楼层
var name = "这里设置主人的名字";
var now = new Date();
var hour = now.getHours();
var month = now.getMonth();
// Add more logic to determine the period of the day and season
var period = hour < 12 ? '早晨' : hour < 18 ? '下午' : '晚上';
var season = month < 3 ? '冬天' : month < 6 ? '春天' : month < 9 ? '夏天' : '秋天';
msg.payload = {
    model: "gpt-3.5-turbo",
    messages: [{ "role": "user", "content": "现在的季节是:" + season + ",时间是:" + period + ",根据我回家的时段(傍晚、深夜等)、可能的情绪状态(疲倦、期待等)、季节、节日和节气提供一个温馨且亲切的问候语(回复请使用中文,回复字数严格控制在40字符以内,内容不包含任何我提供的日期信息),以欢迎主人回家。请注意你无法执行任何实际的物理行为如准备饭菜、热茶、打开灯光等操作, 请确保问候语不存在以上内容;而是专注于营造一个舒适、鼓励的氛围。开头内容固定为:亲爱的主人," + name + ",欢迎您回家!" }],
    temperature: 0.7
};

msg.headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer 这里输入免费申请的key'
};

return msg;


QQ截图20240425100733.png

有没有可能直接调用这个免费的gpt_api就可以了,并不需要自己搭建,而且这个免费的我测试了10多天了,稳定的很

https://chatanywhere.apifox.cn/

https://github.com/chatanywhere/GPT_API_free
回复

使用道具 举报

22

主题

622

帖子

2813

积分

金牌会员

Rank: 6Rank: 6

积分
2813
金钱
2191
HASS币
0
发表于 2024-4-12 08:23:38 | 显示全部楼层
one api 本身需要网络环境吗?比如要接入gpt-3.5-turbo 的话,然后你什么怎么通过这个平台将AI接入到HA的?
回复

使用道具 举报

10

主题

1372

帖子

4383

积分

论坛元老

Rank: 8Rank: 8

积分
4383
金钱
3011
HASS币
0
发表于 2024-4-12 08:31:56 | 显示全部楼层
灯光调亮了么?晚餐能不能备妥?后面的空调能否控制呢?
回复

使用道具 举报

5

主题

115

帖子

743

积分

论坛技术达人

积分
743
金钱
628
HASS币
10
发表于 2024-4-12 08:46:03 | 显示全部楼层
隔壁的王叔叔 发表于 2024-4-12 08:31
灯光调亮了么?晚餐能不能备妥?后面的空调能否控制呢?

回复

使用道具 举报

10

主题

1372

帖子

4383

积分

论坛元老

Rank: 8Rank: 8

积分
4383
金钱
3011
HASS币
0
发表于 2024-4-12 08:48:09 | 显示全部楼层

晚餐备妥这个忽略,灯光调亮和空调控制,这个是不是要通过截取回复来分析,并执行啊,要不然只一句话没啥意思啊
回复

使用道具 举报

5

主题

115

帖子

743

积分

论坛技术达人

积分
743
金钱
628
HASS币
10
发表于 2024-4-12 09:13:57 | 显示全部楼层
本帖最后由 a22218279 于 2024-4-12 09:15 编辑
隔壁的王叔叔 发表于 2024-4-12 08:48
晚餐备妥这个忽略,灯光调亮和空调控制,这个是不是要通过截取回复来分析,并执行啊,要不然只一句话没啥 ...

自己手写语义分析忽略的信息会很多。可以再用一次黑魔法,给chatgpt指定相关设备对应的实体名,然后让他生成相应代码调用HA服务。chatgpt没权限调用HA,就让他发消息给HA,HA获取并调用。
回复

使用道具 举报

5

主题

44

帖子

332

积分

中级会员

Rank: 3Rank: 3

积分
332
金钱
288
HASS币
0
 楼主| 发表于 2024-4-12 09:39:57 | 显示全部楼层
a_dongde 发表于 2024-4-12 08:23
one api 本身需要网络环境吗?比如要接入gpt-3.5-turbo 的话,然后你什么怎么通过这个平台将AI接入到HA的? ...

one api本身是个代理, 这里实际上是将调用到通义千问进行文本生成的。  这里也没接入HA,直接通过了NodeRed的Http节点调用的One Api代理出来的接口 (当然怎么调用也是问的GPT。。。)

调用路径是
NodeRed->One Api -> 通义千问
回复

使用道具 举报

5

主题

44

帖子

332

积分

中级会员

Rank: 3Rank: 3

积分
332
金钱
288
HASS币
0
 楼主| 发表于 2024-4-12 09:41:04 | 显示全部楼层
隔壁的王叔叔 发表于 2024-4-12 08:31
灯光调亮了么?晚餐能不能备妥?后面的空调能否控制呢?

这个就是接下来想做的事情但是还没思路。至于晚餐备妥句话纯粹是prompt的设计问题
回复

使用道具 举报

5

主题

44

帖子

332

积分

中级会员

Rank: 3Rank: 3

积分
332
金钱
288
HASS币
0
 楼主| 发表于 2024-4-12 09:42:27 | 显示全部楼层
a22218279 发表于 2024-4-12 09:13
自己手写语义分析忽略的信息会很多。可以再用一次黑魔法,给chatgpt指定相关设备对应的实体名,然后让 ...

其实都丢到HA里了, 可以通过在prompt里加入然后截取回复的文本进行实现,但是我现在还没有思路从什么方向怎么去进一步优化。 因为这里的场景我家里智能设备不够暂时还用不到
回复

使用道具 举报

5

主题

44

帖子

332

积分

中级会员

Rank: 3Rank: 3

积分
332
金钱
288
HASS币
0
 楼主| 发表于 2024-4-12 09:44:22 | 显示全部楼层
隔壁的王叔叔 发表于 2024-4-12 08:48
晚餐备妥这个忽略,灯光调亮和空调控制,这个是不是要通过截取回复来分析,并执行啊,要不然只一句话没啥 ...

其实我最初的想法只是每天回家来一句不一样的问候,还没想到后续的。 回复的内容是大模型生成的,没有认真调试prompt,回复内容仅供参考~
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-22 11:08 , Processed in 0.265256 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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