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. |
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
Код ошибки, доступный для чтения человеком.
Значение | Описание |
---|---|
AzureCognitiveSearchIndexLimitReached | |
AzureCognitiveSearchIndexNotFound | |
AzureCognitiveSearchNotFound | |
AzureCognitiveSearchThrottling | |
Forbidden | |
InternalServerError | |
InvalidArgument | |
InvalidRequest | |
NotFound | |
OperationNotFound | |
ProjectNotFound | |
ServiceUnavailable | |
TooManyRequests | |
Unauthorized |
ErrorResponse
Ответ на ошибку.
Имя | Тип | Описание |
---|---|---|
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 |
Один из определяемых сервером кодов ошибок. |
|
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. |