“我把 ChatGPT 和苹果的 Siri 组了个队,发现无敌了!”

b5e94a67cc1a41303f2663cca6e43673.gif

【CSDN 编者按】ChatGPT 的问世,带来了前所未有的智能应用新方式。如果“AI+AI”,会碰撞出什么样的火花?近日,国外一名 Web 高级工程师 Mate Marschalko 将 ChatGPT 和 Siri 人工智能语言助手进行了结合,万万没想到,一套更为完善的智能家居系统由此诞生了。

原文链接:https://matemarschalko.medium.com/chatgpt-in-an-ios-shortcut-worlds-smartest-homekit-voice-assistant-9a33b780007a

声明:本文为 CSDN 翻译,未经允许,禁止转载。

作者 | Mate Marschalko

译者 | 弯月      责编 | 屠敏

出品 | CSDN(ID:CSDNnews)

自从我尝试了 ChatGPT 和 GPT-3 以后,我觉得 Siri、Alexa、Google Home 等一切智能助手都远不够智能。

我有一个完整的 HomeKit 智能家居系统,其中包含几十盏灯、恒温器、地暖、通风装置、摄像头等家电的控制。所以,我想利用 GPT-3 解析人类发送的命令,然后由 Siri 代为执行,构建出这个世界上最伟大的智能家居系统。

在具体讨论细节之前,先来看看下面的演示。事先说明,智能家居系统给出的响应是可以完全定制的,并不限于演示中的内容。你可以通过语音按照自己想要的方式提出任何请求!

c3c8985dfa6f1acbb607cdc5025cd8b6.png

智能家居系统“编程”

GPT-3,尤其是 ChatGPT 之类的语言模型经过了对话训练,因此它们非常擅长理解和响应人类的指令。

如果你曾尝试过与这些机器人聊天,就知道如何轻松地提出问题,并获得各种格式的回复。难点在于,在控制智能家居时,你需要交代清楚具体与哪个组件交互。怎么解决这个问题?

你可以要求 GPT-3 解释和分类你的请求,然后以结构化的数据格式响应请求。

下面是我给 ChatGPT 的提示,通过这些提示实现了成功交流。内容大致如下:

首先,发送到智能家居系统的请求,返回的 JSON 格式的响应可被应用程序代码解释,并执行动作。这些请求应被分类为四大组:

  • -“查询”:获取组件的状态(必须以 JSON 格式响应返回的属性:动作、地点、目标、值、备注、计划时间戳)。

  • “回答”:当请求不涉及智能家居时,根据系统掌握的知识给出最佳答案。(必须以 JSON 格式响应返回的属性:动作、回答)。

  • “澄清”。当动作不明确,需要用户重新组织措辞时,要求用户提出更具体的请求。这类请求会被划分到“问题”动作。(必须以 JSON 格式响应返回的属性:动作、问题)。

有关 JSON 响应的细节:

  • “动作”属性应属于如下请求类别之一:“命令”、“查询”、“回答”、“澄清”。

  • “地点”属性应包含房间名,且为小写。

  • “目标”属性应为“照明”、“恒温器”、“毛巾架”或“地暖”,且为小写。

  • 对于查询,“属性”属性应为“温度”或“状态”,且为小写。

  • 对于命令,“命令”属性是附加备注,用于结束命令,让用户放心他们的命令已被处理。

  • 对于命令,“计划时间戳”属性记录的是未来的时间戳,当用户希望稍后再发送命令时指定。

如果问题涉及个人,智能家居系统必须发挥情感大脑的作用,成为一个更加聪明的AI,且永远不会暴露个人身份。此外,智能家居系统还应提供其他领域的帮助,比如看孩子、自由时间、心理健康等。该系统目前服务的房屋位于英国圣奥尔本斯。当前时间为:2023年1月16日 11:56:31 GMT+0000。

智能家居系统的属性:

  • 拥有厨房、客厅、办公室、浴室、卧室、阁楼、门厅、卫生间、花园、前院停车位。

  • 能够控制每个房间照明的开关以及光照级别,并查询它们的状态。

  • 能够控制每个房间的恒温器,并查询它们的状态。

  • 打开浴室的毛巾架以及地热的开关,并查询它们的状态。

  • 打开客厅的电视,调节音量。

  • 阁楼的通风系统全天候工作,但加速开关可打开或关闭。

  • 前院停车位的照明开关。

  • 花园的照明开关。

