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

Bot Framework Emulator无法提交活动(401未授权错误)求助

解决Bot Framework Emulator本地运行QnA机器人的401未授权错误

以下是针对本地测试Azure QnA机器人时出现的401未授权错误的排查和解决步骤:

  • 核对.env文件参数完整性与正确性

    • 确保LanguageServiceEndpointHostName填写完整的QnA Maker端点地址,格式为https://{你的资源名}.cognitiveservices.azure.com/qnamaker/v4.0,不要仅填写主机名
    • LanguageServiceEndpointKey需使用QnA Maker门户「设置」页面中的Endpoint Key,而非Azure资源的通用密钥
    • 确认添加了QnAKnowledgebaseId参数,该ID可在QnA Maker知识库的「设置」页面获取,是本地调用的必填项
  • 调整Bot Framework Emulator的身份验证设置

    • 创建机器人连接时,进入「Advanced settings」,取消勾选「Use authentication」选项——本地测试无需启用Azure AD身份验证,默认选择「None」即可
  • 验证本地服务的配置加载情况

    • 在机器人代码入口文件(如index.js)中添加日志语句,打印加载的环境变量,例如:
      console.log('Loaded QnA Endpoint Key:', process.env.LanguageServiceEndpointKey);
      console.log('Loaded KB ID:', process.env.QnAKnowledgebaseId);
      
    • 执行npm start后,检查控制台输出,确认参数已正确读取,且机器人服务正常启动在http://localhost:3978/api/messages
  • 检查虚拟机网络与端口权限

    • 确认虚拟机本地防火墙允许3978端口的入站连接,保证Emulator能访问机器人服务端口
    • 若使用localhost连接失败,尝试改用虚拟机的内网IP地址(如http://192.168.x.x:3978/api/messages)建立连接
  • 验证QnA Maker知识库的可用性

    • 直接使用Postman调用QnA Maker的生成答案API:POST https://{你的资源名}.cognitiveservices.azure.com/qnamaker/v4.0/knowledgebases/{KB ID}/generateAnswer,请求头携带Authorization: EndpointKey {你的Endpoint Key},请求体传入{"question":"测试问题"}
    • 若API返回401,则说明Endpoint Key或KB ID无效,需重新在QnA Maker门户获取正确参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 02:32:17