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

如何在Choregraphe v2.1中修改Nao机器人QiChat对话置信度阈值

调整Choregraphe v2.1+中QiChat对话触发的置信度阈值

在Choregraphe v2.1及后续版本中,旧的对话框脚本功能确实已经被弃用,现在要调整QiChat对话触发的置信度阈值,需要通过QiChatbot的Python API来实现,具体步骤如下:

  • 步骤1:创建Python行为
    打开你的Choregraphe项目,从左侧的行为面板中拖入一个「Python Box」到主流程里,这个盒子将用来执行阈值设置的代码。

  • 步骤2:编写阈值设置代码
    双击Python Box,替换默认代码为以下内容:

    import qi
    import sys
    
    def main(session):
        # 获取ALDialog服务实例,这是QiChat对话的核心服务
        dialog_service = session.service("ALDialog")
        # 将置信度阈值设置为0.3(对应30%,默认是0.5即50%)
        dialog_service.setLanguageUnderstandingConfidenceThreshold(0.3)
        print("QiChat触发置信度已设置为30%")
    
    if __name__ == "__main__":
        # 建立与机器人的会话连接
        session = qi.Session()
        try:
            # 本地调试用localhost,实际部署时替换为机器人IP
            session.connect("tcp://localhost:9559")
        except RuntimeError:
            print("无法连接到机器人,请检查连接状态!")
            sys.exit(1)
        main(session)
    
  • 步骤3:确保脚本优先执行
    把这个Python行为放在你的流程最开始的位置,保证机器人启动或加载项目时,首先执行这个阈值设置操作——因为这个设置是全局生效的,会影响所有QiChat对话主题的触发判定。

  • 验证效果
    设置完成后,你可以在Choregraphe的模拟面板中输入一些匹配度稍低的句子,测试是否能正常触发对应的QiChat响应,以此确认阈值调整是否生效。

需要注意的是,这个方法设置的是全局阈值,如果需要针对特定对话主题单独调整置信度,可能需要结合QiChat主题文件中的confidence参数(在主题的规则中单独配置),不过全局设置是最直接满足你需求的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:17:44