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


Question Answering - Get Answers

Отвечает на указанный вопрос с помощью базы знаний.

POST {Endpoint}/language/:query-knowledgebases?projectName={projectName}&deploymentName={deploymentName}&api-version=2021-10-01

Параметры URI

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

string

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

api-version
query True

string

Версия КЛИЕНТСКОго API.

deploymentName
query True

string

Имя конкретного развертывания проекта, используемого.

projectName
query True

string

Имя используемого проекта.

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

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

string

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

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

ShortAnswerOptions

Настройка функции прогнозирования диапазона ответов.

confidenceScoreThreshold

number (double)

minimum: 0
maximum: 1

Минимальная оценка порогового значения для ответов: от 0 до 1.

context

KnowledgeBaseAnswerContext

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

filters

QueryFilters

Фильтрация QnAs на основе заданного списка метаданных и источников базы знаний.

includeUnstructuredSources

boolean

(Необязательно) Пометка для включения запроса по неструктурированным источникам.

qnaId

integer (int32)

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

question

string

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

rankerType

RankerKind

Тип используемого ранга.

top

integer (int32)

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

userId

string

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

Ответы

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

AnswersResult

Успешный ответ на получение ответов из базы знаний.

Other Status Codes

ErrorResponse

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

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

Ocp-Apim-Subscription-Key

Тип: apiKey
В: header

Примеры

Successful query

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

POST {Endpoint}/language/:query-knowledgebases?projectName=proj1&deploymentName=production&api-version=2021-10-01


{
  "question": "how long it takes to charge surface?",
  "top": 3,
  "userId": "sd53lsY=",
  "confidenceScoreThreshold": 0.2,
  "context": {
    "previousQnaId": 9,
    "previousUserQuery": "Where are QnA Maker quickstarts?"
  },
  "rankerType": "Default",
  "filters": {
    "metadataFilter": {
      "metadata": [
        {
          "key": "category",
          "value": "api"
        },
        {
          "key": "editorial",
          "value": "chitchat"
        }
      ],
      "logicalOperation": "AND"
    },
    "sourceFilter": [
      "filename1.pdf",
      "https://www.wikipedia.org/microsoft"
    ],
    "logicalOperation": "AND"
  },
  "answerSpanRequest": {
    "enable": true,
    "confidenceScoreThreshold": 0.2,
    "topAnswersWithSpan": 1
  },
  "includeUnstructuredSources": true
}

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

{
  "answers": [
    {
      "questions": [
        "Power and charging"
      ],
      "answer": "Power and charging**\n\nIt takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.\n\nYou can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface.",
      "confidenceScore": 0.65,
      "id": 20,
      "source": "surface-pro-4-user-guide-EN.pdf",
      "metadata": {
        "category": "api",
        "editorial": "chitchat"
      },
      "dialog": {
        "isContextOnly": false,
        "prompts": [
          {
            "displayOrder": 1,
            "qnaId": 23,
            "displayText": "prompt1"
          },
          {
            "displayOrder": 2,
            "qnaId": 36,
            "displayText": "prompt2"
          }
        ]
      },
      "answerSpan": {
        "text": "two to four hours",
        "confidenceScore": 0.3,
        "offset": 33,
        "length": 50
      }
    },
    {
      "questions": [
        "Charge your Surface Pro 4"
      ],
      "answer": "**Charge your Surface Pro 4**\n\n1.  Connect the two parts of the power cord.\n\n2.  Connect the power cord securely to the charging port.\n\n3.  Plug the power supply into an electrical outlet.",
      "confidenceScore": 0.32,
      "id": 13,
      "source": "surface-pro-4-user-guide-EN.pdf"
    }
  ]
}

Определения

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

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

AnswerSpan

Объект диапазона ответов QnA.

AnswersResult

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

enable

Включение или отключение прогнозирования диапазона ответов.

Error

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

ErrorCode

Код ошибки, доступный для чтения человеком.

ErrorResponse

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

InnerErrorCode

Код ошибки, доступный для чтения человеком.

InnerErrorModel

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

KnowledgeBaseAnswer

Представляет ответ базы знаний.

KnowledgeBaseAnswerContext

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

KnowledgeBaseAnswerDialog

Диалоговое окно, связанное с ответом.

KnowledgeBaseAnswerPrompt

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

LogicalOperationKind

Установите значение OR или AND для использования соответствующей логической операции.

MetadataFilter

Найдите QnAs, связанные с указанным списком метаданных.

MetadataRecord

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

QueryFilters

фильтруется по базе знаний.

RankerKind

Тип используемого ранга.

ShortAnswerOptions

Настройка функции прогнозирования диапазона ответов.

AnswersOptions

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

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

ShortAnswerOptions

Настройка функции прогнозирования диапазона ответов.

confidenceScoreThreshold

number (double)

minimum: 0
maximum: 1

