gpt4 book ai didi

java - 通过 webhook 发送 FulfillmentMessage 和 FollowupEventInput

转载 作者:行者123 更新时间:2023-12-01 22:33:25 26 4
gpt4 key购买 nike

在我的第一个 Dialogflow 项目中,有些时候我必须发送一些响应,然后直接转到另一个意图(也发送文本)。

我尝试使用 Webhook 发送该消息并使用下面的代码创建 FollowupEventInput。

        final SessionName sessionName = SessionName.parse(webhookRequest.getSession());
final WebhookResponse.Builder builder = WebhookResponse.newBuilder()
.addFulfillmentMessages(
Intent.Message.newBuilder().setText(Intent.Message.Text.newBuilder()
.addText("This is the text I want to send.")
.build()))
.addOutputContexts(
Context.newBuilder().setName(ContextName.of(sessionName.getProject(), sessionName.getSession(), "Oilchange-haventchecked-followup").toString()
).setLifespanCount(1)
.build())
.setFollowupEventInput(EventInput.newBuilder().setName("StandstillQuestion").setLanguageCode("en"));
return builder.build();
}

预期结果是:

机器人:这是我要发送的文本。

机器人:这是下一个意图的文本

我得到的结果:

机器人:这是下一个意图的文本

之后,我研究了问题所在,发现this stackoverlow 问题基本上提出了相同的问题(但是在 Python 中)。这个问题没有合适的答案。于是我决定再问一遍。

我该如何解决这个问题?

我不能简单地将文本从一个意图添加到另一个意图,因为有多个意图必须指向第二个意图。

最佳答案

这是预期的行为,因为当您设置后续事件时,它基本上告诉对话流触发另一个工作流。但为了解决这个问题,您需要做的就是在设置后续事件时,同时为您想要与第二句话一起说的第一句话设置上下文。然后,在实现您的后续意图时,检查该上下文是否已设置并且具有任何值,如果确实如此,那么也说明了这一点。

关于java - 通过 webhook 发送 FulfillmentMessage 和 FollowupEventInput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58540700/

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