Поделиться через


Runtime - Generate Answer

Вызов GenerateAnswer для запроса к базе знаний.

POST {RuntimeEndpoint}/qnamaker/knowledgebases/{kbId}/generateAnswer

Параметры URI

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

string

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

RuntimeEndpoint
path True

string

Конечная точка службы приложений QnA Maker (например, https://{qnaservice-hostname}.azurewebsites.net).

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

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

string

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

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

Context

Объект контекста с предыдущими сведениями QnA.

isTest

boolean

Запрос к тестовом индексу.

qnaId

string

Точное значение qnaId для получения из базы знаний, это поле имеет приоритет над вопросом.

question

string

Запрос пользователя к базе знаний.

rankerType

string

Необязательное поле. Установите значение "ВопросОнли" для использования только ранджера вопроса.

scoreThreshold

number

Пороговое значение для ответов, возвращаемых на основе оценки.

strictFilters

MetadataDTO[]

Найдите только ответы, содержащие эти метаданные.

strictFiltersCompoundOperationType

StrictFiltersCompoundOperationType

Необязательное поле. Задайте значение OR для использования OR в качестве операции для строгих фильтров.

top

integer (int32)

Максимальное количество ответов, возвращаемых для вопроса.

userId

string

Уникальный идентификатор пользователя. Необязательный параметр для телеметрии. Дополнительные сведения см. в аналитике и телеметрии.

Ответы

Имя Тип Описание
200 OK

QnASearchResultList

Ответ на вызов GenerateAnswer.

Other Status Codes

ErrorResponse

Ответ на ошибку.

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

Authorization

Тип: apiKey
В: header

Примеры

Successful query

Образец запроса

POST {RuntimeEndpoint}/qnamaker/knowledgebases/9d091697-fb8c-4ed5-9ac0-35bf8273bfff/generateAnswer


{
  "question": "qna maker and luis",
  "top": 6,
  "isTest": true,
  "scoreThreshold": 20,
  "strictFilters": [
    {
      "name": "category",
      "value": "api"
    }
  ],
  "userId": "sd53lsY="
}

Пример ответа

{
  "answers": [
    {
      "score": 28.54820341616869,
      "id": 20,
      "answer": "There is no direct integration of LUIS with QnA Maker. But, in your bot code, you can use LUIS and QnA Maker together.",
      "source": "Custom Editorial",
      "questions": [
        "How can I integrate LUIS with QnA Maker?"
      ],
      "metadata": [
        {
          "name": "category",
          "value": "api"
        }
      ]
    }
  ]
}

Определения

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

Контекст QnA

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.

InnerErrorModel

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

MetadataDTO

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

PromptDTO

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

Qna

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

QnASearchResult

Представляет результат поиска.

QnASearchResultList

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

QueryDTO

Схема тела POST для запроса базы знаний.

StrictFiltersCompoundOperationType

Необязательное поле. Задайте значение OR для использования OR в качестве операции для строгих фильтров.

Context

Контекст QnA

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

boolean

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

prompts

PromptDTO[]

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

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
EndpointKeysError
ExtractionFailure
Forbidden
KbNotFound
NotFound
OperationNotFound
QnaRuntimeError
QuotaExceeded
SKULimitExceeded
ServiceError
Unauthorized
Unspecified
ValidationFailure

ErrorResponse

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

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

Error

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

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

minLength: 1
maxLength: 100

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

value

string

minLength: 1
maxLength: 500

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

PromptDTO

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

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

integer (int32)

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

displayText

string

maxLength: 200

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

qna

Qna

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

qnaId

integer (int32)

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

Qna

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

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

string

minLength: 1
maxLength: 25000

Текст ответа

context

Context

Контекст QnA

id

integer (int32)

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

metadata

MetadataDTO[]

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

questions

string[]

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

source

string

maxLength: 300

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

QnASearchResult

Представляет результат поиска.

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

string

Ответ.

context

Context

Объект контекста QnA

id

integer (int32)

Идентификатор результата QnA.

metadata

MetadataDTO[]

Список метаданных.

questions

string[]

Список вопросов.

score

number

Оценка результатов поиска.

source

string

Источник результата QnA.

QnASearchResultList

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

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

QnASearchResult[]

Представляет список результатов поиска.

QueryDTO

Схема тела POST для запроса базы знаний.

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

Context

Объект контекста с предыдущими сведениями QnA.

isTest

boolean

Запрос к тестовом индексу.

qnaId

string

Точное значение qnaId для получения из базы знаний, это поле имеет приоритет над вопросом.

question

string

Запрос пользователя к базе знаний.

rankerType

string

Необязательное поле. Установите значение "ВопросОнли" для использования только ранджера вопроса.

scoreThreshold

number

Пороговое значение для ответов, возвращаемых на основе оценки.

strictFilters

MetadataDTO[]

Найдите только ответы, содержащие эти метаданные.

strictFiltersCompoundOperationType

StrictFiltersCompoundOperationType

Необязательное поле. Задайте значение OR для использования OR в качестве операции для строгих фильтров.

top

integer (int32)

Максимальное количество ответов, возвращаемых для вопроса.

userId

string

Уникальный идентификатор пользователя. Необязательный параметр для телеметрии. Дополнительные сведения см. в аналитике и телеметрии.

StrictFiltersCompoundOperationType

Необязательное поле. Задайте значение OR для использования OR в качестве операции для строгих фильтров.

Значение Описание
AND
OR