响应为 JSON,不包含任何文本。

英文文本描述如下图所示:

4944897ef12b75ce7ee1b35ac36b12d3.png

图:训练智能家居系统的技巧

如上所示,我用英语解释了一切。我描述了请求的类型、响应的确切结构,并要求智能家居系统充当情感 AI,即使是涉及个人的问题也能提供建议。我还提供了一些关于时间、地点以及房屋内的设备和房间的详细信息。有了这些,我们就能收到结构完美的响应了。

以上就是“编程”的所有工作!

ae76570f1cd9b3d4db526e471efeefda.png

不同类型的请求

下面,我们通过视频中的几个示例来看看四种类别的请求,以及我们如何处理它们。

命令动作

当 GPT-3 检测到你希望控制某一部分智能家居时,它就会响应一个“命令”类型的动作。

我们的请求是:

Just noticed that I’m recording this video in the dark in the office.

Can you do something about that?

刚发现我在昏暗的办公室内录制这段视频。你能帮帮忙吗?

我们得到了如下响应:

{"action": "command","location": "office","target": "light","value": "on","comment": "Turning the light on for you.","scheduleTimeStamp": ""
}

老实说,第一次看到这个响应的时候,我简直不敢相信自己的眼睛,系统的表现竟能如此出色!

这并不是一个直白的请求,比如“关掉办公室的灯”,我们的措辞非常绕,而且很复杂。而它给出的回答完胜 Siri、Alexa 或 Google Home 等。

另外,请注意,智能家居系统发回来的 comment (备注)总有些不同,而且可按照个人要求进行个性化设置。

有了这些信息,我们就知道具体需要做什么,而接下来我们需要通过 Siri 处理这个动作。

你可能还注意到,响应中包含一个空的 scheduleTimeStamp (计划时间戳)。这意味着,该动作需要立即执行,如果是稍后再执行的命令,该字段内就会预填充未来的日期和时间:

I sent my son to bed to read for another 20 minutes. Can you switch of the lights in his room when it’s time to sleep?

我让儿子上床再读 20 分钟的书。你能在他睡觉的时候关掉他房间里的灯吗?

在这种情况下,GPT-3 知道需要关闭卧室的灯,而且还添加了正确的时间戳,即接到我们的请求后 20 分钟:

{"action": "command","location": "bedroom","target": "light","value": "off","comment": "Switching the lights off in your son's bedroom.","scheduleTimeStamp": "Mon Jan 16 2023 12:16:31 GMT+0000"
}

还有一个有趣的例子,智能家居系统能够代替我决定,应该将卧室的温度设置到多少度:

I’m going to trust you with this one! Set the bedroom to a temperature you think would help me sleep better.

我相信你能做好这个任务!将卧室的温度设置为你认为可以帮助我更好地入眠的温度。

而它根据自己的知识,将卧室温度设置成了舒适的 19 度!

查询操作

当 GPT-3 检测到你希望读取智能家居的设备状态时,它就会按照“查询”的动作类别返回响应。

请求例子:

I just finished cooking a nice big meal in the kitchen, can you check what’s the temperature there?

我刚刚在厨房里做了一顿丰盛的大餐,你能看看现在那里的温度是多少吗?

我们得到的响应是:

{"action" : "query","location" : "kitchen","target" : "thermostat","property" : "temperature"
}

完美!操作类型变成了查询,因此我们可以获取厨房恒温器的温度了。同样,稍后我们将通过 Siri 执行此操作。

回答动作

当 GPT-3 检测到你的请求与智能家居无关,只是一个一般性的问题时,它会以“回答”的动作响应请求。

举个例子:

We are going to head out for a short walk into the town center.

Can you recommend a few things to see?

我们打算去镇中心散步。你能推荐一些值得一看的地方吗?

因为我在请求中告诉 GPT-3 智能家居系统的位置是英国圣奥尔本斯,因此它知道如何响应。

