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://< resource-name.api.cognitiveservices.azure.com>). |
|
api-version
|
query | True |
string |
Версия КЛИЕНТСКОго API. |
|
deployment
|
query | True |
string |
Имя конкретного развертывания проекта, используемого. |
|
project
|
query | True |
string |
Имя используемого проекта. |
Заголовок запроса
| Имя | Обязательно | Тип | Описание |
|---|---|---|---|
| Ocp-Apim-Subscription-Key | True |
string |
Текст запроса
| Имя | Тип | Описание |
|---|---|---|
| answerSpanRequest |
Настройка функции прогнозирования диапазона ответов. |
|
| confidenceScoreThreshold |
number (double) minimum: 0maximum: 1 |
Минимальная оценка порогового значения для ответов: от 0 до 1. |
| context |
Объект контекста с предыдущими сведениями QnA. |
|
| filters |
Фильтрация QnAs на основе заданного списка метаданных и источников базы знаний. |
|
| includeUnstructuredSources |
boolean |
(Необязательно) Пометка для включения запроса по неструктурированным источникам. |
| qnaId |
integer (int32) |
Точный идентификатор QnA для получения из базы знаний, это поле имеет приоритет над вопросом. |
| question |
string |
Запрос пользователя к базе знаний. |
| rankerType |
Тип используемого ранга. |
|
| top |
integer (int32) |
Максимальное количество ответов, возвращаемых для вопроса. |
| userId |
string |
Уникальный идентификатор пользователя. |
Ответы
| Имя | Тип | Описание |
|---|---|---|
| 200 OK |
Успешный ответ на получение ответов из базы знаний. |
|
| Other Status Codes |
Ответ на ошибку. |
Безопасность
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"
}
]
}
Определения
| Имя | Описание |
|---|---|
|
Answers |
Параметры для запроса базы знаний. |
|
Answer |
Объект диапазона ответов QnA. |
|
Answers |
Представляет список ответов на вопросы. |
| enable |
Включение или отключение прогнозирования диапазона ответов. |
| Error |
Объект ошибки. |
|
Error |
Код ошибки, доступный для чтения человеком. |
|
Error |
Ответ на ошибку. |
|
Inner |
Код ошибки, доступный для чтения человеком. |
|
Inner |
Объект, содержащий более конкретные сведения об ошибке. В соответствии с рекомендациями по API Microsoft One — https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
|
Knowledge |
Представляет ответ базы знаний. |
|
Knowledge |
Объект контекста с предыдущими сведениями QnA. |
|
Knowledge |
Диалоговое окно, связанное с ответом. |
|
Knowledge |
Запрос ответа. |
|
Logical |
Установите значение OR или AND для использования соответствующей логической операции. |
|
Metadata |
Найдите QnAs, связанные с указанным списком метаданных. |
|
Metadata |
Объект, предоставляя пару значений ключа для каждого метаданных. |
|
Query |
фильтруется по базе знаний. |
|
Ranker |
Тип используемого ранга. |
|
Short |
Настройка функции прогнозирования диапазона ответов. |
AnswersOptions
Параметры для запроса базы знаний.
| Имя | Тип | Описание |
|---|---|---|
| answerSpanRequest |
Настройка функции прогнозирования диапазона ответов. |
|
| confidenceScoreThreshold |
number (double) minimum: 0maximum: 1 |
Минимальная оценка порогового значения для ответов: от 0 до 1. |
| context |
Объект контекста с предыдущими сведениями QnA. |
|
| filters |
Фильтрация QnAs на основе заданного списка метаданных и источников базы знаний. |
|
| includeUnstructuredSources |
boolean |
(Необязательно) Пометка для включения запроса по неструктурированным источникам. |
| qnaId |
integer (int32) |
Точный идентификатор QnA для получения из базы знаний, это поле имеет приоритет над вопросом. |
| question |
string |
Запрос пользователя к базе знаний. |
| rankerType |
Тип используемого ранга. |
|
| top |
integer (int32) |
Максимальное количество ответов, возвращаемых для вопроса. |
| userId |
string |
Уникальный идентификатор пользователя. |
AnswerSpan
Объект диапазона ответов QnA.
| Имя | Тип | Описание |
|---|---|---|
| confidenceScore |
number (double) minimum: 0maximum: 1 |
Прогнозируемая оценка диапазона ответов, диапазон значений составляет от 0 до 1. |
| length |
integer (int32) |
Длина диапазона ответа. |
| offset |
integer (int32) |
Смещение диапазона ответа от начала ответа. |
| text |
string |
Прогнозируемый текст диапазона ответов. |
AnswersResult
Представляет список ответов на вопросы.
| Имя | Тип | Описание |
|---|---|---|
| answers |
Представляет список результатов ответа. |
enable
Включение или отключение прогнозирования диапазона ответов.
| Значение | Описание |
|---|---|
| True |
Error
Объект ошибки.
| Имя | Тип | Описание |
|---|---|---|
| code |
Один из определяемых сервером кодов ошибок. |
|
| details |
Error[] |
Массив сведений об определенных ошибках, которые привели к этой сообщаемой ошибке. |
| innererror |
Объект, содержащий более конкретные сведения, чем текущий объект об ошибке. |
|
| message |
string |
Читаемое пользователем представление ошибки. |
| target |
string |
Целевой объект ошибки. |
ErrorCode
Код ошибки, доступный для чтения человеком.
| Значение | Описание |
|---|---|
| InvalidRequest | |
| InvalidArgument | |
| Unauthorized | |
| Forbidden | |
| NotFound | |
| ProjectNotFound | |
| OperationNotFound | |
| AzureCognitiveSearchNotFound | |
| AzureCognitiveSearchIndexNotFound | |
| TooManyRequests | |
| AzureCognitiveSearchThrottling | |
| AzureCognitiveSearchIndexLimitReached | |
| InternalServerError | |
| ServiceUnavailable |
ErrorResponse
Ответ на ошибку.
| Имя | Тип | Описание |
|---|---|---|
| error |
Объект ошибки. |
InnerErrorCode
Код ошибки, доступный для чтения человеком.
| Значение | Описание |
|---|---|
| InvalidRequest | |
| InvalidParameterValue | |
| KnowledgeBaseNotFound | |
| AzureCognitiveSearchNotFound | |
| AzureCognitiveSearchThrottling | |
| ExtractionFailure |
InnerErrorModel
Объект, содержащий более конкретные сведения об ошибке. В соответствии с рекомендациями по API Microsoft One — https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
| Имя | Тип | Описание |
|---|---|---|
| code |
Один из определяемых сервером кодов ошибок. |
|
| details |
object |
Сведения об ошибке. |
| innererror |
Объект, содержащий более конкретные сведения, чем текущий объект об ошибке. |
|
| message |
string |
Сообщение об ошибке. |
| target |
string |
Целевой объект ошибки. |
KnowledgeBaseAnswer
Представляет ответ базы знаний.
| Имя | Тип | Описание |
|---|---|---|
| answer |
string |
Текст ответа. |
| answerSpan |
Объект диапазона ответов QnA относительно вопроса пользователя. |
|
| confidenceScore |
number (double) minimum: 0maximum: 1 |
Оценка достоверности ответа, значение диапазонов от 0 до 1. |
| dialog |
Диалоговое окно, связанное с ответом. |
|
| 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
Запрос ответа.
| Имя | Тип | Описание |
|---|---|---|
| displayOrder |
integer (int32) |
Индекс запроса — используется в порядке запросов. |
| displayText |
string maxLength: 200 |
Текст, отображаемый для представления запроса на последующий запрос. |
| qnaId |
integer (int32) |
Идентификатор QnA, соответствующий запросу. |
LogicalOperationKind
Установите значение OR или AND для использования соответствующей логической операции.
| Значение | Описание |
|---|---|
| AND | |
| OR |
MetadataFilter
Найдите QnAs, связанные с указанным списком метаданных.
| Имя | Тип | Default value | Описание |
|---|---|---|---|
| logicalOperation | AND |
Операция, используемая для объединения фильтров метаданных. |
|
| metadata |
Объект, предоставляя пару значений ключа для каждого метаданных. |
MetadataRecord
Объект, предоставляя пару значений ключа для каждого метаданных.
| Имя | Тип | Описание |
|---|---|---|
| key |
string |
Ключ метаданных из словаря метаданных, используемый в QnA. |
| value |
string |
Значение метаданных из словаря метаданных, используемого в QnA. |
QueryFilters
фильтруется по базе знаний.
| Имя | Тип | Default value | Описание |
|---|---|---|---|
| logicalOperation | AND |
Логическая операция, используемая для объединения фильтра метаданных с исходным фильтром. |
|
| metadataFilter |
Найдите QnAs, связанные с указанным списком метаданных. |
||
| sourceFilter |
string[] |
Найдите QnAs, связанные с любым из указанных источников в базе знаний. |
RankerKind
Тип используемого ранга.
| Значение | Описание |
|---|---|
| Default |
Рангер по умолчанию. |
| QuestionOnly |
Вопрос только рангер. |
ShortAnswerOptions
Настройка функции прогнозирования диапазона ответов.
| Имя | Тип | Описание |
|---|---|---|
| confidenceScoreThreshold |
number (double) minimum: 0maximum: 1 |
Минимальная оценка порогового значения, необходимая для включения диапазона ответов, диапазоны значений от 0 до 1. |
| enable |
Включение или отключение прогнозирования диапазона ответов. |
|
| topAnswersWithSpan |
integer (int32) minimum: 1maximum: 10 |
Число лучших ответов, которые следует учитывать для прогнозирования диапазона от 1 до 10. |