預建 API
自訂問題解答預建 API 能讓您根據一段文字回答問題,卻不必建立專案、維護問題和答案配對,或負擔使用量過低的基礎結構成本。 這項功能是以 API 的形式提供,可用於解決問答需求,卻不必了解自訂問題解答的詳細資料。
提供使用者查詢和文字區塊/文字段落,此 API 即會傳回答案和精確的答案 (如有)。
API 使用範例
假設您有一或多個文字區塊,而您想要從中獲得指定問題的答案。 通常必須建立和文字區塊數目一樣多的來源。 但是,現在使用預建 API 就可以查詢文字區塊,不必在專案中定義內容來源。
其他可以使用此 API 的案例如下:
- 您正在開發適合終端使用者的電子書讀取器應用程式,使其可以醒目提示文字、輸入問題,並在醒目提示的文字段落中尋找答案。
- 瀏覽器延伸模組可讓使用者針對瀏覽器頁面目前顯示的內容提出問題。
- Health Bot 接受使用者查詢,然後根據 Bot 找到的與使用者查詢最相關的醫療內容提供解答。
以下是範例要求的例子:
範例要求
POST https://{Unique-to-your-endpoint}.api.cognitive.microsoft.com/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 個字元。
- 每份文件最多三個回應。
支援的語言代碼
預先建置的 API 支援下列語言代碼。 這些語言代碼遵循 ISO 639-1 代碼標準。
語言代碼 | 語言 |
---|---|
af | 南非荷蘭文 |
am | 阿姆哈拉文 |
ar | 阿拉伯文 |
重新命名為 | 阿薩姆文 |
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 | Hebrew |
hi | 印度文 |
小時 | 克羅埃西亞文 |
hu | 匈牙利文 |
hy | 亞美尼亞文 |
id | 印尼文 |
is | 冰島文 |
it | 義大利文 |
ja | 日文 |
ka | 喬治亞文 |
kk | 哈薩克文 |
km | 中高棉文 |
kn | 坎那達文 |
ko | 韓文 |
ky | 吉爾吉斯文、吉爾吉斯斯坦文 |
/a | 拉丁文 |
lo | 寮文 |
lt | 立陶宛文 |
lv | 拉脫維亞文 |
mk | 馬其頓文 |
ml | 馬來亞拉姆文 |
mn | 蒙古文 |
mr | 馬拉地文 |
毫秒 | 馬來文 |
mt | 馬爾他文 |
我的 | 緬甸文 |
ne | 尼泊爾文 |
nl | 荷蘭文,佛蘭德文 |
nn | 耐諾斯克挪威文 |
否 | 挪威文 |
或 | 歐迪亞文 |
pa | 旁遮普文 |
pl | 波蘭文 |
ps | 普什圖文 |
pt | 葡萄牙文 |
ro | 羅馬尼亞文 |
ru | 俄文 |
sa | 梵文 |
sd | 信德文 |
si | 僧伽羅文 |
sk | 斯洛伐克文 |
sl | 斯洛維尼亞文 |
sq | 阿爾巴尼亞文 |
sr | 塞爾維亞文 |
sv | 瑞典文 |
sw | 史瓦西里文 |
ta | 坦米爾文 |
te | 泰盧固文 |
tg | 塔吉克文 |
th | 泰文 |
tl | 他加祿文 |
tr | 土耳其文 |
tt | 韃靼文 |
ug | 維吾爾文 |
uk | 烏克蘭文 |
UR | 烏都文 |
uz | 烏玆別克文 |
vi | 越南文 |
yi | 意第緒文 |
zh | 中文 |
預先建置 API 參考
請參閱完整的預建 API 範例文件,了解呼叫 API 所需之輸入和輸出參數。