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

 找回密码
 立即注册
查看: 21954|回复: 124

[技术探讨] 干货:ChatGPT接入Siri,让HomePod/CarPlay智能化

  [复制链接]

5

主题

357

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
金钱
1685
HASS币
60
发表于 2023-6-24 10:23:49 | 显示全部楼层 |阅读模式
本帖最后由 muxiachuixue 于 2023-7-25 19:52 编辑

下面的内容不会配置的,没有proxy的,可以试试这个版本,响应速度会稍微慢一点,好处是国内IP可用,无需账号,不依赖于HA:https://gitee.com/ichuixue/chatGPT
------------------------------------------

2023年7月25日更新:因Poe官方最近频繁更新API以狙击第三方,本项目近期暂停更新,可能更稳定的办法是基于国内代理的OpenAI API重新写一款插件了。

-------正文开始--------

实现效果demo视频:


ChatGPT接入Siri(响应速度已优化)



车机秒变智能:ChatGPT接入苹果CarPlay

一、前言
网络上已有很多把ChatGPT接入智能助手(如Siri、小爱同学)的方案,但或多或少都有一些不足,导致实际使用体验不佳,如:
1. ChatGPT官方免费API只有三个月有效期,收费API需要绑定国外XYK,对国内不友好
2. 目前已有解决方案大部分要等ChatGPT API输出全部文字后,智能助手才开始语音输出,导致交互速度太慢
3. 无法连续对话,问多个问题或追问时,需要反复唤醒智能助手
4. 只能在局域网使用

针对上述痛点,我fork了github上@al-one大佬和@ading2210大佬的代码,并结合苹果快捷指令,推出一套新的将ChatGPT接入Siri的方案。
本方案优点
1. 完全免费,无需ChatGPT账号,只需注册Poe账号(无严格注册限制)
2. API输出第一句话后,Siri便开始输出语音,大大提高了交互速度
3. 支持与Siri连续对话,无需反复唤醒
4. 可在所有苹果设备上使用,如iPhone、HomePod、AppleWatch、Carplay等
4. 如Homeassistant可外网访问,则此方案可在外网调用
本方案缺点:
1. 只支持苹果设备,不支持安卓设备
2. 需要代理
3. 短时间内如频繁调用,Poe账号有被封风险

二、项目说明
1. 项目地址:本项目需要用到@al-one大佬开发的Poe Chat集成和@ading2210大佬开发的Poe API,但因这两部分代码需要进行少量修改,故此处进行了整合,整合后的项目地址见:
这是整合后的项目地址
2. 依赖环境:Homeassistant、Node-Red、Siri Shortcut、Proxy
3. 项目原理:苹果快捷指令负责与用户交互,将用户语音转化为文字传递给HA中的Poe Chat集成,后者调用Poe API并分段、分句输出回答,并通过Node-RED保存至HA服务器,苹果快捷指令轮询HA服务器中存储回答内容的相关文件,并适当处理后以语音输出

三、安装配置方法:
注意:短时间内不要频繁使用,否则可能导致Poe账户被封
1. 在Homeassistant上安装修改后的Poe Chat集成,并按说明录入条目名称、Poe token、代理地址
2. 导入Node-Red流
3. 下载安装苹果快捷指令并配置相关参数:
    HA_address: HA访问地址,如http://HA_IP_ADDRESS:8123
    HA_token: HA长期访问令牌,可在这里获取:http://HA_IP_ADDRESS:8123/profile
    entry_name: 配置Poe Chat集成时录入的条目名称
    bot_name: 机器人名称,默认为chinchilla,即为ChatGPT 3.5
4. 在苹果设备上手动运行一次“对话”快捷指令,同意所有权限。
5. “Hey Siri,对话”,开始与ChatGPT对话。
更多请参考:项目地址

四、后记
目前本方案暂时不支持小爱同学,但是应该也可以按照此思路将ChatGPT接入小爱同学,此贴为抛砖引玉,感兴趣的同学可以基于@al-lone大佬的Poe Chat开发一下小爱同学的Node-Red流










评分

