Udostępnij za pośrednictwem


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.