gpt4 book ai didi

azure - 发送至 Microsoft Bot 的 Directline API 消息

转载 作者:行者123 更新时间:2023-12-03 01:41:38 30 4
gpt4 key购买 nike

我使用 LUIS 在 Azure 服务中创建了机器人,该机器人用作聊天机器人,可以使用对话框创建对话。

在某些时候,我尝试使用 Direct Line API 3.0 将消息推送到聊天机器人,我使用 Postman 将消息发送到机器人。

我按照此页面的说明进行操作,https://learn.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-direct-line-3-0-send-activity?view=azure-bot-service-4.0

我能够作为机器人向对话发送消息,下面是我从 Postman 发送消息并获得成功回复的图像。

enter image description here

但我的问题是,发送消息后,机器人会尝试分析,即使它不是用户消息。机器人开始从默认消息处理程序发送消息,如下所示,

enter image description here

即使成功发送消息后,我的机器人也会触发默认消息处理程序,这预计只会发生在用户消息上,而不会发生在机器人消息上。

另外,我已经检查过网络聊天 channel ,它不会触发此默认消息处理程序。这种情况只发生在 DirectLine API 中,任何人都可以帮助我解决这个问题。

最佳答案

您不应将消息作为“消息”类型发送,而应将其作为“事件”发送。这样,您的 MessagesController 会将其视为事件的 ActivityType 而不是 Message,您可以根据需要进行处理,而无需对实际的消息处理进行意大利面处理如果您想发送不同类型的事件以使其更容易,那么您可以通过在 json 中为“名称”字段提供值来“命名”您的事件。第三,如果您需要在消息中包含数据,则需要在 json 的“value”字段中提供一个值。

standard webchat client 的 github 页面有一些关于发送事件的重要信息。它可能会让您对 json 有更多了解。

您可以阅读有关 'event' activity type here 的更多信息

您的消息 json 看起来更像这样:

{
"type": "event",
"from": {
"id": "user1"
},
"name": "theEvent",
"value": "someDataMyBotNeeds"
}

关于azure - 发送至 Microsoft Bot 的 Directline API 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52773628/

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