我需要知道如何查看实际对话以及与每个对话回合匹配的意图。我找不到在Dialogflow CX版上完成对话/意图审查的方法。(在 ES 版上非常简单)。我需要访问他的功能(如果它在 CX 上实现),因为有时我的代理会触发错误的意图来尝试响应用户输入。
希望您能够帮助我。
提前致谢,克劳迪娅
Dialogflow ES 有一个名为“WELCOME”的事件,该事件使机器人可以发起对话。
如何在 Dialogflow CX 中执行相同操作?
Dialogflow CX 的起始页中没有条目履行选项。
编辑:
在“默认欢迎意图”中,将意图从“欢迎”更改为无。我收到以下错误。我已将条件设置为 true。我还将页面转换设置为“onboarding”页面。
如果需要更多屏幕截图,请告诉我。
I want to give my chatbot some calculation capabilities but I have no experience with webhooks at all. Unfortunately there seems to be close to zero documentation on this topic for DialogFlow CX (except some generic description of what webhooks are).
有人知道如何执行此操作的具体教程吗?或者有人能指出我正确的方向吗?
我的出发点:我有一个 DialogFlow CX 机器人,它有几个会话参数,我想将其用于一些计算,然后计算结果应包含在机器人文本话语中。
我现在需要执行哪些不同步骤?有人有具体的样本吗?我可以重用示例代码吗? (我基本上只知道我需要在 DialogFlow CX 中设置一个 webhook 资源,并且这种 webhook 的最简单方法可能是使用 Cloud Functions(我以前从未这样做过))
多谢!!!
我尝试使用dialogflow-fulfillment库,但我猜它是针对Dialogflow ES的,所以现在我使用@google-cloud/dialogflow-cx库,但我不知道如何使用这个库进行webhook连接来回复使用fulfilments的用户,可用于 Dialogflow CX 的材料非常少。
// use credentials or keyFilename i'm using keyFile
credentials: {
private_key: "-----BEGIN PRIVATE KEY-----==\n-----END PRIVATE KEY-----\n",
client_email:"pro1a3711.iam.gserviceaccount.com",
},
keyFilename: './pr.json'
}
const {SessionsClient} = require('@google-cloud/dialogflow-cx');
const projectId = 'pro1-293711';
const location = 'global';
const agentId = 'da2271f5-0221-4dce-98d3-efa----9dd';
const languageCode = 'en';
const query = ['hello'];
// Imports the Google Cloud Some API library
//console.log(WebhooksClient)
const client = new SessionsClient(config);
//console.log("client",client)
async function detectIntentText() {
const sessionId = Math.random().toString(36).substring(7);
const sessionPath = client.projectLocationAgentSessionPath(
projectId,
location,
agentId, …
Run Code Online (Sandbox Code Playgroud) 我正在尝试填充 API 参数:https://cloud.google.com/dialogflow/cx/docs/quick/api。
\n我在其文档中找不到任何有关如何查找代理 ID 的参考: https: //cloud.google.com/dialogflow/cx/docs/concept/agent。
\n我在控制台的代理设置中找不到该 ID。
\n\xc2\xbf和Agent的名字一样吗?
\nAccording to the google dialogflow cx document: https://cloud.google.com/dialogflow/cx/docs/concept/parameter https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/QueryParameters
单击以显示参考 我知道我们可以使用 api 来设置会话参数。所以我想通过API方式将参数传递给webhook。
步骤1:前端,使用Detectintent() API,填写queryParams项。
步骤2:GoogleDialogflowCX服务器将设置参数作为会话参数。
第三步:Webhook接收google端的函数调用。我们可以从http请求中找到所有的session参数。
就我而言,我只能接收 DialogFlow Agent 中设置的变量,但没有收到通过 detectorintent() API 设置的任何参数。我想我一定做错了什么,谁能告诉我该怎么办?谢谢。
我的代码如下(Nodejs代码):
const sessionPath = client.projectLocationAgentSessionPath(
projectId,
location,
agentId,
sessionId
);
var mapParameters = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
const request = {
session: sessionPath,
"queryInput": {
"text": {
"text": query,
},
languageCode,
},
'queryParams': {
'timeZone': 'America/Los_Angeles',
'parameters': {
"fields":mapParameters
}
},
};
const [response] = await client.detectIntent(request);
Run Code Online (Sandbox Code Playgroud) 我想生成动态文本,而无需尽可能创建 Webhook。据我所知,创建动态文本的唯一方法是根据参数创建不同的路由或使用内联系统函数(例如$sys.func.ADD(1, 2)
在文本实现中)。
但是,$sys.func.ADD(1, 2)
如果在文本实现中使用,内联系统函数对我来说不起作用。系统功能只是不为我执行。即,作为测试完成的结果,我的机器人没有说出“3”,而是说出了“$sys.func.ADD(1, 2)”。我在这里做错了什么?有人有在文本履行中使用内联系统函数的示例吗?
谢谢!
我想使用 dialogflow 进行注册。例如:我想让机器人问以下问题:
你叫什么名字?你的邮箱是什么?
等等。
我试图实现这一点,但无法正确管理意图。我该怎么做才能实现这一目标?谢谢
https://i.stack.imgur.com/uq9Yv.png
https://i.stack.imgur.com/jaPaz.png
https://i.stack.imgur.com/SHIuS.png
当我说“不”时,如何获取“数字”参数来清除并输出提示“说一个数字”?
如何从 Java 应用程序以编程方式关闭或重置对话?根据 Dialogflow CX 文档,“会话保持活动状态,并且在为会话发送最后一个请求后,其数据将存储 30 分钟。 ”
我想让会话保持活跃的时间更短。例如,如果我希望会话保持活动状态 5 分钟,则当用户在上一条消息后 5 分钟或更长时间发送消息时,必须重新开始对话,并且必须关闭之前的流程,并且必须删除上下文参数。
对于 Dialogflow ES,可以使用 ContextsClient,但是新版本不提供 ContextsClient 类。
使用谷歌新的可视化 DialogFlow CX 构建器,我将参数传递给 Flow。模拟器显示参数已设置,我可以访问它,$session.params.anger
但想知道如何设置会话/页面/意图参数。
还有这些条件块的语法是什么。似乎有一些奇怪的类似 bash 的语法。它似乎if/else/endif
有效并且具有基本的语法突出显示,但我只是通过反复试验发现了这一点。有没有这方面的文件?也许它是 ES 的一个共同特征?
https://cloud.google.com/dialogflow/cx/docs/concept/parameter
我在理解如何在 Dialogflow CX 中使用路由组时遇到了一些困难:从 Google 的文档中我了解到它们是为了避免映射相同的意图路由(如果意图是 X,请转到流程/页面 Z)。来自他们的文档:
您可以定义一次路由组,然后在所有相关页面上添加对该组的引用
现在,我的问题是我在代理的管理选项卡(Dialogflow“管理”选项卡)中定义了路由组,但它们似乎不起作用,也无法在每个页面中选择: 这是我的“Onboarding”页面我定义的流程
有人可以帮忙解决这个问题吗?
谢谢!