Knowledgebase - Update

Асинхронная операция изменения базы знаний.

PATCH {Endpoint}/qnamaker/v5.0-preview.2/knowledgebases/{kbId}

Параметры URI

Имя В Обязательно Тип Описание
Endpoint
path True

string

Поддерживаемая конечная точка Cognitive Services (например, https://< qnamaker-resource-name >.api.cognitiveservices.azure.com).

kbId
path True

string

Идентификатор базы знаний.

Заголовок запроса

Имя Обязательно Тип Описание
Ocp-Apim-Subscription-Key True

string

Текст запроса

Имя Тип Описание
add

Add

Экземпляр CreateKbInputDTO для операции добавления

defaultAnswerUsedForExtraction

string

Текстовая строка, используемая в качестве ответа в любом Q-A, который не имеет извлеченных ответов из документа, но имеет иерархию. Требуется, если для поля EnableHierarchicalExtraction задано значение True.

delete

Delete

Экземпляр DeleteKbContentsDTO для операции удаления

enableHierarchicalExtraction

boolean

Включите иерархическое извлечение Q-A из файлов и URL-адресов. Значение, заданное во время создания базы знаний, будет использоваться, если это поле отсутствует.

update

Update

Экземпляр UpdateKbContentsDTO для операции обновления

Ответы

Имя Тип Описание
202 Accepted

Operation

Сведения об асинхронной операции.

Headers

Location: string

Other Status Codes

ErrorResponse

Ответ об ошибке.

Безопасность

Ocp-Apim-Subscription-Key

Type: apiKey
In: header

Примеры

Successful query

Sample Request

PATCH {Endpoint}/qnamaker/v5.0-preview.2/knowledgebases/9d091697-fb8c-4ed5-9ac0-35bf8273bfff


{
  "add": {
    "qnaList": [
      {
        "id": 0,
        "answer": "You can change the default message if you use the QnAMakerDialog. See this for details: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle",
        "source": "Custom Editorial",
        "questions": [
          "How can I change the default message from QnA Maker?"
        ],
        "metadata": []
      }
    ],
    "urls": [
      "https://docs.microsoft.com/en-us/azure/cognitive-services/Emotion/FAQ"
    ],
    "files": [
      {
        "fileName": "SurfaceManual.pdf",
        "fileUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf"
      }
    ]
  },
  "delete": {
    "ids": [
      13,
      35
    ]
  },
  "update": {
    "name": "QnA Maker FAQ Prompts Bot",
    "qnaList": [
      {
        "id": 2,
        "answer": "You can use our REST apis to create a KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/create",
        "source": "Custom Editorial",
        "questions": {
          "add": [],
          "delete": []
        },
        "metadata": {
          "add": [],
          "delete": []
        },
        "context": {
          "isContextOnly": false,
          "promptsToAdd": [
            {
              "displayText": "Add Prompts",
              "displayOrder": 0,
              "qna": {
                "id": 0,
                "answer": "Click here to know more https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/how-to/multiturn-conversation",
                "source": "Editorial",
                "questions": [
                  "How can I add prompts?"
                ],
                "metadata": [],
                "context": {
                  "isContextOnly": false,
                  "prompts": []
                }
              },
              "qnaId": 0
            },
            {
              "displayText": "Delete Prompts",
              "displayOrder": 0,
              "qna": {
                "id": 0,
                "answer": "Click here to know more https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/how-to/multiturn-conversation",
                "source": "Editorial",
                "questions": [
                  "How can I delete delete prompts?"
                ],
                "metadata": [],
                "context": {
                  "isContextOnly": false,
                  "prompts": []
                }
              },
              "qnaId": 0
            },
            {
              "displayText": "Update Knowledgebase",
              "displayOrder": 0,
              "qna": null,
              "qnaId": 3
            }
          ],
          "promptsToDelete": [
            3
          ]
        }
      },
      {
        "id": 3,
        "answer": "You can use our REST apis to update your KB. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/knowledgebase/update",
        "source": "Custom Editorial",
        "questions": {
          "add": [],
          "delete": []
        },
        "metadata": {
          "delete": [
            {
              "name": "category",
              "value": "api"
            }
          ],
          "add": [
            {
              "name": "category",
              "value": "programmatic"
            }
          ]
        },
        "context": {
          "isContextOnly": false,
          "promptsToAdd": [
            {
              "displayText": "Regenerate Endpoint keys",
              "displayOrder": 1,
              "qna": null,
              "qnaId": 4
            }
          ],
          "promptsToDelete": [
            4
          ]
        }
      }
    ]
  }
}

Sample Response

{
  "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"
}

Определения

Имя Описание
Add

Экземпляр CreateKbInputDTO для операции добавления

Context

Контекст, связанный с Qna, который требуется обновить.

Delete

Экземпляр DeleteKbContentsDTO для операции удаления

Error

Объект ошибки. В соответствии с рекомендациями по API Microsoft One — https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

ErrorCodeType

Один из серверных наборов кодов ошибок.

ErrorResponse

Ответ об ошибке. В соответствии с рекомендациями по API Microsoft One — https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

FileDTO

DTO для хранения сведений о отправленных файлах.

InnerErrorModel

Объект , содержащий более конкретные сведения об ошибке. В соответствии с рекомендациями по API Microsoft One — https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Metadata

Список метаданных, связанных с ответом для обновления

MetadataDTO

Имя — пара значений метаданных.

Operation

Запись для отслеживания длительных операций.

OperationStateType

Состояние операции.

PromptDTO

Запрос ответа.

Qna

QnADTO — В объекте PromptDTO должен присутствовать QnaId или QnADTO.

QnADTO

Объект Q-A.

Questions

Список вопросов, связанных с ответом.

Update

Экземпляр UpdateKbContentsDTO для операции обновления

UpdateKbOperationDTO

Содержит список вопросов, которые необходимо обновить.

UpdateQnaDTO

Схема текста PATCH для обновления списка вопросов

Add

Экземпляр CreateKbInputDTO для операции добавления

Имя Тип Описание
files

FileDTO[]

Список файлов, добавляемых в базу знаний.

qnaList

QnADTO[]

Список QNA, добавляемых в индекс. Идентификаторы создаются службой и должны быть опущены.

urls

string[]

Список URL-адресов, добавляемых в базу знаний.

Context

Контекст, связанный с Qna, который требуется обновить.

Имя Тип Описание
isContextOnly

boolean

Чтобы пометить, является ли запрос актуальным только с предыдущим вопросом или нет. true — не включать этот вопрос в качестве результата поиска для запросов без контекста false — игнорирует контекст и включает этот вопрос в результат поиска.

promptsToAdd

PromptDTO[]

Список запросов для добавления в qna.

promptsToDelete

integer[]

Список запросов, связанных с qna для удаления

Delete

Экземпляр DeleteKbContentsDTO для операции удаления

Имя Тип Описание
ids

integer[]

Список идентификаторов Qna, которые необходимо удалить

sources

string[]

Список источников, которые необходимо удалить из базы знаний.

Error

Объект ошибки. В соответствии с рекомендациями по API Microsoft One — https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Имя Тип Описание
code

ErrorCodeType

Один из серверных наборов кодов ошибок.

details

Error[]

Массив сведений о конкретных ошибках, которые привели к этой сообщаемой ошибке.

innerError

InnerErrorModel

Объект , содержащий более конкретные сведения об ошибке, чем текущий объект.

message

string

Понятное представление ошибки.

target

string

Целевой объект ошибки.

ErrorCodeType

Один из серверных наборов кодов ошибок.

Имя Тип Описание
BadArgument

string

EndpointKeysError

string

ExtractionFailure

string

Forbidden

string

KbNotFound

string

NotFound

string

OperationNotFound

string

QnaRuntimeError

string

QuotaExceeded

string

SKULimitExceeded

string

ServiceError

string

Unauthorized

string

Unspecified

string

ValidationFailure

string

ErrorResponse

Ответ об ошибке. В соответствии с рекомендациями по API Microsoft One — https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Имя Тип Описание
error

Error

Объект ошибки.

FileDTO

DTO для хранения сведений о отправленных файлах.

Имя Тип Описание
fileName

string

Имя файла. Поддерживаемые типы файлов: ".tsv", ".pdf", ".txt", ".docx", ".xlsx".

fileUri

string

Общедоступный URI файла.

isUnstructured

boolean

Необязательный флаг, указывающий, является ли данный файл неструктурированным.

InnerErrorModel

Объект , содержащий более конкретные сведения об ошибке. В соответствии с рекомендациями по API Microsoft One — https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Имя Тип Описание
code

string

Более конкретный код ошибки, чем указано в содержающей ошибке.

innerError

InnerErrorModel

Объект , содержащий более конкретные сведения об ошибке, чем текущий объект.

Metadata

Список метаданных, связанных с ответом для обновления

Имя Тип Описание
add

MetadataDTO[]

Список метаданных, связанных с добавляемого ответа

delete

MetadataDTO[]

Список метаданных, связанных с ответом для удаления

MetadataDTO

Имя — пара значений метаданных.

Имя Тип Описание
name

string

Имя метаданных

value

string

Значение метаданных.

Operation

Запись для отслеживания длительных операций.

Имя Тип Описание
createdTimestamp

string

Метка времени создания операции.

errorResponse

ErrorResponse

Сведения об ошибке в случае сбоев.

lastActionTimestamp

string

Метка времени ввода текущего состояния.

operationId

string

Идентификатор операции.

operationState

OperationStateType

Состояние операции.

resourceLocation

string

Относительный URI расположения целевого ресурса для завершенных ресурсов.

userId

string

Идентификатор пользователя

OperationStateType

Состояние операции.

Имя Тип Описание
Failed

string

NotStarted

string

Running

string

Succeeded

string

PromptDTO

Запрос ответа.

Имя Тип Описание
displayOrder

integer

Индекс запроса — используется при упорядочении запросов.

displayText

string

Текст, отображаемый для представления запроса на последующий вопрос

qna

Qna

QnADTO — В объекте PromptDTO должен присутствовать QnaId или QnADTO.

qnaId

integer

Идентификатор Qna, соответствующий запросу. Если QnaId присутствует, объект QnADTO игнорируется.

Qna

QnADTO — В объекте PromptDTO должен присутствовать QnaId или QnADTO.

Имя Тип Описание
answer

string

Текст ответа

context

Context

Контекст QnA

id

integer

Уникальный идентификатор для Q-A.

lastUpdatedTimestamp

string

Метка времени последнего обновления QnA.

metadata

MetadataDTO[]

Список метаданных, связанных с ответом.

questions

string[]

Список вопросов, связанных с ответом.

source

string

Источник, из которого индексировался Q-A. Например. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs

QnADTO

Объект Q-A.

Имя Тип Описание
answer

string

Текст ответа

context

Context

Контекст QnA

id

integer

Уникальный идентификатор для Q-A.

lastUpdatedTimestamp

string

Метка времени последнего обновления QnA.

metadata

MetadataDTO[]

Список метаданных, связанных с ответом.

questions

string[]

Список вопросов, связанных с ответом.

source

string

Источник, из которого индексировался Q-A. Например. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs

Questions

Список вопросов, связанных с ответом.

Имя Тип Описание
add

string[]

Список вопросов для добавления

delete

string[]

Список вопросов, которые необходимо удалить.

Update

Экземпляр UpdateKbContentsDTO для операции обновления

Имя Тип Описание
defaultAnswer

string

Ответ по умолчанию отправляется пользователю, если в базе знаний не найдено подходящего совпадения.

name

string

Понятное имя базы знаний.

qnaList

UpdateQnaDTO[]

Список Q-A (UpdateQnaDTO), добавляемых в базу знаний.

urls

string[]

Список существующих URL-адресов для обновления. Содержимое будет извлечено и переиндексировано.

UpdateKbOperationDTO

Содержит список вопросов, которые необходимо обновить.

Имя Тип Описание
add

Add

Экземпляр CreateKbInputDTO для операции добавления

defaultAnswerUsedForExtraction

string

Текстовая строка, используемая в качестве ответа в любом Q-A, который не имеет извлеченных ответов из документа, но имеет иерархию. Требуется, если для поля EnableHierarchicalExtraction задано значение True.

delete

Delete

Экземпляр DeleteKbContentsDTO для операции удаления

enableHierarchicalExtraction

boolean

Включите иерархическое извлечение Q-A из файлов и URL-адресов. Значение, заданное во время создания базы знаний, будет использоваться, если это поле отсутствует.

update

Update

Экземпляр UpdateKbContentsDTO для операции обновления

UpdateQnaDTO

Схема текста PATCH для обновления списка вопросов

Имя Тип Описание
answer

string

Текст ответа

context

Context

Контекст, связанный с Qna, который требуется обновить.

id

integer

Уникальный идентификатор для Q-A

metadata

Metadata

Список метаданных, связанных с ответом для обновления

questions

Questions

Список вопросов, связанных с ответом.

source

string

Источник, из которого индексировался Q-A. Например. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs