Knowledgebase - Create

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

POST {Endpoint}/qnamaker/v5.0-preview.2/knowledgebases/create

Параметры URI

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

string

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

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

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

string

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

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

string

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

defaultAnswer

string

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

defaultAnswerUsedForExtraction

string

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

enableHierarchicalExtraction

boolean

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

enableMultipleLanguages

boolean

Задайте значение true, чтобы разрешить создание баз знаний на разных языках для одного и того же ресурса.

files

FileDTO[]

Список файлов, из которых требуется извлечь Q-A.

language

string

Язык базы знаний. Список поддерживаемых языков можно найти здесь.

qnaList

QnADTO[]

Список Q-A (QnADTO), добавляемых в базу знаний. Идентификаторы Q-A назначаются службой и должны быть опущены.

urls

string[]

Список URL-адресов, используемых для извлечения Q-A.

Ответы

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

Operation

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

Other Status Codes

ErrorResponse

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

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

Ocp-Apim-Subscription-Key

Type: apiKey
In: header

Примеры

Successful query

Sample Request

POST {Endpoint}/qnamaker/v5.0-preview.2/knowledgebases/create


{
  "name": "QnA Maker FAQ",
  "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": []
    },
    {
      "id": 0,
      "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": [
        "How do I programmatically create a KB?"
      ],
      "metadata": [
        {
          "name": "category",
          "value": "api"
        }
      ],
      "context": {
        "isContextOnly": false,
        "prompts": [
          {
            "displayOrder": 1,
            "displayText": "Update KB",
            "qna": {
              "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",
              "questions": [
                "How do I programmatically update my KB?"
              ],
              "metadata": [
                {
                  "name": "category",
                  "value": "api"
                }
              ],
              "context": {
                "isContextOnly": false,
                "prompts": [
                  {
                    "displayOrder": 1,
                    "displayText": "Refresh Endpoint Keys",
                    "qna": {
                      "answer": "You can use our REST apis to refresh endpoint keys. See here for details: https://docs.microsoft.com/en-us/rest/api/cognitiveservices/qnamaker/endpointkeys/refreshkeys",
                      "questions": [
                        "How do I programmatically refresh endpoint keys?"
                      ]
                    }
                  }
                ]
              }
            }
          }
        ]
      }
    }
  ],
  "urls": [
    "https://docs.microsoft.com/en-in/azure/cognitive-services/qnamaker/faqs",
    "https://docs.microsoft.com/en-us/bot-framework/resources-bot-framework-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"
    }
  ]
}

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

Определения

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

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

CreateKbDTO

Публикация схемы текста для операции CreateKb.

Error

Объект 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.

MetadataDTO

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

Operation

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

OperationStateType

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

PromptDTO

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

Qna

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

QnADTO

Объект Q-A.

Context

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

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

boolean

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

promptsToAdd

PromptDTO[]

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

promptsToDelete

integer[]

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

CreateKbDTO

Публикация схемы текста для операции CreateKb.

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

string

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

defaultAnswerUsedForExtraction

string

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

enableHierarchicalExtraction

boolean

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

enableMultipleLanguages

boolean

Задайте значение true, чтобы разрешить создание баз знаний на разных языках для одного и того же ресурса.

files

FileDTO[]

Список файлов, из которых требуется извлечь Q-A.

language

string

Язык базы знаний. Список поддерживаемых языков можно найти здесь.

name

string

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

qnaList

QnADTO[]

Список Q-A (QnADTO), добавляемых в базу знаний. Идентификаторы Q-A назначаются службой и должны быть опущены.

urls

string[]

Список URL-адресов, используемых для извлечения Q-A.

Error

Объект 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

Объект 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

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

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