Gepubliceerd: 20 mei 2025
Om te voldoen aan de behoeften van uw gebruikers, ongeacht het platform of de hardware die ze gebruiken, kunt u met Firebase AI Logic een terugval naar de cloud instellen voor de ingebouwde Prompt API .
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.
Hoewel deze voordelen niet gelden voor cloudapplicaties, kunt u hiermee een naadloze ervaring garanderen voor mensen die geen toegang hebben tot ingebouwde AI.
Aan de slag met Firebase
- Maak een Firebase-project en registreer uw webapplicatie.
- Lees de documentatie van de Firebase JavaScript SDK om verder te gaan met de installatie van uw webtoepassing.
Firebase-projecten maken een Google Cloud-project met Firebase-specifieke configuraties en services. Meer informatie over Google Cloud en Firebase .
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 te elimineren en de SDK-grootte te verkleinen.
npm install firebase
Nadat u Firebase hebt geïnstalleerd, initialiseert u deze in uw toepassing .
Gebruik Firebase AI Logic
Nadat Firebase is geïnstalleerd en geïnitialiseerd, kiest u de Gemini Developer API of de Vertex AI Gemini API. Vervolgens initialiseert u en maakt u een instantie .
Nadat het model is geïnitialiseerd, kunt u het een tekst- of multimodale invoer geven.
Tekstprompts
Je kunt platte tekst gebruiken voor je instructies aan het model. Je kunt het model bijvoorbeeld vragen om een mop te vertellen.
U hebt verschillende opties voor de manier waarop het verzoek wordt gerouteerd:
Gebruik de ingebouwde AI standaard wanneer deze beschikbaar is door de
mode
in de functiegetGenerativeModel()
in te stellen op'prefer_on_device'
. Als het ingebouwde model niet beschikbaar is, valt de aanvraag naadloos terug op het cloudmodel (als u online bent).Gebruik het cloudmodel standaard wanneer u online bent door de
mode
in de functiegetGenerativeModel()
in te stellen op'prefer_in_cloud'
. Bent u offline, dan schakelt de aanvraag naadloos terug naar de ingebouwde AI wanneer deze beschikbaar is.
// 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.
- Voor feedback over de implementatie van Chrome kunt u een bugrapport of een functieverzoek indienen.
- Voor feedback over Firebase AI Logic kunt u een bugrapport indienen.