为什么我应该在Google Nodejs客户端库的Actions中使用dialogflow()而不是actionssdk()

Chr*_*ris 1 node.js actions-on-google

基于V1到V2 Node.js客户端库迁移指南,有两种方法可以收听对话

所以来自V1的以下代码

const {DialogflowApp } = require('actions-on-google');

const actionMap = new Map();

actionMap.set('input.welcome', app => {   app.ask('How are you?'); });

...
Run Code Online (Sandbox Code Playgroud)

可以用dialogflow模块替换

const { dialogflow } = require('actions-on-google');
const app = dialogflow();

app.intent('Default Welcome Intent', conv => {   conv.ask('How are you?'); });
Run Code Online (Sandbox Code Playgroud)

或动作SDK模块

const { actionssdk } = require('actions-on-google');
const app = actionssdk();

app.intent('actions.intent.MAIN', conv => {   conv.ask('How are you?'); });
Run Code Online (Sandbox Code Playgroud)

在第一种情况(对话框流)中,您通过名称来识别Intent,但在第二种情况下(actionSdk),您可以从操作名称识别它.

为什么我要使用一个而不是另一个,每种方法的好处和局限是什么?

小智 5

这两个库都将提供您的Action用户所说的内容的转录.您使用哪个库取决于您打算如何理解文本 - 理解它并做出相应的反应.如果您打算以定制的方式解析它,或者如果您拥有自己的自然语言处理器(也称为NLP/NLU),则可以使用Actions SDK.如果不这样做,您可以使用Dialog Flow作为NLP及其库.