Как обновить существующую Базу знаний, используя QnA Maker API v4.0?
Я успешно создал свою базу знаний, используя 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 ответ
У меня была та же проблема, я обнаружил, что необходимо иметь все данные 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
}
}