预构建 API

自定义问答 预生成 API 提供基于文本段落回答问题的功能,而无需创建项目、维护问答对,或者产生未充分利用的基础结构的成本。 此功能以 API 的形式提供,可用于满足问答需求,而无需了解有关自定义问题解答的详细信息。

给定用户查询和文本/段落块后,API 将返回答案和精确答案(如果可用)。

示例 API 用法

假设你有一个或多个文本块,你希望从中获取给定问题的答案。 通常,必须创建与文本块数一样多的源。 但是,现在使用预生成 API 可以查询文本块,而无需在项目中定义内容源。

可以使用此 API 的其他一些方案包括:

  • 你正在开发一个面向最终用户的电子书阅读器应用,使最终用户能够突出显示文本、输入问题并查找关于突出显示文本段落的答案。
  • 一个浏览器扩展,允许用户对浏览器页面上当前显示的内容提出问题。
  • 一个运行状况机器人,它从用户获取查询,并根据机器人标识为与用户查询最相关的医疗内容提供答案。

下面是示例请求的示例:

示例请求

POST https://{Unique-to-your-endpoint}.api.cognitive.azure.cn/language/:query-text

对单个文本块进行示例查询

请求主体

{
  "parameters": {
    "Endpoint": "{Endpoint}",
    "Ocp-Apim-Subscription-Key": "{API key}",
    "Content-Type": "application/json",
    "api-version": "2021-10-01",
    "stringIndexType": "TextElements_v8",
    "textQueryOptions": {
      "question": "how long it takes to charge surface?",
      "records": [
        {
          "id": "1",
          "text": "Power and charging. It 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."
        },
        {
          "id": "2",
          "text": "You 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."
        }
      ],
      "language": "en"
    }
  }
}

示例响应

在请求正文中,我们将查询单个文本块。 下面是为查询收到的示例响应:

{
"responses": {
    "200": {
      "headers": {},
      "body": {
        "answers": [
          {
            "answer": "Power and charging. It 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.",
            "confidenceScore": 0.93,
            "id": "1",
            "answerSpan": {
              "text": "two to four hours",
              "confidenceScore": 0,
              "offset": 28,
              "length": 45
            },
            "offset": 0,
            "length": 224
          },
          {
            "answer": "It 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.",
            "confidenceScore": 0.92,
            "id": "1",
            "answerSpan": {
              "text": "two to four hours",
              "confidenceScore": 0,
              "offset": 8,
              "length": 25
            },
            "offset": 20,
            "length": 224
          },
          {
            "answer": "It can take longer if you're using your Surface for power-intensive activities like gaming or video streaming while you're charging it.",
            "confidenceScore": 0.05,
            "id": "1",
            "answerSpan": null,
            "offset": 110,
            "length": 244
          }
        ]
      }
    }
  }

我们看到,作为 API 响应的一部分收到多个答案。 每个答案都有一个特定的置信度分数,有助于了解答案的整体相关性。 答案范围表示是否还检测到潜在的短答案。 用户可以使用此置信度分数来确定在响应查询时提供哪些答案。

预生成 API 限制

API 调用限制

如果需要使用比限制更大的文档,可以在将文本发送到 API 之前将文本分成较小的文本块。 在此上下文中,文档是定义的单个文本字符字符串。

这些数字表示 每个 API 调用限制

  • 文档数:5。
  • 单个文档的最大大小:5,120 个字符。
  • 每个文档最多 3 个响应。

支持的语言代码

以下语言代码支持预生成 API。 这些语言代码符合 ISO 639-1 代码标准。

语言代码 语言
af 阿非利堪斯语
am 阿姆哈拉语
ar 阿拉伯语
as 阿萨姆语
az 阿塞拜疆语
ba 巴什基尔语
be 白俄罗斯语
bg 保加利亚语
bn 孟加拉语
ca 加泰罗尼亚语
ckb 中部库尔德语
cs 捷克语
cy 威尔士语
da 丹麦语
de 德语
el 希腊语,现代(1453-)
en 英语
eo 世界语
es 西班牙语,卡斯蒂利亚语
et 爱沙尼亚语
eu 巴斯克语
fa 波斯语
fi 芬兰语
fr 法语
ga 爱尔兰语
gl 加利西亚语
gu 古吉拉特语
he 希伯来语
hi 印地语
hr 克罗地亚语
hu 匈牙利语
hy 亚美尼亚语
id 印度尼西亚语
is Icelandic
it 意大利语
ja 日语
ka 乔治亚语
kk 哈萨克语
km 中央高棉语
kn 卡纳达语
ko Korean
ky 基尔吉斯,吉尔吉斯
la 拉丁语
lo 老挝语
lt 立陶宛语
lv 拉脱维亚语
mk 马其顿语
ml 马拉雅拉姆语
mn 蒙古语
mr 马拉地语
ms 马来语
mt 马耳他语
my 缅甸语
ne 尼泊尔语
nl 荷兰语、弗莱米什语
nn 新挪威语
no 挪威语
or 奥里亚语
pa 旁遮普语、旁遮普语
pl 波兰语
ps Pashto、Pushto
pt Portuguese
ro 罗马尼亚语
ru Russian
sa 梵文
sd 信德语
si 僧伽罗语、辛加莱语
sk 斯洛伐克语
sl 斯洛文尼亚语
sq 阿尔巴尼亚语
sr 塞尔维亚语
sv 瑞典语
sw 斯瓦希里语
ta 泰米尔语
te 泰卢固语
tg 塔吉克斯坦
th 泰语
tl 塔加洛语
tr 土耳其语
tt 鞑靼语
ug 维吾尔语、维吾尔语
uk 乌克兰语
ur 乌尔都语
uz 乌兹别克语
vi 越南语
yi 意第绪语
zh Chinese

预生成 API 参考

请访问 完整的预生成 API 示例 文档,了解调用 API 所需的输入和输出参数。