Gepubliceerd: 20 mei 2025
De ingebouwde Prompt API is beschikbaar voor Chrome-extensies op Windows, macOS en Linux vanuit Chrome 138 stable. De API zal binnenkort beschikbaar zijn in een proefversie in Chrome.
De API wordt niet ondersteund door andere browsers, ChromeOS of mobiele besturingssystemen (zoals Android of iOS). Zelfs als de browser deze API wel ondersteunt, kan deze mogelijk niet worden uitgevoerd vanwege hardwarevereisten die niet worden gehaald.
Om aan de behoeften van gebruikers te voldoen, ongeacht het platform of de hardware die ze gebruiken, kunt u met Firebase AI Logic een terugval naar de cloud instellen.
Bouw een hybride AI-ervaring
Ingebouwde AI biedt een aantal voordelen , waarvan de belangrijkste zijn:
- Lokale verwerking van gevoelige gegevens: Als u met gevoelige gegevens werkt, kunt u gebruikers AI-functies aanbieden met end-to-end-encryptie.
- Offline AI-gebruik: uw gebruikers hebben toegang tot AI-functies, zelfs als ze offline zijn of een verbroken verbinding hebben.
Deze voordelen gelden niet voor cloudapplicaties, maar u kunt hiermee wel een naadloze ervaring garanderen voor mensen die geen toegang hebben tot ingebouwde AI.
Aan de slag met Firebase
Maak eerst een Firebase-project aan en registreer je webapp. Vervolg de installatie van de Firebase JavaScript SDK met de Firebase-documentatie .
Installeer de SDK
Deze workflow maakt gebruik van NPM en vereist modulebundlers of JavaScript-frameworktools. Firebase AI Logic is geoptimaliseerd voor gebruik met modulebundlers om ongebruikte code (tree-shaking) te elimineren en de SDK-grootte te verkleinen.
npm install --save-exact firebase@eap-ai-hybridinference
De hybride functie wordt uitgebracht onder een andere npm-tag, dus zorg ervoor dat u deze in uw installatieopdracht opneemt.
Tags worden geïmplementeerd als patchversies, dus de --save-exact
vlag geeft npm de opdracht om niet automatisch te upgraden wanneer een nieuwe, mogelijk niet-gerelateerde, versie beschikbaar is.
Gebruik Firebase AI Logic
Nadat Firebase is geïnstalleerd, initialiseert u de SDK om Firebase-services te kunnen gebruiken.
Configureer en initialiseer uw Firebase-app
Een Firebase-project kan meerdere Firebase-apps bevatten. Een Firebase-app is een containerachtig object dat de algemene configuratie opslaat en authenticatie deelt met Firebase-services.
Uw Firebase-app fungeert als het cloudgedeelte van uw hybride AI-functie.
import { initializeApp } from 'firebase/app';
import { getAI, getGenerativeModel } from 'firebase/vertexai';
// TODO: Replace the following with your app's Firebase project configuration.
const firebaseConfig = {
apiKey: '',
authDomain: '',
projectId: '',
storageBucket: '',
messagingSenderId: '',
appId: '',
};
// Initialize `FirebaseApp`.
const firebaseApp = initializeApp(firebaseConfig);
Geef het model opdracht
Nadat het model is geïnitialiseerd, kunt u het van tekst of multimodale invoer voorzien.
Tekstprompts
Je kunt platte tekst gebruiken voor je instructies aan het model. Je kunt het model bijvoorbeeld vragen om een mop te vertellen.
Om ervoor te zorgen dat ingebouwde AI wordt gebruikt wanneer deze beschikbaar is in de getGenerativeModel
-functie, stelt u mode
in op prefer_on_device
.
// Initialize the Google AI service.
const googleAI = getAI(firebaseApp);
// Create a `GenerativeModel` instance with a model that supports your use case.
const model = getGenerativeModel(googleAI, { mode: 'prefer_on_device' });
const prompt = 'Tell me a joke';
const result = await model.generateContentStream(prompt);
for await (const chunk of result.stream) {
const chunkText = chunk.text();
console.log(chunkText);
}
console.log('Complete response', await result.response);
Multimodale prompts
Je kunt naast tekst ook afbeeldingen of audio gebruiken. Je kunt het model bijvoorbeeld vragen de inhoud van een afbeelding te beschrijven of een audiobestand te transcriberen.
Afbeeldingen moeten worden doorgegeven als een base64-gecodeerde tekenreeks als een Firebase FileDataPart
object. Dit kunt u doen met de hulpfunctie fileToGenerativePart()
.
// Converts a File object to a `FileDataPart` object.
// https://firebase.google.com/docs/reference/js/vertexai.filedatapart
async function fileToGenerativePart(file) {
const base64EncodedDataPromise = new Promise((resolve) => {
const reader = new FileReader();
reader.onload = () => resolve(reader.result.split(',')[1]);
reader.readAsDataURL(file);
});
return {
inlineData: { data: await base64EncodedDataPromise, mimeType: file.type },
};
}
const fileInputEl = document.querySelector('input[type=file]');
fileInputEl.addEventListener('change', async () => {
const prompt = 'Describe the contents of this image.';
const imagePart = await fileToGenerativePart(fileInputEl.files[0]);
// To generate text output, call generateContent with the text and image
const result = await model.generateContentStream([prompt, imagePart]);
for await (const chunk of result.stream) {
const chunkText = chunk.text();
console.log(chunkText);
}
console.log(Complete response: ', await result.response);
});
Demonstratie
Bekijk de demo van Firebase AI Logic op verschillende apparaten en browsers. U kunt zien hoe de modelrespons afkomstig is van het ingebouwde AI-model of de cloud.
Op ondersteunde hardware in Chrome gebruikt de demo de Prompt API en Gemini Nano. Er zijn slechts drie verzoeken gedaan voor het hoofddocument, het JavaScript-bestand en het CSS-bestand.
Wanneer u zich in een andere browser of een besturingssysteem zonder ingebouwde AI-ondersteuning bevindt, wordt er een extra verzoek gedaan aan het Firebase-eindpunt, https://firebasevertexai.googleapis.com
.
Deelnemen en feedback delen
Firebase AI Logic kan een uitstekende optie zijn om AI-mogelijkheden te integreren in uw webapps. Door een terugvaloptie naar de cloud te bieden wanneer de Prompt API niet beschikbaar is, zorgt de SDK voor een bredere toegankelijkheid en betrouwbaarheid van AI-functies.
Houd er rekening mee dat cloudtoepassingen nieuwe verwachtingen scheppen ten aanzien van privacy en functionaliteit. Daarom is het belangrijk dat u uw gebruikers informeert over waar hun gegevens worden verwerkt.
- Als u feedback wilt geven over de implementatie van Chrome, kunt u een bugrapport of een functieverzoek indienen.
- Voor feedback over Firebase AI Logic kunt u een bugrapport indienen.