你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Knowledgebase - Generate Answer

GenerateAnswer 调用以查询知识库 (QnA Maker 托管) 。

POST {Endpoint}/qnamaker/v5.0-preview.1/knowledgebases/{kbId}/generateAnswer

URI 参数

Name In Required Type Description
Endpoint
path True
  • string

支持的认知服务终结点 (,例如 https://< qnamaker-resource-name >.api.cognitiveservices.azure.com) 。

kbId
path True
  • string

知识库 ID。

请求头

Name Required Type Description
Ocp-Apim-Subscription-Key True
  • string

请求正文

Name Type Description
answerSpanRequest

配置答案范围预测功能。

context

具有先前 QnA 信息的上下文对象。

isTest
  • boolean

针对测试索引进行查询。

qnaId
  • string

要从知识库中提取的确切 qnaId,此字段优先于问题。

question
  • string

要针对知识库查询的用户问题。

rankerType
  • string

可选字段。 设置为“QuestionOnly”以仅使用问题排名器。

scoreThreshold
  • number

答案的最小阈值分数。

strictFilters

查找与给定元数据列表关联的 QnA。

strictFiltersCompoundOperationType

可选字段。 设置为“OR”,以便对严格筛选器使用 OR 操作。

top
  • integer

要为问题返回的最大答案数。

userId
  • string

用户的唯一标识符。

响应

Name Type Description
200 OK

GenerateAnswer 调用响应。

Other Status Codes

错误响应。

安全性

Ocp-Apim-Subscription-Key

Type: apiKey
In: header

示例

Successful query

Sample Request

POST {Endpoint}/qnamaker/v5.0-preview.1/knowledgebases/9d091697-fb8c-4ed5-9ac0-35bf8273bfff/generateAnswer


{
  "question": "How much time it takes to complete quickstart guide?",
  "top": 6,
  "isTest": true,
  "context": {
    "previousQnaId": 9,
    "previousUserQuery": "Where are QnA Maker quickstarts?"
  },
  "scoreThreshold": 20,
  "strictFilters": [
    {
      "name": "category",
      "value": "api"
    }
  ],
  "answerSpanRequest": {
    "enable": true,
    "scoreThreshold": 25,
    "topAnswersWithSpan": 1
  },
  "userId": "sd53lsY="
}

Sample Response

{
  "answers": [
    {
      "questions": [
        "Complete a quickstart"
      ],
      "answer": "We offer quickstarts in most popular programming languages, each designed to teach you basic design patterns, and have you running code in less than 10 minutes. See the following list for the quickstart for each feature.\n\n*   [Get started with the LUIS client library](https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/quickstarts/quickstart-sdk)\n\n*   [Get started with the LUIS portal](https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/quickstarts/create-publish-knowledge-base)\n\n*   [Get started with the LUIS REST APis](https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/quickstarts/quickstart-rest-curl)",
      "score": 46.11,
      "id": 9,
      "source": "Editorial",
      "metadata": [],
      "context": {
        "isContextOnly": false,
        "prompts": []
      },
      "answerSpan": {
        "text": "less than 10 minutes",
        "score": 54.92,
        "startIndex": 139,
        "endIndex": 159
      }
    }
  ]
}

定义

AnswerSpan

回答 QnA 与用户问题相关的范围对象。

AnswerSpanRequest

配置答案范围预测功能。

Context

QnA 的上下文

Error

错误对象。 根据 Microsoft One API 指南 - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

ErrorCodeType

服务器定义的错误代码集之一。

ErrorResponse

错误响应。 根据 Microsoft One API 指南 - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

InnerErrorModel

包含有关错误的更具体信息的对象。 根据 Microsoft One API 指南 - 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 操作。

AnswerSpan

回答 QnA 与用户问题相关的范围对象。

Name Type Description
endIndex
  • integer

答案范围的结束索引。

score
  • number

答案范围的预测分数。

startIndex
  • integer

答案范围"开始"菜单索引。

text
  • string

答案范围的预测文本。

AnswerSpanRequest

配置答案范围预测功能。

Name Type Description
enable
  • boolean

启用或禁用应答范围预测。

scoreThreshold
  • number

包含答案范围所需的最小阈值分数。

topAnswersWithSpan
  • integer

要考虑用于跨度预测的排名靠前的答案数。

Context

QnA 的上下文

Name Type Description
isContextOnly
  • boolean

若要标记提示是否仅与上一个问题相关。 true - 请勿将此 QnA 作为没有上下文 false 的查询的搜索结果包含 - 忽略上下文并在搜索结果中包含此 QnA

prompts

与答案关联的提示列表。

Error

错误对象。 根据 Microsoft One API 指南 - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Name Type Description
code

服务器定义的错误代码集之一。

details

有关导致此错误的特定错误的详细信息数组。

innerError

包含与当前对象有关错误的更具体信息的对象。

message
  • string

错误的可读表示形式。

target
  • string

错误的目标。

ErrorCodeType

服务器定义的错误代码集之一。

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

错误响应。 根据 Microsoft One API 指南 - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Name Type Description
error

错误对象。

InnerErrorModel

包含有关错误的更具体信息的对象。 根据 Microsoft One API 指南 - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Name Type Description
code
  • string

比包含的错误更具体的错误代码。

innerError

包含与当前对象有关错误的更具体信息的对象。

MetadataDTO

名称 - 元数据的值配对。

Name Type Description
name
  • string

元数据名称。

value
  • string

元数据值。

PromptDTO

提示输入答案。

Name Type Description
displayOrder
  • integer

提示的索引 - 用于对提示进行排序

displayText
  • string

显示用于表示后续问题提示的文本

qna

QnADTO - QnaId 或 QnADTO 需要存在于 PromptDTO 对象中

qnaId
  • integer

对应于提示的 Qna ID - 如果存在 QnaId,则忽略 QnADTO 对象。

Qna

QnADTO - QnaId 或 QnADTO 需要存在于 PromptDTO 对象中

QnASearchResult

表示搜索结果。

Name Type Description
answer
  • string

答案。

answerSpan

回答 QnA 与用户问题相关的范围对象。

context

QnA 的上下文对象

id
  • integer

QnA 结果的 ID。

metadata

元数据列表。

questions
  • string[]

问题列表。

score
  • number

搜索结果分数。

source
  • string

QnA 结果的来源。

QnASearchResultList

表示问题解答列表。

Name Type Description
answers

表示搜索结果列表。

QueryDTO

用于查询知识库的 POST 正文架构。

Name Type Description
answerSpanRequest

配置答案范围预测功能。

context

具有先前 QnA 信息的上下文对象。

isTest
  • boolean

针对测试索引进行查询。

qnaId
  • string

要从知识库中提取的确切 qnaId,此字段优先于问题。

question
  • string

要针对知识库查询的用户问题。

rankerType
  • string

可选字段。 设置为“QuestionOnly”以仅使用问题排名器。

scoreThreshold
  • number

答案的最小阈值分数。

strictFilters

查找与给定元数据列表关联的 QnA。

strictFiltersCompoundOperationType

可选字段。 设置为“OR”,以便对严格筛选器使用 OR 操作。

top
  • integer

要为问题返回的最大答案数。

userId
  • string

用户的唯一标识符。

StrictFiltersCompoundOperationType

可选字段。 设置为“OR”,以便对严格筛选器使用 OR 操作。

Name Type Description
AND
  • string
OR
  • string