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

如何通过REST API向Azure QnA Maker批量添加多个URL?

在Azure QnA Maker中添加更多URL的REST API方法及示例

好问题!要给已运行的QnA Maker知识库新增更多公网URL,你需要调用Update Knowledgebase的PUT REST API方法——这个接口专门用来更新现有知识库的内容,包括添加新的数据源(比如URL、文件或者手动Q&A对)。

关键准备项

在调用API前,你得先备好这几个参数:

  • 你的QnA Maker资源订阅密钥:可以在Azure门户对应资源的「密钥和终结点」页面找到
  • 目标知识库ID:要么在QnA Maker门户的知识库详情页查看,要么通过List Knowledgebases API获取
  • 资源所在区域:比如westus、eastasia,对应API请求的域名前缀

入门请求示例

请求URL

把占位符换成你的实际信息:

PUT https://<你的区域>.api.cognitive.microsoft.com/qnamaker/v4.0/knowledgebases/<知识库ID>

请求头部

必须包含这两个头部:

Ocp-Apim-Subscription-Key: <你的订阅密钥>
Content-Type: application/json

请求体

核心是在add字段下的urls数组里填入要新增的URL——API会自动把这些新URL的内容合并到现有知识库,不会覆盖已有的数据:

{
  "add": {
    "urls": [
      "https://your-new-faq-site-1.com/faq.html",
      "https://your-new-faq-site-2.com/help-center.html"
    ]
  },
  "delete": {},
  "update": {}
}

后续检查更新状态

因为知识库更新是异步操作,调用后会返回202 Accepted状态码和一个operationId。你可以用这个ID调用Get Operation Details API来确认更新是否完成:

GET https://<你的区域>.api.cognitive.microsoft.com/qnamaker/v4.0/operations/<operationId>

返回结果里的operationState变成Succeeded就说明新URL的内容已经成功导入知识库了。

小提示

  • 确保要添加的URL是公网可访问的,QnA Maker的爬虫需要能正常抓取页面内容
  • 如果需要,你还可以在add字段里同时添加手动Q&A对或者文件,一次完成多种内容更新
  • 生产环境里别直接硬编码订阅密钥,建议用Azure密钥保管库或者AD认证来管理凭证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 07:12:45