原文链接:https://forum.laf.run/d/79/17

众所周知,Siri 是一个智 Z!那么如果能接入大火的 chatGPT,是不是就会从智 Z 变成人工智能?!

众所周知,Laf 是一个集函数、数据库、存储为一体的云开发平台,可以随时随地发布上线代码!那么如果能使用 Laf 来实现将 Siri 接入 ChatGPT,是不是只需要写一个云函数就完事,而无需关心部署、运维等一切与业务无关的糟心事?!

话不多说马上开始!

接入步骤

创建并发布云函数

首先需要注册登录 Laf 海外节点,然后新建云函数,我这里命名为 siri

替换下方代码:

import cloud from '@lafjs/cloud'

export async function main(ctx: FunctionContext) {
const { ChatGPTAPI } = await import('chatgpt')
const data = ctx.body // 这里需要把 api 对象放入 cloud.shared 不然无法追踪上下文
let api = cloud.shared.get('api')
if (!api) {
api = new ChatGPTAPI({ apiKey: cloud.env.CHAT_GPT_API_KEY })
cloud.shared.set('api', api)
} let res
// 这里前端如果传过来 parentMessageId 则代表需要追踪上下文
if (!data.parentMessageId) {
res = await api.sendMessage(data.message)
} else {
res = await api.sendMessage(data.message, { parentMessageId: data.parentMessageId })
}
return res
}

新建环境变量,把你的 ChatGPT 的 key 填进去:

环境变量的 NAME 填 CHAT_GPT_API_KEY,等待应用重启。

点击发布并获取链接:

iPhone 安装快捷指令

Safari 打开链接:https://www.icloud.com/shortcuts/cfcaca46d61b41c5a2b3b5bab1e2ec98

填入刚刚复制的链接,点击添加快捷指令即可。

如何使用

呼出指令:嘿!Siri 同学

等待 Siri 回复 “主人你好!” 后即可向 ChatGPT 提问,并用 Siri 语音回答。

使用 Laf 平台,可以轻松地将 Siri 接入 ChatGPT API,让 Siri 变身为 AI 聊天助手。只需要使用 Laf 编写一个简单的云函数即可。太快了,果然是 3 分钟发布上线 ChatGPT 应用!

最终,你就可以通过和 Siri 语音交互来获取答案和完成任务,让 Siri 变得更加智能、更加贴近生活。而这一切只需要一个快捷指令和 API key 就可以做到了。

小技巧

如果需要修改呼出指令,请修改快捷指令名称,建议以 Siri 开头。