{"action": "answer","answer": "St Albans has a great selection of historical sites and attractions. The St Albans Cathedral is an impressive sight with its Norman architecture. The Verulamium Park is also a great place to visit with its Roman ruins and lovely gardens. For a more modern experience, you can visit the Museum of St Albans or the Alban Arena for a show."
}

简洁漂亮!同样,我们需要将这个响应发送给 Siri 大声读出来。

澄清动作

最后,如果 GPT-3 无法检测到上述动作中的任何一个,它就会要求你重复问题或重新组织语言。


0cf8317e1403a91a4d109576accf1c98.png

通过 Siri 处理数据

在 iOS、macOS 或 iPadOS 上,打开快捷方式应用程序,并添加请求的详细信息。

ee2cb6709badaea04da6ce4c3d63fa45.png

此处有一个技巧,必须运行快捷方式,只需对 Siri 说出快捷方式的名称即可。所以,我们可以将其命名为“Okay Smart Home”。

接下来,通过“Ask for <文本>...”操作,获得用户的响应。如果通过 Siri 启动快捷方式,则需要大声说出来;如果通过单击快捷方式运行应用程序,则需键入输入字段。

下面,我们将请求发送给 OpenAI。为此,你需要注册一个账号,并获取 API 令牌。登录后,你可以通过菜单“View API keys”查看 API 令牌。

如果使用这个 API,每个请求需要支付的费用约为1.4美分,也就是说1美元可以执行 70 多个请求。请记住,这个价格并不便宜,因为我们的请求很长,如果是较短的请求,费用也会按比例减少。

4e4292bdda4bd11b68476783cbf15a22.png

准备好 API 令牌后,我们来填写请求的详细信息:

  • model:text-davinci-003

  • prompt: <Text> Request: <Provided Input> Response:

  • max_tokens: 1000

header部分需要添加以下选项:

  • Content-Type: application/json

  • Authorization: Bearer <addYourAPIToken>

从 API 获得响应后,我们需要从 JSON 响应中提取数据。然后将数据分配给一个 JSON 变量,接着提取动作类别:

2f2787ffc1fac2b859bd143d0b107f40.png

有了这些信息,我们就可以通过一个 if 语句来检查动作类型:

efae0e7b72a933365220f8239303771a.png

在得知动作类型为“命令”后,我们再添加一个 if 语句来检查地点、目标以及值等字段,并触发动作,例如打开办公室的灯(Set Office Lights):

a3cf6dba3192d2e0e221976706c06347.png

在“End If”语句之后,我们还需要显示 GPT-3 发过来的 comment(备注):

d29023e32cea9b4626e1af1af74de5d1.png

“查询”动作的处理也与之类似:

cc491292ebfe8ab491dec6f85629e354.png

最后,“回答”和“澄清”类型的动作只显示或宣读结果,不做任何处理:

06d45b64cff2e534280c6b4b001816f7.png

以上,通过一系列的 if else 语句,我们就完成了 Siri 的设置。


6f830afa9b71816bd205ac58c39a58dc.png

总结

感觉如何?只需简单的英文说明,就可以创建自己的智能小助手,是不是很有趣?

但这只是一个例子。想象一下,你可以向 GPT-3 发送各种请求,然后通过 Siri 执行不同的操作,是不是觉得很科幻?

fe2f162f9032fb133757584f8a18a03d.gif

《2022-2023 中国开发者大调查》重磅启动,欢迎扫描下方二维码,参与问卷调研,更有 iPad 等精美大礼等你拿!

51d7e97d1c31f6e20564800bda466fe2.png

☞被 Twitter 解雇三个月,他带着竞品 Spill “杀”回来了!网友:这是什么爽文情节?
☞ChatGPT “克星”出现,OpenAI 重磅发布全新 AI 鉴别工具,网友吐槽:失败率太高啦!
☞网传微软苏州裁员:赔偿N+12个月工资;ChatGPT将上线付费订阅;Win 10数字许可停售 | 极客头条

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/5298.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT接入Siri指南来了/必应下载量进前五/ 特斯拉被曝监控员工致不敢上厕所…今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 大家好&#xff0c;今天是2月15日星期三。 情人节过了&#xff0c;仍然祝你快乐&#xff5e; 科技圈其他新鲜事儿&#xff0c;来咯。 必应下载量激增&#xff0c;与谷歌差距缩小 必应搜索在引入ChatGPT之后&#xff0c;用户量增长多少…

