如何在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
相关产品推荐
相关产品推荐