参与人数 8金钱 +74 HASS币 +20 收起 理由
by6et + 2 高手,这是高手!
BobbyCoon + 5 楼主威武,这个我找了好久
Neomou + 2 感谢楼主分享!
jyz_0501 + 20 高手,这是高手!
+ 20 + 20 高手,这是高手!
d4rkblue + 5 大神666!
dscao + 10 感谢楼主分享!
隔壁的王叔叔 + 10 纳尼,还有这种操作?

查看全部评分

回复

使用道具 举报

5

主题

357

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
金钱
1685
HASS币
60
 楼主| 发表于 2023-7-22 17:37:05 | 显示全部楼层
本帖最后由 muxiachuixue 于 2023-7-23 17:28 编辑

写了一个慢速版的快捷指令,优点是稳定性更好,国内可用,配置简单,无需账号,无需HomeAssistant就可以在Apple 设备上使用,缺点是响应会慢一点,Demo视频:


回复

使用道具 举报

42

主题

522

帖子

2945

积分

金牌会员

Rank: 6Rank: 6

积分
2945
金钱
2423
HASS币
10
发表于 2023-6-24 10:30:05 | 显示全部楼层
支持一下
回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24349
金钱
22918
HASS币
290
发表于 2023-6-24 15:21:10 | 显示全部楼层
后者调用Poe API并分段、分句输出回答。

是通过什么方式处理的?官方接口也能这样处理吗?
回复

使用道具 举报

5

主题

357

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
金钱
1685
HASS币
60
 楼主| 发表于 2023-6-24 15:41:04 | 显示全部楼层
dscao 发表于 2023-6-24 15:21
是通过什么方式处理的?官方接口也能这样处理吗?

OpenAI官方接口可以加上stream=True 参数让返回内容以流式的事件输出,而不用等结果全部补全之后再一起输出。Poe Chat集成的代码里面有设置循环,把Poe API输出的每个文字根据标点符号、换行符等断句进行保存,比如“你好,我是ChatGPT。有什么可以帮您”,这句话逐字输出的时候,循环遍历到句号时,就把这句话保存起来,然后继续进入下一句话的循环。
回复

使用道具 举报

0

主题

46

帖子

765

积分

高级会员

Rank: 4

积分
765
金钱
719
HASS币
0
发表于 2023-6-25 11:51:35 | 显示全部楼层
请问这个可以和carplay原生功能结合么,还是仅是语音交互?
回复

使用道具 举报

0

主题

21

帖子

112

积分

注册会员

Rank: 2

积分
112
金钱
91
HASS币
0
发表于 2023-6-25 15:25:01 | 显示全部楼层
小爱也可以啊,
回复

使用道具 举报

5

主题

357

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
金钱
1685
HASS币
60
 楼主| 发表于 2023-6-25 16:43:00 | 显示全部楼层
zyf6578 发表于 2023-6-25 11:51
请问这个可以和carplay原生功能结合么,还是仅是语音交互?

和CarPlay原生功能结合具体指的是?这个就是和Siri对话,不过Siri变成ChatGPT了,CarPaly上的Siri和iPhone上的Siri是一样的,只是播放器从手机喇叭换到了车载音箱
回复

使用道具 举报

20

主题

334

帖子

2483

积分

论坛积极会员

积分
2483
金钱
2149
HASS币
0
发表于 2023-6-25 23:19:07 | 显示全部楼层
这个牛逼了,但是大神,我按你的配置,报超时
回复

使用道具 举报

5

主题

357

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
金钱
1685
HASS币
60
 楼主| 发表于 2023-6-26 08:25:59 | 显示全部楼层
BobbyCoon 发表于 2023-6-25 23:19
这个牛逼了,但是大神,我按你的配置,报超时

看看HA的日志,poe集成配置成功没有
回复

使用道具 举报

4

主题

81

帖子

805

积分

高级会员

Rank: 4

积分
805
金钱
724
HASS币
0
发表于 2023-6-26 10:11:30 | 显示全部楼层
代理地址怎么填写啊?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 22:58 , Processed in 0.373111 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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