前言
随着人工智能技术的不断发展,谷歌家的机器人——Google Assistant 已经成为一个非常受欢迎的语音助手。而这个语音助手的定制化开发,离不开谷歌提供的强大开发工具包——actions-on-google。本文将详细介绍如何使用 npm 包 actions-on-google-ts 来构建自己的 Google Assistant 功能。
准备工作
- 首先,确保电脑已经安装了 Node.js 和 npm(node 包管理工具)。
- 创建一个新的项目文件夹,使用 Terminal 进入该目录,并执行初始化命令:
npm init -y
- 安装 actions-on-google-ts 依赖:
npm install actions-on-google-ts
- 在项目根目录下创建一个 index.ts 文件,该文件将作为我们代码的入口点。
创建 Google Assistant 功能
- 在 index.ts 文件中引入依赖:
import * as functions from 'firebase-functions'; import { dialogflow } from 'actions-on-google-ts';
- 创建 Dialogflow 实例并添加 Intent:
const app = dialogflow(); app.intent('Default Welcome Intent', (conv) => { conv.ask('Hi, how can I help you?'); })
以上代码实现了一个默认的欢迎 Intent,当用户首次打开 Google Assistant 时会自动触发该 Intent。 - 添加更多的 Intent:
app.intent('My Name is', (conv, {name}) => { conv.ask(`Hi ${name}, nice to meet you!`); }) app.intent('What time is it', (conv) => { const time = new Date().toLocaleTimeString(); conv.ask(`It is currently ${time}`); })
以上代码实现了两个自定义的 Intent,一个是询问用户姓名并作出回应,另一个是告诉用户当前时间。 - 将 Dialogflow 实例导出为 Firebase Cloud Function:
export const googleAssistant = functions.https.onRequest(app);
部署 Cloud Function
- 登录 Firebase 控制台,创建一个新的 Firebase 项目。
- 在 Firebase 控制台中创建一个新的 Cloud Function :
- 函数名称:自定义,如 "googleAssistant"
- 触发器类型:HTTP
- 将 Cloud Function 部署到 Firebase:
firebase deploy --only functions
部署成功后会生成一个 HTTPS URL,拷贝该 URL。 - 将 HTTPS URL 添加到自己的谷歌账号上,以便可以使用 Google Assistant。
- 打开 Google Assistant 开发者控制台 https://console.actions.google.com/
- 创建新的项目
- 添加“快捷指令”并关联 HTTP URL
使用 Google Assistant
- 打开 Google Assistant 并说出“打开快捷指令”。
- 谷歌助手会询问您想要执行哪个 Intent,您可以依次尝试“Hi”和“What time is it”。
- 谷歌助手会作出相应的回应。
结论
本篇文章介绍了如何使用 npm 包 actions-on-google-ts 来开发自己的 Google Assistant 功能,详细介绍了创建 Dialoglow 实例、添加 Intent、部署 Cloud Function 等过程,并提供了示例代码。通过学习本文,读者能够了解到 Google Assistant 定制化开发的流程和方法,为日后项目提供了接口。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055ff481e8991b448ddbfe