gpt4 book ai didi

dialogflow-es - 如何解析来自dialogflow v2的detectIntent的响应中的struct对象?

转载 作者:行者123 更新时间:2023-12-04 16:04:41 24 4
gpt4 key购买 nike

我想知道解析dialogflow v2的detectIntent响应的最佳实践。

dialogflow v2 的响应包括 struct在 Protocol Buffer 中定义的对象。例如queryResult中的参数.

我知道可以使用 structToJson 解析它它作为示例代码包含在用于 Node.js 的 dialogflow v2 SDK 中。所以我当前的代码是这样的。

const dialogflow = require("dialogflow");
const structjson = require("./dialogflow/structjson");

identify_intent(sentence, options){
const session_path = this._sessions_client.sessionPath(this._project_id, options.session_id);

// The text query request.
const request = {
session: session_path,
queryInput: {
text: {
text: sentence,
languageCode: this._language
}
}
};

// Send request and log result
return this._sessions_client.detectIntent(request).then(responses => {
let result = responses[0].queryResult;

if (result.parameters){
result.parameters = structjson.structProtoToJson(result.parameters);
}

return result;
});
}

我在 sample code 之后使用 structProtoToJson() 手动解析响应但这不切实际,因为我不仅要对参数执行此操作,还要对执行和其他对象执行此操作,这些对象以 struct 格式设置。

我想知道在 Node.js 应用程序中解析来自 detectIntent 的响应的最佳实践是什么。

最佳答案

您不需要做任何事情来转换 queryResult.parameters对象变成可用的形式。它是一个具有以下结构的 JavaScript 对象:

{
fields: {
paramName1: { stringValue: 'value1', kind: 'stringValue' },
paramName2: { stringValue: 'value2', kind: 'stringValue' }
}
}

Intent 的参数列表中的每个参数都有一个键/值对。

关于dialogflow-es - 如何解析来自dialogflow v2的detectIntent的响应中的struct对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50939079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com