谷歌Skill开发入门指南:从零构建你的第一个智能交互应用

4次阅读
没有评论

共计 2138 个字符,预计需要花费 6 分钟才能阅读完成。

image.webp

开篇:谷歌 Skill 能做什么?

谷歌 Skill(现称 Google Action)是运行在 Google Assistant 上的语音交互应用。它可以帮你订咖啡、查天气、控制智能家居,甚至开发定制化的企业解决方案。根据 Voicebot.ai 数据,2022 年全球智能音箱用户已达 35 亿,这为语音应用开发者提供了巨大机会。

谷歌 Skill 开发入门指南:从零构建你的第一个智能交互应用

开发前准备

1. 注册谷歌开发者账号

  1. 访问 Google Actions Console
  2. 使用谷歌账号登录(建议使用长期维护的账号)
  3. 同意开发者条款后,点击 ”New Project”

注意:个人开发者无需付费,但发布到生产环境需要完成账号身份验证

2. 项目基础配置

在 Actions Console 中:

  1. 填写项目名称(如 ”MyFirstSkill”)
  2. 选择默认语言(中文开发者建议选 ” 中文(简体)”)
  3. 在 ”Build” 标签页点击 ”Add Action”
  4. 选择 ”Custom Intent” 开始自定义交互

Dialogflow 集成实战

选择代理类型

  • Dialogflow ES:适合简单场景,免费版足够入门练习
  • Dialogflow CX:适合复杂多流程对话,但学习曲线较陡

建议新手从 ES 开始:

  1. 在 Actions Console 点击 ”Integrations”
  2. 选择 Dialogflow ES 并启用 API
  3. 系统会自动跳转到 Dialogflow 控制台

创建第一个意图

在 Dialogflow 中:

  1. 点击 ”Create Intent”
  2. 命名意图(如 ”welcomeIntent”)
  3. 添加训练短语:
  4. “ 你好 ”
  5. “ 嗨 ”
  6. “ 打开应用 ”
  7. 在响应部分添加语音回复:
  8. “ 欢迎使用我的第一个 Skill!”

Webhook 开发 (Node.js 版)

基础服务搭建

创建项目目录并初始化:

mkdir my-google-skill && cd my-google-skill
npm init -y
npm install express body-parser actions-on-google

核心代码实现

创建 index.js

const express = require('express');
const {WebhookClient} = require('dialogflow-fulfillment');

const app = express();
app.use(express.json());

app.post('/', (req, res) => {const agent = new WebhookClient({ request: req, response: res});

  function welcomeHandler(agent) {agent.add('欢迎来到自定义 Skill!');
  }

  // 意图映射
  let intentMap = new Map();
  intentMap.set('welcomeIntent', welcomeHandler);

  agent.handleRequest(intentMap);
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {console.log(`Server running on port ${PORT}`);
});

本地测试

  1. 安装 ngrok:npm install -g ngrok
  2. 启动服务:node index.js
  3. 新终端运行:ngrok http 3000
  4. 将生成的 https 地址填入 Dialogflow 的 Fulfillment 设置

部署到云服务

推荐使用 Google Cloud Run:

  1. 在项目根目录创建 Dockerfile:
FROM node:14-alpine
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "index.js"]
  1. 执行部署命令:
gcloud builds submit --tag gcr.io/your-project-id/my-skill
gcloud run deploy --image gcr.io/your-project-id/my-skill --platform managed

新手常见错误

  1. 忘记启用 Dialogflow API
  2. 症状:集成时提示权限错误
  3. 解决:前往 Google Cloud Console 启用 ”Dialogflow API”

  4. Webhook 超时

  5. 症状:5 秒内未响应导致交互失败
  6. 解决:复杂逻辑应异步处理,先返回接收确认

  7. 意图匹配失败

  8. 症状:用户说的话未被正确识别
  9. 解决:增加更多训练短语,注意覆盖同义表达

  10. 测试环境混淆

  11. 症状:修改未生效或看到旧版本
  12. 解决:Dialogflow 和 Actions Console 都需要点击 ”Save” 和 ”Deploy”

  13. 语音不自然

  14. 症状:TTS 发音生硬
  15. 解决:使用 SSML 标记,如 <speak> 请稍 <break time="800ms"/> 正在处理 </speak>

进阶学习建议

开发完成后,别忘了在 Actions Console 提交审核,通常需要 1 - 3 个工作日。你的第一个谷歌 Skill 上线后,可以通过 ”Hey Google, talk to MyFirstSkill” 来唤醒它!

正文完
 0
评论(没有评论)