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.

Wymagane 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ść tekst na podstawie tekstu. Interfejs Prompt API ma możliwości multimodalne.

Modele 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.

Wymagany 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 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, 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 urządzeniach Chromebook Plus. Interfejsy API, które korzystają z modeli podstawowych, nie obsługują jeszcze Chrome na Androida, iOS i ChromeOS na urządzeniach innych niż Chromebook Plus.
  • Miejsce na dysku: co najmniej 22 GB wolnego miejsca na dysku, na którym znajduje się profil Chrome.
  • GPU lub CPU: wbudowane modele mogą działać z GPU lub CPU.
    • GPU: ponad 4 GB pamięci VRAM.
    • CPU: 16 GB lub więcej pamięci RAM i 4 lub więcej rdzeni CPU.
    • Uwaga: interfejs Prompt API z wejściem audio wymaga GPU.
  • Sieć: nieograniczona ilość danych lub połączenie bez pomiaru.

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

Zacznij tworzyć

Na różnych etapach tworzenia dostępnych jest kilka wbudowanych interfejsów API AI. Niektóre są dostępne w wersji stabilnej Chrome, inne dla uczestników testów origin, a jeszcze inne tylko dla uczestników programu wczesnej wersji przedpremierowej.

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ń do 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żywać sesji.
  • "available": możesz od razu utworzyć sesję.

Niektóre interfejsy API wymagają dodatkowych opcji podczas wywoływania 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 input text,
// supports image input, and can generate English output.
await LanguageModel.availability({
  expectedInputs: [{type: "text", languages: ["en", "ja"]}, {type: "image"}],
  expectedOutputs: [{type: "text", languages: ["en"]}],
});

Aktywacja użytkownika

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

Użyj UserActivation.isActivewłaściwości, aby potwierdzić, że użytkownik wszedł w bezpośrednią interakcję ze stroną od czasu jej wczytania. Może to być dotknięcie, kliknięcie, naciśnięcie klawisza, mousedown, lub inne 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).

Rozwiązywanie problemów z localhost

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ę Broker State (Stan brokera) i upewnij się, że nie ma błędów.
  4. Otwórz Narzędzia deweloperskie i wpisz w konsoli LanguageModel.availability();. Powinno to zwrócić 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 masz jakieś uwagi, chętnie je poznamy.