三分钟把ChatGPT接入Siri,让你的语音助手化身智能AI
最近
,各种各样使用ChatGPT
的方式都出现了,但是有很多都需要在电脑操作,或者点击别人的各种各样的链接,而且有些可能还要魔法上网才能实现,这些都是稍微有点繁琐的。
那么
,最方便的还是直接使用我们的手机一键打开或者语音唤醒就可以实现链接ChatGPT
的,下边我们就来看下怎么实现吧!
1. 效果展示
- 连续对话
- 手动输入
2. 云函数实现
我们仍然使用Laf云平台来实现,如何注册Laf和安装依赖,见上篇文章 《使用Laf云平台,两步将ChatGPT接入微信公众号(含代码)》
- 创建Siri云函数
// siri.js
// 引入必要的库
import cloud from '@lafjs/cloud';
const { v4: uuidv4 } = require('uuid');
const axios = require('axios');// 创建数据库连接
const db = cloud.database();
const ChatTable = db.collection('siri')// 设置key和模型
const OPENAI_KEY = process.env.OPENAI_KEY || "YOUR API-KEY";
const OPENAI_MODEL = process.env.MODEL || "gpt-3.5-turbo";
const MAX_MESSAGES_PER_CHAT = 40;export async function main(params, context) {console.log('siri入参:', params);const { question, cid } = params.body;// 创建一个idconst chatId = cid ? cid : uuidv4();// 保存用户问题await ChatTable.add({ chatId, role: 'user', content: question });// 获取历史信息const chats = await ChatTable.where({ chatId }).orderBy("createdAt", "desc").limit(MAX_MESSAGES_PER_CHAT).get();// 组装问题promptconst messages = [{ role: 'system', content: 'You are a helpful assistant.' },...chats.data.map(one => ({ role: one.role, content: one.content })),];const data = JSON.stringify({model: OPENAI_MODEL,messages: messages});const config: any = {method: 'post',maxBodyLength: Infinity,url: 'https://api.openai.com/v1/chat/completions',headers: {Authorization: `Bearer ${OPENAI_KEY}`,"Content-Type": "application/json",},data: data,timeout: 50000};try {// 发送请求const completion = await axios(config);const responseMessage = completion.data.choices[0].message;// 保存返回结果await ChatTable.add({ chatId, ...responseMessage });// 返回结果return { reply: responseMessage.content, cid: chatId };} catch (error) {// 打印错误日志console.log('error', error.response || error);let errorMessage;// 处理返回报错信息if (error.response) {const { status, statusText, data } = error.response;if (status === 401) {errorMessage = 'Unauthorized: Invalid OpenAI API key, please check your API key in the AirCode Environments tab.';} else if (data.error && data.error.message) {errorMessage = data.error.message;} else {errorMessage = `Request failed with status code ${status}: ${statusText}`;}} else if (error.request) {errorMessage = 'No response received from the server';} else if (error.code === 'ENOTFOUND' || error.code === 'ECONNREFUSED') {errorMessage = `Network error: ${error.message}`;} else {errorMessage = `Request setup error: ${error.message}`;}return { error: errorMessage };}
};
最新代码可见:https://github.com/husanr/siri_gpt_laf
3. 添加快捷指令
- 打开以下链接,添加快捷指令。
https://www.icloud.com/shortcuts/6f550307e3724769b3e7fc493c07aae6 - 在打开的页面中点击
获取捷径
按钮,然后在弹出的窗口中点击添加快捷指令
。
- 添加过之后,在快捷指令中找到刚添加打开机器人快捷指令,点击右上角三个点进入编辑页面,然后把上边发布的Siri云函数的地址复制粘贴到文本的位置,然后点击完成。
到此,语音助手设置完成,你可以通过语音
嘿 Siri,打开机器人
唤醒带有ChatGPT的语音助手了,快去体验吧!
如果你想要在手机主屏幕通过输入文字与ChatGPT交互,那么你可以把快捷指令添加到主屏幕,如下:
原文地址:https://aircode.cool/828668wg5a
大功告成!
关注我的公众号,更多精彩内容等你来看!
三分钟把ChatGPT接入Siri,让你的语音助手化身智能AI相关推荐
- ChatGPT接入Siri指南来了/必应下载量进前五/ 特斯拉被曝监控员工致不敢上厕所…今日更多新鲜事在此...
日报君 发自 凹非寺 量子位 | 公众号 QbitAI 大家好,今天是2月15日星期三. 情人节过了,仍然祝你快乐- 科技圈其他新鲜事儿,来咯. 必应下载量激增,与谷歌差距缩小 必应搜索在引入Chat ...
- ChatGPT接入微信公众号(手把手教学)
前言 本篇文章参考国内服务器 3 分钟将 ChatGPT 接入微信公众号(超详细)配置,纠正了一些过时的信息. 准备 一个微信公众号 一个能访问外网的梯子 一个ChatGPT账号 有了这些就可以配置了 ...
- 苹果版的ChatGPT官方Siri助手来了,立马体验
ChatGPT官方的苹果APP已经来了,下面分享13个苹果Siri的ChatGPT智能助手,打开即可使用,无需魔法.无需下载APP: 引言: ChatGPT结合Siri语音助手,已成为智慧生活的引领者 ...
- 三分钟读懂新一代人工智能——ChatGPT
2022年以来,AI开始在很多贴近消费者的领域发挥越来越大的作用,之前我写过一篇文章<一分钟学会AI绘画和创作>,很多朋友纷纷尝鲜. 最近一个月以来,OpenAI公司推出的智能机器人Cha ...
- 【ChatGPT】ChatGPT+MindShow三分钟生成PPT
Yan-英杰的主页 悟已往之不谏 知来者之可追 C++程序员,2024届电子信息研究生 目录 第一步:获取PPT内容大概: 1.打开ChatGPT镜像 2.向他提问,提问格式如下,主题替换成你想获 ...
- 量子位智库报告:三分钟看懂ChatGPT | 附下载
量子位智库 量子位 | 公众号 QbitAI 你被ChatGPT包围了吗? 最近这项技术创新项目火得一塌糊涂,你或许听过.见过甚至还慕名试玩体验过了. 但是不是完全灯下黑状态了?不知道ChatGPT从 ...
- ChatGPT + MindShow 三分钟搞定PPT制作
制作一份"通用性"的PPT需要几步? 三步 接下来,我们借助ChatGPT和MindShow,大概三分钟完成操作,就能制作出来完胜大部分人的PPT文件.具体可看文末效果导示. 解锁 ...
- 好文转载 【ChatGPT】ChatGPT+MindShow三分钟生成PPT
Yan-英杰的主页 悟已往之不谏 知来者之可追 C++程序员,2024届电子信息研究生 目录 第一步:获取PPT内容大概: 1.打开ChatGPT镜像 2.向他提问,提问格式如下,主题替换成你想获 ...
- ipsec协议_网工知识角轻松学网络|三分钟了解PPPOE协议
学网络,就在IE-LAB 国内高端网络工程师培养基地 PPPOE( Point-to-PointProtocol Over Ethernet)以太网上的点对点协议,是将点对点协议(PPP)封装在以太网 ...
最新文章
- 清理C盘无用的垃圾的文件,给c盘瘦身
- 如何让Node.js运行在浏览器端
- IOS15全屏滑动返回
- Gunicorn 0.17 发布,Python HTTP 服务器
- logstash-filter模块
- php中如何配置环境变量,如何配置phpstorm环境变量如何配置phpstorm环境变量
- CSS设计指南(第3版)pdf
- tensorflow 实现打印预训练的模型中的变量名和变量值
- java excel 导入试题
- Python爬虫——5-2.使用selenium和phantomjs模拟QQ空间登录
- QScrollArea样式设置
- Chemoffice 2018安装教程
- moles-packer_Hashicorp的Packer-是否适合PHP开发人员?
- Hexo博客中插入图片,在网页中无法显示:采用图床外链的方法
- 如何减少万兆以太网线外部串扰
- 《数据结构课程实践》_02_隐式图的搜索问题_准备工作
- linux u盘文件乱码,轻松解决Linux下U盘乱码的方法
- scratch案例——跳跃的猴子
- 在学习python的过程中,遇到的最大的困难是什么?
- 程序猿理论系列整理:计算机基础硬件