Runtime - Generate Answer
GenerateAnswer call to query the knowledgebase.
POST {RuntimeEndpoint}/qnamaker/knowledgebases/{kbId}/generateAnswer
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
kb
|
path | True |
string |
Knowledgebase id. |
Runtime
|
path | True |
string |
QnA Maker App Service endpoint (for example: https://{qnaservice-hostname}.azurewebsites.net). |
Request Header
Name | Required | Type | Description |
---|---|---|---|
Authorization | True |
string |
Request Body
Name | Type | Description |
---|---|---|
context |
Context object with previous QnA's information. |
|
isTest |
boolean |
Query against the test index. |
qnaId |
string |
Exact qnaId to fetch from the knowledgebase, this field takes priority over question. |
question |
string |
User question to query against the knowledge base. |
rankerType |
string |
Optional field. Set to 'QuestionOnly' for using a question only Ranker. |
scoreThreshold |
number |
Threshold for answers returned based on score. |
strictFilters |
Find only answers that contain these metadata. |
|
strictFiltersCompoundOperationType |
Optional field. Set to OR for using OR as Operation for Strict Filters. |
|
top |
integer |
Max number of answers to be returned for the question. |
userId |
string |
Unique identifier for the user. Optional parameter for telemetry. For more information, refer Analytics and Telemetry. |
Responses
Name | Type | Description |
---|---|---|
200 OK |
GenerateAnswer call response. |
|
Other Status Codes |
Error response. |
Security
Authorization
Type:
apiKey
In:
header
Examples
Successful query
Sample request
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="
}
Sample response
{
"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"
}
]
}
]
}
Definitions
Name | Description |
---|---|
Context |
Context of a QnA |
Error |
The error object. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
Error |
One of a server-defined set of error codes. |
Error |
Error response. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
Inner |
An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses. |
MetadataDTO |
Name - value pair of metadata. |
PromptDTO |
Prompt for an answer. |
Qna |
QnADTO - Either QnaId or QnADTO needs to be present in a PromptDTO object |
Qn |
Represents Search Result. |
Qn |
Represents List of Question Answers. |
QueryDTO |
POST body schema to query the knowledgebase. |
Strict |
Optional field. Set to OR for using OR as Operation for Strict Filters. |
Context
Context of a QnA
Name | Type | Description |
---|---|---|
isContextOnly |
boolean |
To mark if a prompt is relevant only with a previous question or not. true - Do not include this QnA as search result for queries without context false - ignores context and includes this QnA in search result |
prompts |
List of prompts associated with the answer. |
Error
The error object. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
Name | Type | Description |
---|---|---|
code |
One of a server-defined set of error codes. |
|
details |
Error[] |
An array of details about specific errors that led to this reported error. |
innerError |
An object containing more specific information than the current object about the error. |
|
message |
string |
A human-readable representation of the error. |
target |
string |
The target of the error. |
ErrorCodeType
One of a server-defined set of error codes.
Name | Type | Description |
---|---|---|
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
Error response. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
Name | Type | Description |
---|---|---|
error |
The error object. |
InnerErrorModel
An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.
Name | Type | Description |
---|---|---|
code |
string |
A more specific error code than was provided by the containing error. |
innerError |
An object containing more specific information than the current object about the error. |
MetadataDTO
Name - value pair of metadata.
Name | Type | Description |
---|---|---|
name |
string |
Metadata name. |
value |
string |
Metadata value. |
PromptDTO
Prompt for an answer.
Name | Type | Description |
---|---|---|
displayOrder |
integer |
Index of the prompt - used in ordering of the prompts |
displayText |
string |
Text displayed to represent a follow up question prompt |
qna |
QnADTO - Either QnaId or QnADTO needs to be present in a PromptDTO object |
|
qnaId |
integer |
Qna id corresponding to the prompt - if QnaId is present, QnADTO object is ignored. |
Qna
QnADTO - Either QnaId or QnADTO needs to be present in a PromptDTO object
Name | Type | Description |
---|---|---|
answer |
string |
Answer text |
context |
Context of a QnA |
|
id |
integer |
Unique id for the Q-A. |
metadata |
List of metadata associated with the answer. |
|
questions |
string[] |
List of questions associated with the answer. |
source |
string |
Source from which Q-A was indexed. eg. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs |
QnASearchResult
Represents Search Result.
Name | Type | Description |
---|---|---|
answer |
string |
Answer. |
context |
Context object of the QnA |
|
id |
integer |
Id of the QnA result. |
metadata |
List of metadata. |
|
questions |
string[] |
List of questions. |
score |
number |
Search result score. |
source |
string |
Source of QnA result. |
QnASearchResultList
Represents List of Question Answers.
Name | Type | Description |
---|---|---|
answers |
Represents Search Result list. |
QueryDTO
POST body schema to query the knowledgebase.
Name | Type | Description |
---|---|---|
context |
Context object with previous QnA's information. |
|
isTest |
boolean |
Query against the test index. |
qnaId |
string |
Exact qnaId to fetch from the knowledgebase, this field takes priority over question. |
question |
string |
User question to query against the knowledge base. |
rankerType |
string |
Optional field. Set to 'QuestionOnly' for using a question only Ranker. |
scoreThreshold |
number |
Threshold for answers returned based on score. |
strictFilters |
Find only answers that contain these metadata. |
|
strictFiltersCompoundOperationType |
Optional field. Set to OR for using OR as Operation for Strict Filters. |
|
top |
integer |
Max number of answers to be returned for the question. |
userId |
string |
Unique identifier for the user. Optional parameter for telemetry. For more information, refer Analytics and Telemetry. |
StrictFiltersCompoundOperationType
Optional field. Set to OR for using OR as Operation for Strict Filters.
Name | Type | Description |
---|---|---|
AND |
string |
|
OR |
string |