Минимальная оценка порогового значения для ответов: от 0 до 1.

context

KnowledgeBaseAnswerContext

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

filters

QueryFilters

Фильтрация QnAs на основе заданного списка метаданных и источников базы знаний.

includeUnstructuredSources

boolean

(Необязательно) Пометка для включения запроса по неструктурированным источникам.

qnaId

integer (int32)

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

question

string

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

rankerType

RankerKind

Тип используемого ранга.

top

integer (int32)

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

userId

string

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

AnswerSpan

Объект диапазона ответов QnA.

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

number (double)

minimum: 0
maximum: 1

Прогнозируемая оценка диапазона ответов, диапазон значений составляет от 0 до 1.

length

integer (int32)

Длина диапазона ответа.

offset

integer (int32)

Смещение диапазона ответа от начала ответа.

text

string

Прогнозируемый текст диапазона ответов.

AnswersResult

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

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

KnowledgeBaseAnswer[]

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

enable

Включение или отключение прогнозирования диапазона ответов.

Значение Описание
True

Error

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

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

ErrorCode

Один из определяемых сервером кодов ошибок.

details

Error[]

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

innererror

InnerErrorModel

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

message

string

Читаемое пользователем представление ошибки.

target

string

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

ErrorCode

Код ошибки, доступный для чтения человеком.

Значение Описание
AzureCognitiveSearchIndexLimitReached
AzureCognitiveSearchIndexNotFound
AzureCognitiveSearchNotFound
AzureCognitiveSearchThrottling
Forbidden
InternalServerError
InvalidArgument
InvalidRequest
NotFound
OperationNotFound
ProjectNotFound
ServiceUnavailable
TooManyRequests
Unauthorized

ErrorResponse

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

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

Error

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

InnerErrorCode

Код ошибки, доступный для чтения человеком.

Значение Описание
AzureCognitiveSearchNotFound
AzureCognitiveSearchThrottling
ExtractionFailure
InvalidParameterValue
InvalidRequest
KnowledgeBaseNotFound

InnerErrorModel

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

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

InnerErrorCode

Один из определяемых сервером кодов ошибок.

details

object

Сведения об ошибке.

innererror

InnerErrorModel

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

message

string

Сообщение об ошибке.

target

string

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

KnowledgeBaseAnswer

Представляет ответ базы знаний.

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

string

Текст ответа.

answerSpan

AnswerSpan

Объект диапазона ответов QnA относительно вопроса пользователя.

confidenceScore

number (double)

minimum: 0
maximum: 1

Оценка достоверности ответа, значение диапазонов от 0 до 1.

dialog

KnowledgeBaseAnswerDialog

Диалоговое окно, связанное с ответом.

id

integer (int32)

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

metadata

object

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

questions

string[]

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

source

string

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

KnowledgeBaseAnswerContext

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

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

integer (int32)

Предыдущий поворот верхнего ответа результирующий идентификатор QnA.

previousUserQuery

string

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

KnowledgeBaseAnswerDialog

Диалоговое окно, связанное с ответом.

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

boolean

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

prompts

KnowledgeBaseAnswerPrompt[]

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

KnowledgeBaseAnswerPrompt

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

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

integer (int32)

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

displayText

string

maxLength: 200

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

qnaId

integer (int32)

Идентификатор QnA, соответствующий запросу.

LogicalOperationKind

Установите значение OR или AND для использования соответствующей логической операции.

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

MetadataFilter

Найдите QnAs, связанные с указанным списком метаданных.

Имя Тип Default value Описание
logicalOperation

LogicalOperationKind

AND

Операция, используемая для объединения фильтров метаданных.

metadata

MetadataRecord[]

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

MetadataRecord

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

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

string

Ключ метаданных из словаря метаданных, используемый в QnA.

value

string

Значение метаданных из словаря метаданных, используемого в QnA.

QueryFilters

фильтруется по базе знаний.

Имя Тип Default value Описание
logicalOperation

LogicalOperationKind

AND

Логическая операция, используемая для объединения фильтра метаданных с исходным фильтром.

metadataFilter

MetadataFilter

Найдите QnAs, связанные с указанным списком метаданных.

sourceFilter

string[]

Найдите QnAs, связанные с любым из указанных источников в базе знаний.

RankerKind

Тип используемого ранга.

Значение Описание
Default

Рангер по умолчанию.

QuestionOnly

Вопрос только рангер.

ShortAnswerOptions

Настройка функции прогнозирования диапазона ответов.

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

number (double)

minimum: 0
maximum: 1

Минимальная оценка порогового значения, необходимая для включения диапазона ответов, диапазоны значений от 0 до 1.

enable

enable

Включение или отключение прогнозирования диапазона ответов.

topAnswersWithSpan

integer (int32)

minimum: 1
maximum: 10

Число лучших ответов, которые следует учитывать для прогнозирования диапазона от 1 до 10.