首页 > 解决方案 > QNA maker - 知识库 - Azure DevOps 管道,如何创建任何示例?

问题描述

有一个要求,需要为 QNA 创建 Azure Devops(CICD) 管道 - KB 如下

将 excel 文件导入知识库 保存和训练知识库 发布知识库

如何通过 Azure Devops Pipeline 完成。任何文档或步骤都可能会有所帮助。

标签: azure-devopsazure-devops-rest-apiqnamaker

解决方案


您确实需要尝试一下,以便我们提供更有针对性的建议,但我可以为您提供一些高级指导。首先,您需要查看QnA Maker Programmatic APIs。这些应该允许您访问您需要的所有功能。您可以在 DevOps Release Pipeline 中使用许多不同的任务来调用这些任务,但我更喜欢 Azure CLI,原因如下所述。

仅使用 API,您需要对订阅密钥、KBID 等值进行硬编码。为避免对这些值进行硬编码,您也可以通过 Azure CLI 以编程方式获取它们。如果将任务版本设置为 2.X,则可以使用 PowerShell。这是我获取 QnA Maker 密钥、订阅密钥、KBID 和端点密钥的脚本。

$QNAKEY= & az cognitiveservices account keys list -g "YOUR_RESOURCE_GROUP" --name "YOUR_COGNITIVE_SERVICE" --query key1 -o tsv

$header = @{"Ocp-Apim-Subscription-Key"="$QNAKEY"}

$res = Invoke-RestMethod -Uri "https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/knowledgebases" -Method 'Get' -Headers $header

$kb = $res.knowledgebases | Where-Object name -eq "YOUR_KB_NAME"
$kbId = $kb.id

$res = Invoke-RestMethod -Uri "https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/endpointkeys" -Method "Get" -Headers $header
$endpointKey = $res.primaryEndpointKey

请注意,以上假设您已经创建了 KB。只需查看导入 API 调用,看看您需要什么并进行相应调整。请注意,如果您正在创建新的 KB,QnA Maker 不会确保 KB 名称的唯一性。如果不进行某种检查,您最终将创建重复的 KB。

您应该能够使用这些方法(QnA Maker API 和 Azure CLI 在管道中调用它)来访问您需要的任何 KB 管理功能。


推荐阅读