wykrywanie języka za pomocą wbudowanej AI;

Thomas Steiner
Thomas Steiner

Data publikacji: 24 września 2024 r., ostatnia aktualizacja: 20 maja 2025 r.

Wyjaśnienie Sieć Rozszerzenia Stan Chrome Intencja
MDN Chrome 138 Chrome 138 Wyświetl Zamiar wysłania

Zanim przetłumaczysz tekst z jednego języka na inny, musisz najpierw określić, w jakim języku jest on napisany. Wcześniej tłumaczenie wymagało przesłania tekstu do usługi w chmurze, przetłumaczenia go na serwerze, a następnie pobrania wyników.

Interfejs Language Detector API działa po stronie klienta, co oznacza, że możesz chronić prywatność użytkowników. Można dostarczyć konkretną bibliotekę, która to robi, ale wymagałoby to pobrania dodatkowych zasobów.

Kiedy używać wykrywania języka

Interfejs Language Detector API jest przydatny przede wszystkim w tych sytuacjach:

  • określać język tekstu wejściowego, aby można było go przetłumaczyć;
  • określać język tekstu wejściowego, aby można było wczytać odpowiedni model do zadań związanych z językiem, takich jak wykrywanie toksyczności.
  • określać język tekstu wejściowego, aby można go było prawidłowo oznaczyć, np. w internetowych serwisach społecznościowych.
  • określać język tekstu wejściowego, aby dostosowywać interfejs aplikacji; Na przykład na belgijskiej stronie internetowej wyświetlać interfejs tylko użytkownikom, którzy mówią po francusku.

Rozpocznij

Interfejs Language Detector API jest dostępny w stabilnej wersji Chrome 138. Uruchom wykrywanie funkcji, aby sprawdzić, czy przeglądarka obsługuje interfejs Language Detector API.

if ('LanguageDetector' in self) {
  // The Language Detector API is available.
}

Sprawdzanie wymagań sprzętowych

Deweloperzy i użytkownicy, którzy korzystają z funkcji używających tych interfejsów API w Chrome, muszą spełniać te wymagania. Inne przeglądarki mogą mieć inne wymagania dotyczące działania.

Interfejsy Language Detector API i Translator API działają w Chrome na komputerze. Te interfejsy API nie działają na urządzeniach mobilnych. Interfejsy Prompt API, Summarizer API, Writer API i Rewriter API działają w Chrome, gdy spełnione są te warunki:

  • System operacyjny: Windows 10 lub 11, macOS 13 lub nowszy (Ventura i nowsze) lub Linux. Interfejsy API, które korzystają z Gemini Nano, nie są jeszcze obsługiwane w Chrome na Androida, iOS i ChromeOS.
  • Miejsce na dane: co najmniej 22 GB na woluminie zawierającym profil Chrome.
  • GPU: co najmniej 4 GB pamięci VRAM.
  • Sieć: nieograniczona transmisja danych lub połączenie bez limitu.

Dokładny rozmiar Gemini Nano może się nieznacznie różnić. Aby sprawdzić aktualny rozmiar, otwórz stronę chrome://on-device-internals i kliknij Stan modelu. Otwórz podaną ścieżkę do pliku, aby określić rozmiar modelu.

Pobieranie modelu

Wykrywanie języka zależy od modelu dostrojonego do konkretnego zadania wykrywania języków. Interfejs API jest wbudowany w przeglądarkę, ale model jest pobierany na żądanie, gdy strona po raz pierwszy próbuje użyć interfejsu API. W Chrome ten model jest bardzo mały w porównaniu z innymi modelami. Może być już dostępny, ponieważ ten model jest używany przez inne funkcje Chrome.

Aby sprawdzić, czy model jest gotowy do użycia, wywołaj asynchroniczną funkcję LanguageDetector.availability() i sprawdź wynikową obietnicę. Możliwe są 3 odpowiedzi:

  • "unavailable": żądane opcje nie są obsługiwane lub nie można wywołać modelu.
  • "downloadable": żądanie jest obsługiwane, ale przed utworzeniem sesji musisz pobrać dodatkowe pliki. Pobrane dane mogą obejmować model językowy lub dostrajanie.
  • "downloading": żądanie jest obsługiwane i trwa pobieranie, które musi zostać zakończone przed utworzeniem sesji.
  • "available": żądanie jest obsługiwane i możesz utworzyć sesję.

Aby rozpocząć pobieranie i utworzyć instancję detektora języka, wywołaj asynchroniczną funkcję LanguageDetector.create(). Jeśli odpowiedź na availability() to 'downloadable' lub 'downloading', warto nasłuchiwać postępu pobierania, aby w razie potrzeby poinformować użytkownika, że pobieranie może potrwać dłużej.

Poniższy przykład pokazuje, jak zainicjować wykrywanie języka.

const availability = await LanguageDetector.availability();

let detector;
if (availability === 'unavailable') {
  // The language detector isn't usable.
  return;
}
if (availability === 'available') {
  // The language detector can immediately be used.
  detector = await LanguageDetector.create();
} else {
  // The language detector can be used after model download.
  detector = await LanguageDetector.create({
    monitor(m) {
      m.addEventListener('downloadprogress', (e) => {
        console.log(`Downloaded ${e.loaded * 100}%`);
      });
    },
  });
  await detector.ready;
}

Uruchamianie narzędzia do wykrywania języka

Interfejs Language Detector API używa modelu rankingowego, aby określić, który język jest najbardziej prawdopodobny w danym tekście. Ranking to typ uczenia maszynowego, którego celem jest uporządkowanie listy elementów. W tym przypadku interfejs Language Detector API szereguje języki od największego do najmniejszego prawdopodobieństwa.

Funkcja detect() może zwracać pierwszy wynik, najbardziej prawdopodobną odpowiedź lub iterować po uszeregowanych kandydatach z określonym poziomem pewności. Jest zwracana jako lista obiektów {detectedLanguage, confidence}. Poziom confidence jest wyrażony jako wartość z zakresu od 0.0 (najniższy poziom ufności) do 1.0 (najwyższy poziom ufności).

const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
  // Show the full list of potential languages with their likelihood, ranked
  // from most likely to least likely. In practice, one would pick the top
  // language(s) that cross a high enough threshold.
  console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...

Plac zabaw API

Wypróbuj interfejs Language Detector API na naszej platformie testowej API. Wpisz w polu tekstowym tekst napisany w różnych językach.

Działania na rzecz standaryzacji

Zespół Chrome poprosił o opinię grupę W3C Technical Architecture Group oraz MozillaWebKit o ich stanowiska w sprawie standardów.

Prześlij opinię

Chcemy zobaczyć, co tworzysz za pomocą interfejsu Language Detector API. Podziel się z nami swoimi stronami i aplikacjami internetowymi na X, YouTubeLinkedIn.

Jeśli masz uwagi na temat implementacji Chrome, zgłoś błąd w Chromium.