如何在Azure Web Bot应用中查看LUIS.ai的JSON响应及意图实体信息?
在Bot Emulator v4中查看LUIS.ai的JSON响应教程
别担心,我来帮你搞定这个问题——在Bot Emulator v4里查看LUIS的完整JSON响应其实有好几种简单方法,下面给你一步步拆解:
方法一:通过Emulator的「Transcript」面板直接查看
这是最直接的方式,不需要改代码:
- 打开Bot Emulator,连接上你的Web Bot应用
- 给Bot发一条能触发LUIS意图的测试消息(比如你训练过的“我想预订明天去上海的机票”这类语句)
- 切换到Emulator右侧的Transcript标签(默认显示的是Chat面板,要手动切过去)
- 在Transcript的消息列表里找到你刚发的那条,点击展开它的详细内容
- 你会看到一个
RecognizerResult或者LuisResult的节点,逐层展开后就能看到完整的LUIS JSON响应:包括topIntent(触发的主意图)、intents(所有匹配的意图及置信度)、entities(识别到的实体信息)等核心内容
方法二:在Bot代码里打印LUIS响应到控制台
如果Emulator的面板层级嵌套太绕,你也可以直接在代码里把响应输出到控制台,一目了然:
- 找到你调用LUIS Recognizer的代码位置(一般在
OnTurnAsync方法或者专门的意图处理类里) - 当获取到LUIS的识别结果后,加一行代码把结果序列化为格式化的JSON并打印:
// 假设recognizerResult是你从LUIS获取到的识别结果对象 var luisResponseJson = Newtonsoft.Json.JsonConvert.SerializeObject(recognizerResult, Newtonsoft.Json.Formatting.Indented); Console.WriteLine("=== LUIS完整响应内容 ===\n" + luisResponseJson);
- 启动你的Bot应用,在控制台窗口里就能看到清晰排版的LUIS JSON响应了
方法三:直接在LUIS门户测试响应(快速确认格式)
如果你只是想先确认LUIS本身的响应格式是否符合预期,也可以跳过Bot,直接在LUIS门户测试:
- 登录LUIS Portal,打开你的目标应用
- 切换到Test标签页
- 输入测试语句,点击「Run Test」按钮
- 点击结果下方的「Inspect」按钮,就能看到完整的JSON响应,里面包含了你需要的意图、实体、置信度等所有细节
小提示
- 要是在Emulator的Transcript里找不到
LuisResult,可以看看是不是嵌套在Microsoft.Bot.Builder.AI.Luis.LuisRecognizer的结果节点里,多展开几层就能找到 - 如果你的Bot用了对话框架(Dialogs),LUIS的识别结果通常会存在
TurnContext.TurnState里,你也可以从这里取出并打印
内容的提问来源于stack exchange,提问作者Azam Maqsood
相关产品推荐
相关产品推荐

