Data publikacji: 24 września 2024 r., ostatnia aktualizacja: 20 maja 2025 r.
Objaśnienie | Sieć | Rozszerzenia | Stan Chrome | Intencja |
---|---|---|---|---|
GitHub | Wyświetl | Intencja dostawy |
Zanim przetłumaczysz tekst z jednego języka na inny, musisz najpierw określić, w jakim języku jest on zapisany. Wcześniej tłumaczenie wymagało przesłania tekstu do usługi w chmurze, przetłumaczenia go na serwerze, a potem pobrania wyników.
Interfejs Language Detector API działa po stronie klienta, co oznacza, że możesz chronić prywatność użytkowników. Chociaż można przesłać konkretną bibliotekę, która to umożliwia, wymaga 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 go było przetłumaczyć.
- określać język tekstu wejściowego, aby można było załadować odpowiedni model do zadań związanych z danym językiem, takich jak wykrywanie toksyczności;
- określać język tekstu wejściowego, aby można było go prawidłowo oznakować, na przykład w mediach społecznościowych;
- Określa język tekstu wejściowego, aby można było odpowiednio dostosować interfejs aplikacji. Na przykład w przypadku witryny belgijskiej możesz wyświetlać interfejs tylko użytkownikom posługujących się językiem francuskim.
Rozpocznij
Interfejs Language Detector API jest dostępny od wersji Chrome 138 stabilnej. Uruchom wykrywanie funkcji, aby sprawdzić, czy przeglądarka obsługuje interfejs Language Detector API.
if ('LanguageDetector' in self) {
// The Language Detector API is available.
}
Wymagania sprzętowe
Interfejsy Language Detector i Translator API działają na komputerach tylko w Chrome.
Interfejsy Prompt API, Summarizer API, Writer API i Rewriter API działają w Chrome, gdy są spełnione te warunki:
- System operacyjny: Windows 10 lub 11, macOS 13 lub nowszy (Ventura lub nowszy) lub Linux. Chrome na Androida, iOS i ChromeOS nie są jeszcze obsługiwane przez nasze interfejsy API obsługiwane przez Gemini Nano.
- Pamięć: co najmniej 22 GB na woluminie zawierającym profil Chrome.
- GPU więcej niż 4 GB pamięci VRAM.
- Sieć: nieograniczona transmisja danych lub nielimitowane połączenie.
- GPU więcej niż 4 GB pamięci VRAM.
- Sieć: nieograniczona transmisja danych lub nielimitowane połączenie.
Te wymagania obowiązują w procesie tworzenia aplikacji oraz w przypadku użytkowników, którzy korzystają z Twoich funkcji.
Pobieranie modelu
Wykrywanie języka zależy od modelu, który jest dostrojony do konkretnego zadania wykrywania języków. Chociaż interfejs API jest tworzony w przeglądarce, model jest pobierany na żądanie przy pierwszym użyciu interfejsu API przez stronę. W Chrome ten model jest bardzo mały w porównaniu z innymi modelami. Być może jest on już obecny, ponieważ jest używany przez inne funkcje Chrome.
Aby sprawdzić, czy model jest gotowy do użycia, wywołaj asynchroniczną funkcję LanguageDetector.availability()
i sprawdź zwracaną obietnicę.
Dostępne są 3 możliwe odpowiedzi:
"unavailable"
: żądane opcje nie są obsługiwane lub model nie może wyświetlić prompta."downloadable"
: prośba jest obsługiwana, ale przed utworzeniem sesji należy pobrać dodatkowe pliki. Te pliki do pobrania mogą zawierać model językowy lub dostosowanie."downloading"
: prośba jest obsługiwana, a pobieranie jest w toku. Musi ono zostać ukończone przed utworzeniem sesji."available"
: żądanie jest obsługiwane i możesz utworzyć sesję.
Aby wywołać pobieranie i utworzyć instancję detektora języka, wywołaj asynchroniczną funkcję LanguageDetector.create()
. Jeśli odpowiedź na availability()
to 'downloadable'
lub 'downloading'
, zalecamy sprawdzenie postępu pobierania, aby poinformować użytkownika, jeśli trwa ono zbyt długo.
Ten przykład pokazuje, jak zainicjować detekcję 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 modułu wykrywania języka
Interfejs Language Detector API używa modelu rankingowego do określenia, który język jest najczęściej używany w danym tekście. Ranking to rodzaj uczenia maszynowego, którego celem jest uporządkowanie listy elementów. W tym przypadku interfejs Language Detector API sortuje języki według prawdopodobieństwa, od najwyższego do najniższego.
Funkcja detect()
może zwracać pierwszy wynik, najbardziej prawdopodobną odpowiedź lub przeszukiwać posortowanych kandydatów z poziomem pewności.
Zwracana jest jako lista obiektów {detectedLanguage, confidence}
. Poziom confidence
jest wyrażany jako wartość z zakresu 0.0
(najniższy poziom ufności) i 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
Eksperymentuj z interfejsem Language Detector API na naszej stronie Playground. Wpisz tekst w różnych językach w polu tekstowym.
Standardizacja
Zespół Chrome poprosił o opinię W3C Technical Architecture Group oraz Mozilla i WebKit o ich stanowisko w sprawie standardów.
Prześlij opinię
Chcemy zobaczyć, co tworzysz za pomocą interfejsu Language Detector API. Udostępniaj nam swoje witryny i aplikacje internetowe na X, YouTube i LinkedIn.
Jeśli chcesz podzielić się opinią na temat implementacji w Chrome, zgłoś błąd w Chromium.