1 分钟给 Siri 升个级!从智Z变身 ChatSiri!的更多相关文章

  1. win7系统升家庭版级为旗舰版的方法

    在使用的便利性上,两者没有太大差别,不过有些高级功能是家庭版所没有的,所以我们很多人都希望升级为旗舰版,那么我们需要重新安装系统吗?显然没有这么麻烦,我们只需要简单的几个步骤即可.   步骤/方法   ...

  2. 基于Redis构建10万+终端级的高性能部标JT808协议的Gps网关服务器(转)

    原文地址:http://www.jt808.com/?p=1282 在开发一个大规模的部标GPS监控平台的时候,就算我们花费再多的时间设计和规划,我们也并不能准确的预测出自己未来的车载终端接入量有多大 ...

  3. 双系统升win11(grub启动问题修复与讲解)?!?

    起 最近win11不是出来了吗.(着急修复的可以直接跳到最后一步) 于是我就突发奇想给我半年没进去的windows升个级........ 于是我找到了我win11的升级包(从我一个同学哪儿) 工具都集 ...

  4. HTTP超文本传输协议-HTTP/1.1中文版

    摘要 超文本传输协议(HTTP)是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议.它是一种通用的,不分状态(stateless)的协议,除了诸如名称服务和分布对象管理系统之类的超文本用途外 ...

  5. 一位资深开发的个人经历 【转自百度贴吧 java吧 原标题 4年java 3年产品 现在又开始做android了】

    楼主2007年从一家天津的三流大学毕业.毕业前报了一个职位培训,毕业后可以推荐工作.因为推荐的公司都是北京的,所以就来北京了. 找了一个月工作,没有找到要我的,就在出租屋里宅了起来,打着考研的旗号,又 ...

  6. 2015年校园招聘12家IT公司面试体验

    背景 2015年注定是一个不平凡的年头,作为一个应届毕业生,我也算是经历了工作上的大起大落.下面我先简单讲述一下自己的遭遇,然后根据自己亲身的面试经历,从一个学生的角度去谈谈自己对面试过的公司的一些看 ...

  7. 聊聊阿里社招面试,谈谈“野生”Java程序员学习的道路

    引言 很尴尬的是,这个类型的文章其实之前笔者就写过,原文章里,笔者自称LZ(也就是楼主,有人说是老子的简写,笔者只想说,这位同学你站出来,保证不打死你,-_-),原文章名称叫做<回答阿里社招面试 ...

  8. 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记》[转]

    转载地址:http://bbs.chinaunix.net/archiver/tid-1823500.html 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 ...

  9. win10 uwp 商业游戏 1.1.5

    本文是在win10 uwp 商业游戏 基础上继续开发,添加一些无聊的游戏 因为在发布几个月,下载量很少,小伙伴说游戏就玩不到几分钟就不想玩,于是我就想加入其他游戏 下面我来告诉大家如何在游戏中添加多个 ...

  10. 2019-5-21-win10-uwp-商业游戏-1.1.5

    title author date CreateTime categories win10 uwp 商业游戏 1.1.5 lindexi 2019-05-21 11:38:20 +0800 2018- ...

随机推荐

  1. GDB 调试 - 正确地加载调试符号文件

    一.开发流程 1. 编译可执行文件 1 #include <stdio.h> 2 #include <unistd.h> 3 4 void test() 5 { 6 char ...

  2. css scoped和moudle

    scoped css 官方文档 缺点 一.如果用户在别处定义了相同的类名,也许还是会影响到组件的样式. 二.根据css样式优先级的特性,scoped这种处理会造成每个样式的权重加重了: 即理论上我们要 ...

  3. js 遍历对象属性

    function* objectEntries(obj) { let propKeys = Reflect.ownKeys(obj); for (let propKey of propKeys) { ...

  4. RAID 磁盘阵列 RAID0,RAID1,RAID5,RAID10 软RAID创建以及数据恢复

     软raid 做 raid 0   raid 1 raid 5  冗余备份以及数据恢复测试 如果 raid1 磁盘中有一块磁盘损坏,sdi1磁盘会补充上去  RAID 10 创建和使用 1.进行格式话 ...

  5. 银行对账单PDF一页拆分多页

    一个页拆分多个页,按照流水 String bank = "{\n" + "\t\"bank\" : [\n" + "\t\t{\n ...

  6. mysqld_safe Directory '/tmp/mysql' for UNIX socket file don't exists.

    报错版本:mysql-5.7.35 1.报错完整提示信息: [root@localhost bin]# 2022-11-15T04:04:43.122905Z mysqld_safe Logging ...

  7. Swagger UI教程 API 文档神器 搭配Node使用 web api 接口文档 (转)

    http://www.68idc.cn/help/makewebs/qitaasks/20160621620667.html 两种方案 一.Swagger 配置 web Api 接口文档美化 二.通过 ...

  8. win10 python + selenium 环境搭建

    一.安装python3 1.下载地址: https://www.python.org/downloads/windows/ 直接选择最新版,下拉 file列表中,选择win10版 64位  Windo ...

  9. mysql替换空格制表符换行

    update ztbdb_pro set pro=REPLACE(pro,CHAR(10),''); update ztbdb_pro set pro=REPLACE(pro,CHAR(13),'') ...

  10. LoadRunner——创建场景及运行场景(三)

    1. 创建场景 场景:用户并发访问的策略,包含用户数.加载用户的时间等 启动第二个组件 : 控制台 (controller) 方式1: 开始->所有程序->HPLoadRunner-> ...