QnAMaker v4获取qna maker使用API​​生成的唯一ID

时间:2018-11-23 04:50:56

标签: qnamaker

在新的qna maker v4中,我正在使用api创建一个新问题,我可以创建一个问题,但是我没有得到唯一的ID来更新或删除记录。我正在使用PATCH更新知识库来添加新的记录/ qna对和GET操作详细信息,以查看操作是否成功,但是我无处找不到唯一的ID。我可以给一些指针吗

这些是我正在使用的两个API OperationsUpdate Knowlagebase

第一个添加qna的请求

PATCH /qnamaker/v4.0/knowledgebases/e2f231ec-e47d-4dbb-a4ba-6e6ddeb4eb92 HTTP/1.1 Host: westus.api.cognitive.microsoft.com Content-Type: application/json Ocp-Apim-Subscription-Key: fadbedca67d94c6f8f45f05d1d3c2892 cache-control: no-cache Postman-Token: a43ac861-3cb1-4547-8ccd-6266f67e9692 { "add": { "qnaList": [{ "id": 101, "answer": "Test case 101", "questions": [ "How do i add case 101?" ], "metadata": [{ "name": "Cat1", "value": "aapi" }] } ] } }

响应:{ "operationState": "NotStarted", "createdTimestamp": "2018-03-19T07:38:46Z", "lastActionTimestamp": "2018-03-19T07:39:29Z", "userId": "86bb8390-56c0-42c2-9f81-3de161981191", "operationId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1" }

没有收到问答的唯一ID

使用operationId上方的03a4f4ce-30a6-4ec6-b436-02bcdf6153e1发出的第二个请求

请求:https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/operations/{operationId}--03a4f4ce-30a6-4ec6-b436-02bcdf6153e1

响应:{ "operationState": "Succeeded", "createdTimestamp": "2018-03-19T07:38:46Z", "lastActionTimestamp": "2018-03-19T07:39:29Z", "resourceLocation": "https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/knowledgebases/9d091697-fb8c-4ed5-9ac0-35bf8273bfff", "userId": "86bb8390-56c0-42c2-9f81-3de161981191", "operationId": "03a4f4ce-30a6-4ec6-b436-02bcdf6153e1" }

仍然没有编辑qna所需的qna唯一ID

编辑请求:PATCH /qnamaker/v4.0/knowledgebases/e2f231ec-e47d-4dbb-a4ba-6e6ddeb4eb92 HTTP/1.1 Host: westus.api.cognitive.microsoft.com Content-Type: application/json Ocp-Apim-Subscription-Key: fadbedca67d94c6f8f45f05d1d3c2892 cache-control: no-cache Postman-Token: 2c82099a-7090-4557-afc4-9d4b111aff33 { "update": { "name": "QnA Maker + Emotion API FAQ Bot", "qnaList": [ { "id": 443, "answer": "Cat answer", "source": "Custom Q&A", "questions": { "add": [ "Sample add" ] } } ] } }

我将在哪里从443获取编辑问题所需的ID。提供的解决方案是给qna maker的另一个电话,如果我要批量编辑而不是解决方案

1 个答案:

答案 0 :(得分:0)

请更加清楚您的问题的结构。

我了解到您想做这两件事:

  • 修改问答对
  • 删除问答对

在执行上述两项操作之前,需要使用下面的API来检索问题和答案配对。

https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/quickstarts/csharp#get-answers-to-a-question-by-using-a-knowledge-base

使用此API指南(根据您的代码更改编程语言),它返回JSON响应。 JSON响应将保存每个问题答案的唯一“ id”。

希望这会有所帮助!