Как обновить существующую базу знаний, используя QnA Maker API v4.0? - PullRequest
0 голосов
/ 21 мая 2018

Я успешно создал свою базу знаний, используя API .Но я забыл добавить некоторые альтернативные вопросы и метаданные для одной из пар.

Я заметил PATH метод в API для обновления базы знаний, поэтому обновление kb поддерживается.Я создал полезную нагрузку, которая выглядела так:

{
"add": {

},
"delete": {

},
"update": {
    "qnaList": [
       {
        "id": 1,
        "answer": "Answer",
        "source": "link_to_source",
        "questions": [
            "Question 1?",
            "Question 2?"
        ],
        "metadata": [
            {
                "name": "oldMetadata",
                "value": "oldMetadata"
            },
            {
                "name": "newlyAddedMetaData",
                "value": "newlyAddedMetaData"
            }
        ]
    }]}
}

Я получаю следующий ответ HTTP 202 Accepted:

{
"operationState": "NotStarted",
"createdTimestamp": "2018-05-21T07:46:52Z",
"lastActionTimestamp": "2018-05-21T07:46:52Z",
"userId": "user_uuid",
"operationId": "operation_uuid"
}

Итак, похоже, это сработало.Но на самом деле этот запрос не оказывает никакого влияния.

Когда я проверяю детали операции, он возвращает мне следующее:

{
"operationState": "Succeeded",
"createdTimestamp": "2018-05-21T07:46:52Z",
"lastActionTimestamp": "2018-05-21T07:46:54Z",
"resourceLocation": "/knowledgebases/kb_uuid",
"userId": "user_uuid",
"operationId": "operation_uuid"
}

Что я делаю неправильно?И как мне правильно обновить мой kb через API?

Пожалуйста, помогите

1 Ответ

0 голосов
/ 22 августа 2018

У меня была та же проблема, я обнаружил, что необходимо иметь все данные JSON, даже если они не использовались.В вашем случае вам нужно указать «name» и «urls» в разделе «update» и «Delete» в разделе «update / qnaList / questions»:

{
  "add": {},
  "delete": {},
  "update": {
  "name": "nameofKbBase", //this
  "qnaList": [
      {
         "id": 2370,
        "answer": "DemoAnswerEdit",
        "source": "CustomSource",
        "questions": {
         "add": [
            "DemoQuestionEdit"
          ],
           "delete": [] //this
        },
        "metadata": { }
      }
     ],
    "urls": [] //this
  }
}
...