Pierwsze kroki z wbudowaną AI

Alexandra Klepper
Alexandra Klepper

Opublikowano: 12 grudnia 2024 r., ostatnia aktualizacja: 20 maja 2025 r.

Dzięki wbudowanym interfejsom API AI Twoja aplikacja internetowa może wykonywać zadania oparte na AI bez konieczności wdrażania własnych modeli AI ani zarządzania nimi. Pracujemy nad standaryzacją tych interfejsów API w różnych przeglądarkach.

Wymagania

Aby korzystać z wbudowanej AI, musisz spełnić wymagania dotyczące modelu i sprzętu.

Modele

Interfejsy Translator API i Language Detector API korzystają z modeli eksperckich. Wszystkie inne interfejsy API korzystają z modelu językowego, który jest przeznaczony do działania lokalnie na komputerach stacjonarnych i laptopach.

Interfejsy Summarizer API, Writer API, Rewriter API i Proofreader API obsługują tylko modalność tekstową. Interfejs Prompt API ma możliwości multimodalne.

Modele w Chrome

Chrome korzysta z modeli językowych eksperckich i podstawowych. Te modele nie są dostępne na urządzeniach mobilnych.

Od Chrome 149 modele obsługują język angielski, hiszpański, japoński, niemiecki i francuski w przypadku tekstu wejściowego i wyjściowego.

Sprzęt

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 systemu operacyjnego.

Interfejsy Language Detector API i Translator API działają w Chrome na komputerach. Te interfejsy API nie działają na urządzeniach mobilnych.

Interfejsy Prompt API, Summarizer API, Writer API, Rewriter API i Proofreader API działają w Chrome, gdy są spełnione te warunki:

  • System operacyjny: Windows 10 lub 11; macOS 13 lub nowszy (Ventura i nowsze); Linux; lub ChromeOS (od platformy 16389.0.0) na Chromebookach Plus. Chrome na Androida, iOS i ChromeOS na urządzeniach innych niż Chromebooki Plus nie są jeszcze obsługiwane przez interfejsy API, które korzystają z modeli podstawowych.
  • Miejsce na dane: co najmniej 22 GB wolnego miejsca na dysku, na którym znajduje się profil Chrome.
  • Procesor graficzny lub procesor: wbudowane modele mogą działać z procesorem graficznym lub procesorem.
    • Procesor graficzny: co najmniej 4 GB pamięci VRAM.
    • Procesor: co najmniej 16 GB pamięci RAM i co najmniej 4 rdzenie procesora.
    • Uwaga: interfejs Prompt API z wejściem audio wymaga procesora graficznego.
  • Sieć: nieograniczona transmisja danych lub połączenie bez limitu danych.

Dokładny rozmiar Gemini Nano może się różnić w zależności od aktualizacji przeglądarki. Aby sprawdzić aktualny rozmiar, otwórz chrome://on-device-internals.

Zacznij tworzyć

Na różnych etapach rozwoju dostępne są różne wbudowane interfejsy API AI. Niektóre są dostępne w stabilnej wersji Chrome, inne dla dostępnych uczestników testów origin, a jeszcze inne tylko dla dostępnych dla uczestników programu wczesnego dostępu.

Każdy interfejs API ma własny zestaw instrukcji dotyczących rozpoczęcia pracy i pobrania modelu, zarówno w przypadku prototypowania lokalnego, jak i w środowiskach produkcyjnych z testami origin.

Wszystkie te interfejsy API można używać podczas tworzenia rozszerzeń Chrome.

Pobieranie modelu

Interfejsy API są wbudowane w Chrome, podobnie jak modele. Gdy użytkownik po raz pierwszy wejdzie w interakcję z tymi interfejsami API, model musi zostać pobrany do przeglądarki.

Aby sprawdzić, czy interfejs API jest gotowy do użycia, wywołaj asynchroniczną funkcję availability(), która zwraca obietnicę z jedną z tych wartości:

  • "unavailable": urządzenie użytkownika lub opcje żądanej sesji nie są obsługiwane. Urządzenie może mieć niewystarczającą moc lub miejsce na dysku.
  • "downloadable": do utworzenia sesji wymagane są dodatkowe pliki do pobrania, które mogą obejmować model ekspercki, model językowy lub dostrajanie. Aktywacja użytkownika może być wymagana, aby wywołać create().
  • "downloading": pobieranie jest w toku i musi się zakończyć, zanim będzie można użyć sesji.
  • "available": możesz od razu utworzyć sesję.

Niektóre interfejsy API wymagają dodatkowych opcji podczas wywoływania funkcji dostępności. Na przykład, interfejs Prompt API wymaga zadeklarowania obsługi języka:

// Makes sure the model is available for English and Japanese.
await LanguageModel.availability({ languages: ["en", "ja"] });

Aktywacja użytkownika

Jeśli urządzenie obsługuje wbudowane interfejsy API AI, ale model nie został jeszcze pobrany, użytkownik musi wejść w znaczącą interakcję ze stroną, aby aplikacja mogła rozpocząć sesję za pomocą funkcji create().

Użyj właściwości, aby potwierdzić, że użytkownik wszedł w bezpośrednią interakcję ze stroną od czasu jej wczytania.UserActivation.isActive Może to być dotknięcie, kliknięcie, naciśnięcie klawisza, mousedown, lub inne trwałe zdarzenia aktywacji.

// Check for user activation.
if (navigator.userActivation.isActive) {
  // Create an instance of a built-in API
}

Na przykład w przypadku interfejsu Summarizer API możesz poprosić użytkowników o kliknięcie przycisku „Podsumuj”, aby aktywować Summarizer.create(), lub możesz utworzyć podsumowanie, gdy użytkownik zacznie pisać (zdarzenie keydown).

Używanie interfejsów API na serwerze localhost

Wszystkie interfejsy API są dostępne na serwerze localhost w Chrome.

  1. Otwórz chrome://flags/#optimization-guide-on-device-model.
  2. Wybierz Włączone.
  3. Kliknij Uruchom ponownie lub uruchom ponownie Chrome.

W przypadku interfejsów API, które korzystają z Gemini Nano, musisz też ustawić chrome://flags/#prompt-api-for-gemini-nano na Włączone lub Włączone w wielu językach. Możesz sprawdzić, czy model został pobrany i działa zgodnie z oczekiwaniami, w konsoli narzędzi deweloperskich. Uruchom w konsoli await LanguageModel.availability();.

Rozwiązywanie problemów z serwerem localhost

Jeśli flagi nie pojawiają się w chrome://flags, upewnij się, że masz najnowszą wersję Chrome.

Jeśli model nie działa zgodnie z oczekiwaniami, wykonaj te czynności:

  1. Uruchom ponownie Chrome.
  2. Otwórz chrome://on-device-internals.
  3. Otwórz kartę Stan modelu i upewnij się, że nie ma żadnych błędów.
  4. Otwórz narzędzia deweloperskie i wpisz w konsoli LanguageModel.availability();. Powinna zostać zwrócona wartość available.

W razie potrzeby poczekaj chwilę i powtórz te czynności.

Proces standaryzacji

Pracujemy nad standaryzacją tych interfejsów API, aby działały we wszystkich przeglądarkach. Oznacza to, że zaproponowaliśmy te interfejsy API społeczności platform internetowych i przenieśliśmy je do grupy W3C Web Incubator Community Group, aby kontynuować dyskusję.

W przypadku każdego interfejsu API prosimy o opinie W3C, Mozillę i WebKit.

Zaangażuj się i prześlij opinię

Jeśli wypróbujesz wbudowaną AI i chcesz podzielić się opinią, chętnie ją poznamy.