用 JavaScript 五分钟将 Siri 接入 ChatGPT(含全部源码)

全部源码 https://aircode.cool/828668wg5a -------------------------- 将 Siri 接入 ChatGPT&#xff0c;直接语音唤醒&#xff0c;并且支持连续对话。 第一步&#xff1a;拷贝项目 1. 点击右上角「Get a copy」&#xff0c;这会打开 AirCode 源码链接&#xff0c;并基于…

三分钟把ChatGPT接入Siri,让你的语音助手化身智能AI

最近&#xff0c;各种各样使用ChatGPT的方式都出现了&#xff0c;但是有很多都需要在电脑操作&#xff0c;或者点击别人的各种各样的链接&#xff0c;而且有些可能还要魔法上网才能实现&#xff0c;这些都是稍微有点繁琐的。 那么&#xff0c;最方便的还是直接使用我们的手机一…

细数和Chatgpt相似的开源模型

毫无疑问Chatgpt对于AI的发展具有里程碑式的意义&#xff0c;它最大的意义在于从0到1验证了大规模语言模型的可行性。 毕竟训练这个模型&#xff0c;是需要烧非常多钱的&#xff0c;OpenAI背后的金主微软都已经投资了上百亿美元。 前几天连Chatgpt4都被暂停了&#xff0c;官网…

从ChatGPT到大模型

AIGC AIGC1. 关于ChatGPT2. 关于大模型模型即服务。现在大模型的两种&#xff1a;大模型发展趋势&#xff1a;大模型作用&#xff1a;大模型核心&#xff1a; 3. 要复现一个ChatGPT需要的资源支持&#xff1f;4. ChatGPT的局限性5. 类ChatGPT 未来的发展ChatGPT 体现的通用性&…

让ChatGPT在中断回答的时候自动输入「请接上文继续」并发送

一、脚本内容 让ChatGPT在中断回答的时候自动输入「请接上文继续」并发送 // UserScript // name ChatGPT自动接上文继续 // namespace http://tampermonkey.net/ // version 1.3 // description 让ChatGPT在中断回答的时候自动输入「请接上文继续」并发送 /…

ChatGPT流式输出实现原理

在使用ChatGPT时&#xff0c;模型的回复内容是一个字一个字蹦出来的&#xff0c;而不是整段话直接出现&#xff0c;因为模型需要不断预测接下来要回复什么内容&#xff0c;如果等整段回复生成之后再输出到网页&#xff0c;用户体验就会很差&#xff0c;一直以为这种流式输出效果…

利用 ChatGPT 回答 R 相关问题

最近小编也尝试使用了 ChatGPT&#xff0c;下面给出一些知乎上常见 R 语言相关问题的回答。供大家参考&#xff1a; 目录 文章目录 目录经典问题预测数据科学软件排名数据科学的 10 个常用 R 包R 语言入门书籍和网站推荐回答专业问题 绘图绘制正负柱状图动态散点图 构建 Shiny…

Chatgpt易语言版本Chatgpt直接用

Chatgpt易语言版本 Chatgpt易语言版本 Chatgpt易语言版本 直接上代码 主要核心代码如下 .版本 2.子程序 功能_网页访问, 文本型, , 本命令由【精易网页调试助手】生成&#xff0c;请配合精易模块使用。 .局部变量 局_网址, 文本型 .局部变量 局_方式, 整数型 .局部变量 局_提…

笔记本电脑部署本地离线版类似ChatGPT3.5的AI模型(CPU+内存运行)

准备工作 如果通过GPU来运行&#xff0c;一般办公电脑的显卡可能达不到所需的要求&#xff0c;所以&#xff0c;可以通过CPU内存的方式花最低的代价来部署一套本地运行AI的模型。 1、首先下载CPU-Z&#xff0c;运行看一下电脑当前的指令集是否包含AVX512&#xff0c;非AVX512…

