You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MS Bot Framework中通过中间件获取LUIS置信度并路由请求?

可以在中间件中实现LUIS置信度判断与人工路由!

完全可以在中间件里搞定这个需求,而且这其实是更优雅的实现方式——毕竟中间件就是用来统一拦截处理这类全局逻辑的,不用在每个对话步骤里重复写判断代码。

具体操作步骤

我给你捋清楚细节:

  1. 正确获取LUIS置信度值
    你之前在session里找不到是因为Bot Framework v4+已经不再使用session对象了,现在要通过ITurnContext来获取LUIS识别结果。在中间件的OnTurnAsync方法里,直接调用LUIS recognizer就能拿到识别结果,其中的TopIntent.Score就是模拟器里记录的那个置信度数值。
    举个代码片段参考:

    var luisResult = await _luisRecognizer.RecognizeAsync<YourLuisIntentModel>(context, cancellationToken);
    var confidenceScore = luisResult.TopIntent.Score ?? 0;
    
  2. 设置阈值并触发路由逻辑
    拿到置信度后,你可以设定一个业务阈值(比如0.7,根据实际场景调整):

    • 如果confidenceScore低于阈值,直接触发人工转接:给用户发送提示消息,然后调用context.Done()终止当前对话流程,避免机器人继续处理;
    • 如果符合阈值,就让流程正常往下走,交给后续的dialog或业务逻辑处理。
  3. 为什么选中间件?
    用中间件做这件事的核心优势是:所有进入bot的请求都会先经过这个判断逻辑,不用在每个dialog里重复写置信度检查的代码,代码更整洁,后续维护也更方便。

旧版本兼容提醒

如果你还在使用Bot Framework v3及以前的版本,确实是用session对象,LUIS的置信度可以通过session.LuisResult.TopIntent.IntentScore获取,但还是建议升级到v4+版本,生态和扩展性都更完善。

内容的提问来源于stack exchange,提问作者solaire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:55:47