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

微软认知服务自定义问答项目调用API更新未解答问题的方法

微软认知服务自定义问答未解答问题追踪与更新实现指引

前置信息确认

配合你已有的Ocp-Apim-Subscription-Key,你还需要提前获取两个核心参数:

  • 自定义问答资源的部署地域(例如chinaeast2、westus)
  • 目标知识库ID,可在认知服务门户的自定义问答项目详情页查询到

一、拉取未解答问题的API实现

未解答问题会被标记为无答案匹配的对话记录,调用对话日志查询接口即可筛选获取:

基础请求配置

  • 请求方法:POST
  • 请求地址:https://<部署地域>.api.cognitive.microsoft.com/qnamaker/v4.0/knowledgebases/<知识库ID>/analytics/conversations
  • 必填请求头:
    Ocp-Apim-Subscription-Key: <你的订阅密钥>
    Content-Type: application/json
    
  • 请求体示例(筛选最近100条未解答问题):
    {
      "filters": {
        "answerMatchCondition": "NoMatch"
      },
      "pageSize": 100,
      "sort": {
        "field": "timestamp",
        "order": "Descending"
      }
    }
    

结果处理

返回值的conversations数组中,userQuestion字段即为用户提交的未解答问题,你可以直接将该列表渲染到UI的待处理问题页。

二、补充答案更新知识库的API实现

在UI中为对应问题填写答案后,分两步完成知识库更新,修改才会对线上用户生效:

第一步:新增问答对到知识库

  • 请求方法:PATCH
  • 请求地址:https://<部署地域>.api.cognitive.microsoft.com/qnamaker/v4.0/knowledgebases/<知识库ID>
  • 请求头和上述接口一致
  • 请求体示例:
    {
      "add": {
        "qnaList": [
          {
            "id": <自定义唯一数字ID,只要不与现有问答ID冲突即可>,
            "answer": "<UI中填写的答案内容>",
            "source": "UI手动更新",
            "questions": [
              "<待处理的未解答问题内容>"
            ]
          }
        ]
      }
    }
    

第二步:发布知识库使修改生效

  • 请求方法:POST
  • 请求地址:https://<部署地域>.api.cognitive.microsoft.com/qnamaker/v4.0/knowledgebases/<知识库ID>/publish
  • 请求头同上,无需填写请求体

三、UI实现优化建议

  • 增加重复问题合并逻辑,同一问题被多次提交的仅展示1条,避免重复添加相同问答对
  • 给已处理的问题增加状态标记,避免重复操作
  • 不要将订阅密钥直接硬编码在前端代码中,建议通过自有后端服务做请求转发,防止密钥泄露被滥用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:15:07