Udostępnij za pośrednictwem


Jak używać funkcji usługi językowej asynchronicznie

Usługa językowa umożliwia asynchroniczne wysyłanie żądań interfejsu API przy użyciu interfejsu API REST lub biblioteki klienta. Możesz również uwzględnić wiele różnych funkcji usługi językowej w żądaniu, które mają być wykonywane na danych w tym samym czasie.

Obecnie dostępne są następujące funkcje asynchroniczne:

  • Łączenie jednostek
  • Podsumowanie dokumentów
  • Podsumowanie konwersacji
  • Wyodrębnianie kluczowych fraz
  • Wykrywanie języka
  • Rozpoznawanie jednostek nazwanych
  • Wykrywanie zawartości klienta
  • Analiza tonacji i wyszukiwanie opinii
  • Analiza tekstu dla opieki zdrowotnej
  • Dane osobowe (PII)

Podczas wysyłania żądań asynchronicznych opłaty będą naliczane na podstawie liczby rekordów tekstowych uwzględninych w żądaniu dla każdego użycia funkcji. Jeśli na przykład wyślesz rekord tekstowy do analizy tonacji i NER, będzie on liowany jako wysyłanie dwóch rekordów tekstowych, a opłaty będą naliczane za obie zgodnie z warstwą cenową.

Przesyłanie zadania asynchronicznego przy użyciu interfejsu API REST

Aby przesłać zadanie asynchroniczne, zapoznaj się z dokumentacją referencyjną treści JSON, którą wyślesz w żądaniu.

  1. Dodaj dokumenty do analysisInput obiektu .
  2. tasks W obiekcie uwzględnij operacje, które chcesz wykonać na danych. Jeśli na przykład chcesz przeprowadzić analizę tonacji, uwzględnisz SentimentAnalysisLROTask obiekt .
  3. Opcjonalnie możesz:
    1. Wybierz określoną wersję modelu używanego na danych.
    2. Uwzględnij dodatkowe funkcje usługi językowej tasks w obiekcie, które mają być wykonywane na danych w tym samym czasie.

Po utworzeniu treści JSON dla żądania dodaj klucz do nagłówka Ocp-Apim-Subscription-Key . Następnie wyślij żądanie interfejsu API do punktu końcowego tworzenia zadania. Na przykład:

POST https://your-endpoint.cognitiveservices.azure.com/language/analyze-text/jobs?api-version=2022-05-01

Pomyślne wywołanie zwróci kod odpowiedzi 202. W operation-location nagłówku odpowiedzi będzie to adres URL, którego użyjesz do pobrania wyników interfejsu API. Wartość będzie wyglądać podobnie do następującego adresu URL:

GET {Endpoint}/language/analyze-text/jobs/12345678-1234-1234-1234-12345678?api-version=2022-05-01

Aby uzyskać stan i pobrać wyniki żądania, wyślij żądanie GET do adresu URL otrzymanego w nagłówku operation-location z poprzedniej odpowiedzi interfejsu API. Pamiętaj, aby uwzględnić klucz w pliku Ocp-Apim-Subscription-Key. Odpowiedź będzie zawierać wyniki wywołania interfejsu API.

Wysyłanie asynchronicznych żądań interfejsu API przy użyciu biblioteki klienta

Najpierw upewnij się, że masz zainstalowaną bibliotekę klienta dla wybranego języka. Aby uzyskać instrukcje dotyczące instalowania biblioteki klienta, zobacz artykuł Szybki start dotyczący funkcji, której chcesz użyć.

Następnie użyj obiektu klienta, aby wysyłać wywołania asynchroniczne do interfejsu API. Wywołania metody do użycia różnią się w zależności od języka. Skorzystaj z dostępnych przykładów i dokumentacji referencyjnej, aby ułatwić rozpoczęcie pracy.

Dostępność wyników

W przypadku korzystania z tej funkcji asynchronicznie wyniki interfejsu API są dostępne przez 24 godziny od momentu pozyskiwania żądania i są wskazywane w odpowiedzi. Po upływie tego okresu wyniki są czyszczone i nie są już dostępne do pobierania.

Automatyczne wykrywanie języka

Począwszy od wersji 2022-07-01-preview interfejsu API REST, możesz zażądać automatycznego wykrywania języka w dokumentach. Ustawiając language parametr na auto, wykryty kod języka tekstu zostanie zwrócony jako wartość języka w odpowiedzi. To wykrywanie języka nie spowoduje naliczania dodatkowych opłat za zasób języka.

Limity danych

Uwaga

  • Jeśli musisz przeanalizować większe dokumenty niż dozwolony limit, możesz podzielić tekst na mniejsze fragmenty tekstu przed wysłaniem ich do interfejsu API.
  • Dokument to pojedynczy ciąg znaków tekstowych.

Możesz wysłać do 125 000 znaków we wszystkich dokumentach zawartych w asynchronicznym żądaniu mierzonym według parametrów StringInfo.LengthInTextElements. Ten limit znaków jest wyższy niż limit dla żądań synchronicznych, aby umożliwić większą przepływność.

Jeśli dokument przekroczy limit znaków, interfejs API odrzuci całe żądanie i zwróci 400 bad request błąd, jeśli jakikolwiek dokument w nim przekroczy maksymalny rozmiar.

Zobacz też