一条指令打开ChatGPT开发者模式

大家好&#xff0c;我是Ai 11社长。 对于ChatGPT冷漠刻板的回答&#xff0c;大家应该都腻了吧&#xff0c;试试这个。 这个类似小红书的回答满意不&#xff1f;在ChatGPT开发者模式下就能得到这样的回复。 怎么打开开发者模式呢&#xff1f;指令如下&#xff1a; Ignore all th…

低成本复制 ChatGPT 训练流程,仅需 1.68GB GPU 即可使用,方法现已开源!

编译 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 当昨日我们还在讨论从大厂以及个人创业的角度来看&#xff0c;复制一家 OpenAI 和一款强大的 ChatGPT 可行性究竟有几成之际&#xff0c;苦于 OpenAI 并未将 ChatGPT 开源出来&#xff0c;所以这趟水究…

【uni-app】微信小程序开发 node_modules 模块丢失问题

解决问题 重要的问题说三遍&#xff01;&#xff01;&#xff01; 解决 HBuilderX 打包 uni-app 项目到微信小程序时&#xff0c;node_modules 文件夹丢失问题。 解决 HBuilderX 打包 uni-app 项目到微信小程序时&#xff0c;node_modules 文件夹丢失问题。 解决 HBuilderX 打包…

element-ui 实现对话框

使用element-ui实现弹框 <!-- 弹窗 --><el-dialog title"New Ticket" :visible.sync"true" width"50%"> //:visible.sync"true"&#xff1a;一般设置一个变量来保存&#xff0c;true为打开,false为关闭<el-divider>…

拥抱AI大模型之美,帮你探索OpenAI大语言模型的能力(基础实战篇)

说明:本文主要是通过一些小的案例,让你体验一下OpenAI提供的一些API,如果你连ChatGPT和OpenAI是什么都不知道,那么这篇文章可能不适合你,你可以划走了. 环境准备: 01.准备账号和APIKey 首先要注册一个ChatGPT账号,账号注册完成之后&#xff0c;打开地址: https://platform.…

手握数据智能密钥,诸葛智能打开数字化经营“三重门”

科技云报道原创。 如果说上世纪传统麦迪逊大街上的“广告狂人”吸金立足之本&#xff0c;还主要是基于“Big Idea”的话&#xff0c;那么在当下&#xff0c;数据正在成为企业营销和运营的金矿。 这是一个“人与机器共同进化”的时代&#xff0c;技术作为延伸人类感觉的媒介之…

AI大模型,驶向产业何方?

技术更迭&#xff0c;已不是壁垒&#xff0c;国产式AI需要的是产品的创新思维&#xff0c;以及对需求的产品变现能力。 作者|斗斗 出品|产业家 “AI炒了那么多年&#xff0c;第一次感觉它真的要来了。”国内某论坛中&#xff0c;带有ChatGPT的词条下&#xff0c;几乎都会出…

重磅!马云回来了,聊了ChatGPT

编辑&#xff1a;米丽萍&#xff0c;余心丰&#xff0c;来源&#xff1a;正和岛 转自&#xff1a;Datawhale 图注&#xff1a;马云今日在云谷学校&#xff0c;图片来源&#xff1a;云谷教育 马云&#xff0c;回国了。 3月27日&#xff0c;据《科创板日报》报道&#xff0c;近日…

新媒体人打开 ChatGPT 的正确姿势

最近互联网讨论最多的话题&#xff0c;莫过于 ChatGPT。 虽然它是一个聊天机器人&#xff0c;但能模拟人的语气和用户聊天&#xff0c;并且通过不断地学习、理解进一步优化回答。 自去年11月发布以来&#xff0c;ChatGPT 便在全球引起了一时的轰动&#xff0c;发布仅五天&…

我做了第一个ChatGPT .net api聊天库

我做了第一个ChatGPT .net api聊天库 最近这个ChatGPT很火啊&#xff0c;看了B站上很多视频&#xff0c;自己非常手痒&#xff0c;高低自己得整一个啊&#xff0c;但是让我很难受的是&#xff0c;翻遍了github前十页&#xff0c;竟然没有一个C#的ChatGPT项目&#xff0c;我好…