本文关键词:ChatGPT如何接Siri

昨天半夜两点,我盯着手机屏幕发呆。我想让Siri帮我查个天气,顺便用ChatGPT润色一下回复。结果呢?Siri只回了个“正在为您搜索”,然后就没下文了。

这事儿困扰我好久了。很多人问我,ChatGPT如何接Siri?是不是得写代码?是不是得搞什么复杂的服务器?

我干了八年大模型,见过太多人把简单事情搞复杂。今天我不讲那些高大上的架构,就讲怎么在iPhone上,用最笨、最实在的方法,把这两个家伙捏在一起。

先说结论:苹果没开放ChatGPT给Siri直接调用的接口。你想让Siri说“你好,我是GPT”,门都没有。但是,我们可以曲线救国。

我试过三种方法,最后只留下一种最稳的。

第一种,直接调用API。听着很酷,对吧?写个Python脚本,调OpenAI的接口。但问题是,Siri不支持直接运行Python。你得把脚本跑在服务器上,然后让Siri去请求这个服务器。

这太麻烦了。还要搞HTTPS证书,搞域名,搞鉴权。对于普通用户,这简直是噩梦。而且,一旦OpenAI换个接口,你的脚本就废了。

第二种,用快捷指令。这是目前最靠谱的土办法。

具体怎么做?别急,我一步步拆解。

第一步,你需要一个能访问ChatGPT API的渠道。现在OpenAI官方接口在国内不好用,很多人用的是第三方中转站。随便找个稳定的,拿到你的API Key。这个Key就是你的钥匙,别到处乱发。

第二步,打开iPhone上的“快捷指令”App。新建一个快捷指令。

第三步,添加操作。搜索“获取URL内容”。在URL栏里,填入你构造好的API请求链接。

这里有个坑。很多人直接填JSON,结果报错。你得把请求体做成Base64编码,或者用POST请求。我推荐用POST请求,把System Prompt和用户输入一起发出去。

比如,你可以这样构造:

POST https://api.example.com/v1/chat/completions

Body: { "model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "你好"}] }

第四步,解析返回的JSON。快捷指令有个“获取JSON值”的操作。找到里面的“content”字段,这就是ChatGPT的回答。

第五步,把回答朗读出来。添加“朗读文本”操作,把刚才提取的内容填进去。

第六步,测试。在Siri里说“嘿Siri,打开XXX快捷指令”。

这时候,你会听到Siri开始联网,然后停顿几秒,最后用它的声音把ChatGPT的回答念出来。

这过程大概需要3到5秒。有点慢,但能用。

我有个朋友,他把这个快捷指令做成了桌面小组件。早上醒来,看一眼屏幕,就能听到今天的新闻摘要,全是ChatGPT总结的。

这比直接看网页爽多了。

当然,这方法也有缺点。

一是延迟。毕竟要经过网络传输,还要等大模型生成。

二是费用。API是按Token收费的。如果你天天让Siri陪你聊天,一个月话费得几十块。

三是隐私。你的数据经过了第三方中转站。虽然大多数中转站承诺不存日志,但心里总归有点膈应。

如果你追求极致体验,又想省钱,那就得折腾本地部署。用Mac或者电脑跑一个Ollama,然后在局域网内让快捷指令访问本地接口。

这样数据不出家门,速度也快,还没费用。

但这对硬件有要求。你的Mac得是M1以上芯片,内存至少16G。不然跑大模型会卡成PPT。

我试过,M1 Pro跑7B参数模型,响应速度在1秒以内。配合快捷指令,几乎无感。

所以,ChatGPT如何接Siri?

没有标准答案。

想要简单,就用中转站+快捷指令。

想要隐私和速度,就本地部署。

别信那些说能直接无缝集成的鬼话。苹果封闭,OpenAI封闭,中间隔着万水千山。

我们只能在这些缝隙里,找一条小路走。

这条路有点硌脚,但能走通。

你试试就知道了。别怕麻烦,第一次配置完,后面就一劳永逸了。

下次再有人问你ChatGPT如何接Siri,你就让他去试试快捷指令。

这才是正经人干的事。