使用特定设备源调用 Dialogflow 事件
Invoke a Dialogflow event with a specific device source
经过无数次尝试,我请求您帮助使用特定的 GoogleHome 设备调用 Dialogflow 事件 (GoogleHome)。
通过 nodeJS,我成功地调用了一个 Dialogflow 事件,并且我得到了 fullfillment 响应。一切都很完美,只是我必须让我的 GoogleHome 设备充满活力地说话,我不需要纯文本的答案。
我的目标是让我的 GoogleHome 设备先说话,而不是 "Ok, Google" 然后等待用户的响应。
我在网上没有找到任何东西,我尝试停止调用 Dialogflow 事件并获得控制台响应。
这是我尝试完成的代码
test: async function () {
console.log("[funcGHTalk|test] CALLED");
const projectId = "[[projectid]]";
const LANGUAGE_CODE = 'it-IT';
let eventName = "[[eventname]]";
const sessionId = uuid.v4();
const sessionClient = new dialogflow.SessionsClient();
const sessionPath = sessionClient.sessionPath(projectId, sessionId);
// The text query request.
const request = {
session: sessionPath,
queryInput: {
event: {
name: eventName,
languageCode: LANGUAGE_CODE
},
},
};
// Send request and log result
const responses = await sessionClient.detectIntent(request);
console.log('Detected intent');
const result = responses[0].queryResult;
console.log(result);
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
if (result.intent) {
console.log(` Intent: ${result.intent.displayName}`);
} else {
console.log(` No intent matched.`);
}
}
您编写的代码使用的是Dialogflow Detect Intent API。这意味着 运行 在控制台和服务器上向 Dialogflow 发送消息,Dialogflow 将对其进行解析,确定它匹配的 Intent,使用该信息调用 fulfillment,然后 return 所有结果。
您不需要 运行 在 Google 主页上执行此操作,因为 Google 智能助理会为您完成所有这些操作。
我认为您正在寻找的是使用 Actions on Google and the Dialogflow Fulfillment API. This handles things on the other end - after Dialogflow determines what Intent matches what the user has said, and if that Intent has fulfillment enabled, it will send the information to your webhook which is running on a cloud server somewhere. You would then process it, send a reply (either using the actions-on-google library or the dialogflow-fulfillment 库开发 fulfillment 是最简单的),它会将其发送回智能助理。
您表示您希望操作 "let my GoogleHome device speak first, without the word "好的,Google“并等待用户的响应”。这要复杂得多,现在用 Google 家庭设备真的不可能做到。大多数操作都让用户使用 "Ok Google, talk to my test app" 或任何操作名称发起对话。
您没有说明您希望如何触发 Home 开始说话,但您可能希望查看 notifications 看看这些是否适合您的模型,但是通知不适用于 Home现在,只有移动设备上的 Google 助理。
经过无数次尝试,我请求您帮助使用特定的 GoogleHome 设备调用 Dialogflow 事件 (GoogleHome)。
通过 nodeJS,我成功地调用了一个 Dialogflow 事件,并且我得到了 fullfillment 响应。一切都很完美,只是我必须让我的 GoogleHome 设备充满活力地说话,我不需要纯文本的答案。
我的目标是让我的 GoogleHome 设备先说话,而不是 "Ok, Google" 然后等待用户的响应。
我在网上没有找到任何东西,我尝试停止调用 Dialogflow 事件并获得控制台响应。
这是我尝试完成的代码
test: async function () {
console.log("[funcGHTalk|test] CALLED");
const projectId = "[[projectid]]";
const LANGUAGE_CODE = 'it-IT';
let eventName = "[[eventname]]";
const sessionId = uuid.v4();
const sessionClient = new dialogflow.SessionsClient();
const sessionPath = sessionClient.sessionPath(projectId, sessionId);
// The text query request.
const request = {
session: sessionPath,
queryInput: {
event: {
name: eventName,
languageCode: LANGUAGE_CODE
},
},
};
// Send request and log result
const responses = await sessionClient.detectIntent(request);
console.log('Detected intent');
const result = responses[0].queryResult;
console.log(result);
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
if (result.intent) {
console.log(` Intent: ${result.intent.displayName}`);
} else {
console.log(` No intent matched.`);
}
}
您编写的代码使用的是Dialogflow Detect Intent API。这意味着 运行 在控制台和服务器上向 Dialogflow 发送消息,Dialogflow 将对其进行解析,确定它匹配的 Intent,使用该信息调用 fulfillment,然后 return 所有结果。
您不需要 运行 在 Google 主页上执行此操作,因为 Google 智能助理会为您完成所有这些操作。
我认为您正在寻找的是使用 Actions on Google and the Dialogflow Fulfillment API. This handles things on the other end - after Dialogflow determines what Intent matches what the user has said, and if that Intent has fulfillment enabled, it will send the information to your webhook which is running on a cloud server somewhere. You would then process it, send a reply (either using the actions-on-google library or the dialogflow-fulfillment 库开发 fulfillment 是最简单的),它会将其发送回智能助理。
您表示您希望操作 "let my GoogleHome device speak first, without the word "好的,Google“并等待用户的响应”。这要复杂得多,现在用 Google 家庭设备真的不可能做到。大多数操作都让用户使用 "Ok Google, talk to my test app" 或任何操作名称发起对话。
您没有说明您希望如何触发 Home 开始说话,但您可能希望查看 notifications 看看这些是否适合您的模型,但是通知不适用于 Home现在,只有移动设备上的 Google 助理。