Wstępnie utworzony interfejs API
Wstępnie utworzony interfejs API odpowiedzi na pytania niestandardowe zapewnia możliwość odpowiadania na pytania na podstawie fragmentu tekstu bez konieczności tworzenia projektów, utrzymywania par pytań i odpowiedzi lub ponoszenia kosztów niedostatecznie wykorzystywanej infrastruktury. Ta funkcja jest udostępniana jako interfejs API i może służyć do spełnienia wymagań związanych z pytaniami i odpowiadania bez konieczności poznawania szczegółowych informacji na temat niestandardowego odpowiadania na pytania.
Biorąc pod uwagę zapytanie użytkownika i blok tekstu/fragmentu, interfejs API zwróci odpowiedź i dokładną odpowiedź (jeśli jest dostępna).
Przykładowe użycie interfejsu API
Wyobraź sobie, że masz co najmniej jeden blok tekstu, z którego chcesz uzyskać odpowiedzi na podane pytanie. Zwykle trzeba było utworzyć tyle źródeł, ile bloków tekstu. Jednak teraz przy użyciu wstępnie utworzonego interfejsu API można wykonywać zapytania dotyczące bloków tekstu bez konieczności definiowania źródeł zawartości w projekcie.
Niektóre inne scenariusze, w których można użyć tego interfejsu API, to:
- Opracowujesz aplikację czytnika książek elektronicznych dla użytkowników końcowych, która pozwala im wyróżniać tekst, wprowadzać pytanie i znajdować odpowiedzi w wyróżnionym fragmencie tekstu.
- Rozszerzenie przeglądarki, które umożliwia użytkownikom zadawanie pytań dotyczących aktualnie wyświetlanej zawartości na stronie przeglądarki.
- Bot kondycji, który pobiera zapytania od użytkowników i udostępnia odpowiedzi na podstawie zawartości medycznej, którą bot identyfikuje jako najbardziej istotne dla zapytania użytkownika.
Poniżej przedstawiono przykładowe żądanie:
Przykładowe żądanie
POST https://{Unique-to-your-endpoint}.api.cognitive.microsoft.com/language/:query-text
Przykładowe zapytanie dotyczące pojedynczego bloku tekstu
Treść żądania
{
"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"
}
}
}
Przykładowa odpowiedź
W powyższej treści żądania wysyłamy zapytanie dotyczące pojedynczego bloku tekstu. Poniżej przedstawiono przykładową odpowiedź odebraną dla powyższego zapytania.
{
"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
}
]
}
}
}
Widzimy, że w odpowiedzi interfejsu API otrzymano wiele odpowiedzi. Każda odpowiedź ma określony współczynnik ufności, który pomaga zrozumieć ogólne znaczenie odpowiedzi. Zakres odpowiedzi reprezentuje, czy wykryto również potencjalną krótką odpowiedź. Użytkownicy mogą korzystać z tego wskaźnika ufności, aby określić, które odpowiedzi mają być podane w odpowiedzi na zapytanie.
Wstępnie utworzone limity interfejsu API
Limity wywołań interfejsu API
Jeśli musisz użyć większych dokumentów niż dozwolony limit, możesz podzielić tekst na mniejsze fragmenty tekstu przed wysłaniem ich do interfejsu API. W tym kontekście dokument jest zdefiniowanym pojedynczym ciągiem znaków tekstowych.
Te liczby reprezentują limity wywołań poszczególnych interfejsów API:
- Liczba dokumentów: 5.
- Maksymalny rozmiar pojedynczego dokumentu: 5120 znaków.
- Maksymalnie trzy odpowiedzi na dokument.
Obsługiwane kody języków
Następujące kody języków są obsługiwane przez wstępnie utworzony interfejs API. Te kody języków są zgodne ze standardem kodów ISO 639-1.
Kod języka | Język |
---|---|
af | Afrikaans |
Am | Amharski |
ar | Arabski |
as | Asamski |
Az | Azerbejdżański |
ba | Baszkirski |
be | Białoruski |
bg | Bułgarski |
Bn | Bengalski |
ca | Kataloński, Valencii |
ckb | Kurdyjski Środkowy |
cs | Czeski |
Cy | Walijski |
da | Duński |
de | Niemiecki |
el | Grecki, nowoczesny (1453–) |
en | angielski |
eo | Esperanto |
es | Hiszpański, Kastylijski |
et | Estoński |
eu | Baskijski |
fa | Perski |
fi | Fiński |
fr | Francuski |
Ga | Irlandzki |
gl | Galicyjski |
Gu | Gudżarati |
he | Hebrajski |
hi | Hindi |
godz. | Chorwacki |
hu | Węgierski |
hy | Ormiański |
identyfikator | Indonezyjski |
is | Islandzki |
it | Włoski |
ja | japoński |
Ka | Gruziński |
kk | Kazachski |
kilometr | Środkowy Khmer |
Kn | Kannada |
ko | Koreański |
Ky | Kirghiz, Kyrgyz |
la | Łacina |
Lo | Laotański |
lt | Litewski |
lv | Łotewski |
mk | Macedoński |
ml | Malayalam |
Mn | Mongolski |
pan | Marathi |
ms | Malajski |
mt | Maltański |
moje | Birmański |
ne | Nepalski |
nl | Holenderski, Flemish |
nn | Norweski Nynorsk |
nie | Norweski |
lub | Orija |
tatuś | Punjabi, Panjabi |
pl | Polski |
PS | Pashto, Pushto |
pt | Portugalski |
ro | Rumuński |
ru | Rosyjski |
skojarzenie zabezpieczeń | Sanskryt |
Sd | Sindhi |
Si | Sinhala, Sinhalese |
sk | Słowacki |
sl | Słoweński |
sq | Albański |
sr | Serbski |
sv | Szwedzki |
sw | Suahili |
ta | Tamilski |
te | Telugu |
Tg | Tadżycki |
th | Tajlandzki |
Tl | Tagalog |
tr | Turecki |
TT | Tatarski |
Ug | Ujgur, Uygur |
uk | Ukraiński |
ur | Urdu |
uz | Uzbecki |
vi | Wietnamski |
Yi | Jidysz |
zh | Chiński |
Dokumentacja wstępnie utworzonego interfejsu API
Zapoznaj się z pełną wstępnie utworzoną dokumentacją przykładów interfejsu API, aby poznać parametry wejściowe i wyjściowe wymagane do wywołania interfejsu API.