Ga aan de slag met ingebouwde AI

Alexandra Klepper
Alexandra Klepper

Gepubliceerd: 12 december 2024, Laatst bijgewerkt: 20 mei 2025

Met ingebouwde AI-API's kan uw webapplicatie AI-gestuurde taken uitvoeren zonder dat u zelf AI-modellen hoeft te implementeren of beheren. We werken eraan om deze API's te standaardiseren voor alle browsers .

Vereisten

Om de ingebouwde AI te gebruiken, zijn er model- en hardwarevereisten.

Modellen

De Translator- en Language Detector-API's gebruiken expertmodellen. Alle andere API's gebruiken een taalmodel dat is ontworpen om lokaal op desktops en laptops te draaien.

De Summarizer API, Writer API, Rewriter API en Proofreader API ondersteunen alleen tekst-naar-tekst-conversie. De Prompt API heeft multimodale mogelijkheden .

Gemini Nano in chroom

Chrome maakt gebruik van de Gemini Nano-taalmodellen. Gemini Nano is niet beschikbaar op mobiele apparaten.

Vanaf Chrome 140 ondersteunt Gemini Nano Engels, Spaans en Japans voor zowel tekstinvoer als -uitvoer.

Voordat je de ingebouwde AI-API's gebruikt, ga je akkoord met het beleid van Google inzake verboden gebruik van generatieve AI .

Hardware

De volgende vereisten gelden voor ontwikkelaars en gebruikers die functies gebruiken die deze API's in Chrome inzetten. Andere browsers kunnen andere vereisten hebben.

De API's voor taaldetectie en -vertaling werken in Chrome op desktops. Deze API's werken niet op mobiele apparaten.

De Prompt API , Summarizer API , Writer API , Rewriter API en Proofreader API werken in Chrome wanneer aan de volgende voorwaarden wordt voldaan:

  • Besturingssysteem : Windows 10 of 11; macOS 13+ (Ventura en nieuwer); Linux; of ChromeOS (vanaf platform 16389.0.0 en nieuwer) op Chromebook Plus- apparaten. Chrome voor Android, iOS en ChromeOS op niet-Chromebook Plus-apparaten wordt nog niet ondersteund door de API's die gebruikmaken van Gemini Nano.
  • Opslag : Minimaal 22 GB vrije ruimte op het volume waarop uw Chrome-profiel staat.
  • GPU of CPU : Ingebouwde modellen kunnen met een GPU of een CPU werken.
    • GPU : Strikt meer dan 4 GB VRAM.
    • CPU : 16 GB RAM of meer en 4 processorkernen of meer.
  • Netwerk : Onbeperkte data of een verbinding zonder datalimiet.

De exacte afmetingen van de Gemini Nano kunnen variëren, afhankelijk van de browserupdate van het model. Ga naar chrome://on-device-internals om de huidige afmetingen te achterhalen.

Beginnen met bouwen

Er zijn verschillende ingebouwde AI-API's beschikbaar in verschillende ontwikkelingsstadia. Sommige zijn opgenomen in de stabiele versie van Chrome, andere zijn beschikbaar voor deelnemers aan Origin-proeven en weer andere zijn alleen beschikbaar voor deelnemers aan het Early Preview Program .

Elke API heeft zijn eigen instructies voor het starten en downloaden van het model, zowel voor lokale prototyping als in productieomgevingen met de originele testversie.

Al deze API's kunnen worden gebruikt bij het ontwikkelen van Chrome-extensies.

Model downloaden

Zowel API's als modellen zijn ingebouwd in Chrome. De eerste keer dat een gebruiker met deze API's interacteert, moet het model naar de browser worden gedownload.

Om te bepalen of een API bruikbaar en gereed is, roept u de asynchrone functie availability() aan. Deze retourneert een promise met een van de volgende waarden:

  • "unavailable" : Het apparaat van de gebruiker of de gevraagde sessieopties worden niet ondersteund. Het apparaat heeft mogelijk onvoldoende stroom of schijfruimte.
  • "downloadable" : Er zijn extra downloads nodig om een ​​sessie te creëren, waaronder mogelijk een expertmodel, een taalmodel of fine-tuning. Gebruikersactivering kan vereist zijn om create() aan te roepen.
  • "downloading" : Downloads zijn bezig en moeten voltooid zijn voordat u een sessie kunt gebruiken.
  • "available" : Je kunt direct een sessie aanmaken.

Sommige API's vereisen extra opties bij het opvragen van beschikbaarheid. De Prompt API vereist bijvoorbeeld dat taalondersteuning wordt opgegeven:

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

Gebruikersactivering

Als het apparaat ingebouwde AI-API's ondersteunt, maar het model nog niet is gedownload, moet de gebruiker op een zinvolle manier met uw pagina interageren voordat uw applicatie een sessie kan starten met create() .

Gebruik de eigenschap UserActivation.isActive om te bevestigen dat een gebruiker direct interactie heeft gehad met de pagina sinds het laden ervan is voltooid. Dit kan een tik, klik, toetsaanslag, mousedown of andere persistente activeringsgebeurtenissen omvatten.

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

Met de Summarizer API kun je gebruikers bijvoorbeeld vragen om op een knop met de tekst "Samenvatten" te klikken om Summarizer.create() te activeren, of je kunt de samenvatter aanmaken zodra een gebruiker begint te typen, een keydown -gebeurtenis.

Gebruik API's op localhost

Alle API's zijn beschikbaar op localhost in Chrome.

  1. Ga naar chrome://flags/#optimization-guide-on-device-model .
  2. Selecteer ' Ingeschakeld' .
  3. Klik op Opnieuw opstarten of Chrome opnieuw starten.

Voor API's die Gemini Nano gebruiken, moet u ook chrome://flags/#prompt-api-for-gemini-nano instellen op Enabled of Enabled multilingual . U kunt in de DevTools Console controleren of het model is gedownload en naar behoren werkt. Voer in de console await LanguageModel.availability(); uit.

Problemen met localhost oplossen

Als de vlaggen niet verschijnen in chrome://flags , zorg er dan voor dat je de nieuwste versie van Chrome hebt gedownload.

Als het model niet naar behoren werkt, volg dan deze stappen:

  1. Chrome opnieuw opstarten.
  2. Ga naar chrome://on-device-internals .
  3. Selecteer het tabblad 'Modelstatus' en controleer of er geen fouten zijn.
  4. Open de ontwikkelaarstools en typ LanguageModel.availability(); in de console. Dit zou available moeten retourneren.

Wacht indien nodig even en herhaal deze stappen.

Standaardisatieproces

We werken aan de standaardisatie van deze API's , zodat ze in alle browsers werken. Dit betekent dat we de API's hebben voorgesteld aan de webplatformgemeenschap en ze hebben doorgestuurd naar de W3C Web Incubator Community Group voor verdere discussie.

We vragen feedback van het W3C, Mozilla en WebKit voor elke API.

Betrek de deelnemers en deel je feedback.

Als je de ingebouwde AI uitprobeert en feedback hebt, horen we dat graag.