Data di pubblicazione: 20 maggio 2025
Per soddisfare le esigenze degli utenti, indipendentemente dalla piattaforma o dall'hardware che utilizzano, puoi configurare un set fallback al cloud con Firebase AI Logic per l'API Prompt integrata .
Creare un'esperienza di AI ibrida
L'AI integrata offre una serie di vantaggi, in particolare:
- Elaborazione locale dei dati sensibili:se lavori con dati sensibili, puoi offrire funzionalità di AI agli utenti con la crittografia end-to-end.
- Utilizzo dell'AI offline:gli utenti possono accedere alle funzionalità di AI anche quando sono offline o la connettività è scaduta.
Sebbene questi vantaggi non si applichino alle applicazioni cloud, puoi garantire un'esperienza senza interruzioni per chi non può accedere all'AI integrata.
Iniziare a utilizzare Firebase
- Crea un progetto Firebase e registra la tua applicazione web.
- Leggi la documentazione dell'SDK Firebase JavaScript per continuare la configurazione dell'applicazione web.
I progetti Firebase creano un progetto Google Cloud con configurazioni e servizi specifici di Firebase. Scopri di più su Google Cloud e Firebase.
Installare l'SDK
Questo flusso di lavoro utilizza npm e richiede strumenti di framework JavaScript o bundler di moduli. Firebase AI Logic è ottimizzato per funzionare con i bundler di moduli per eliminare il codice inutilizzato e ridurre le dimensioni dell'SDK.
npm install firebase
Una volta installato, inizializza Firebase nella tua applicazione.
Utilizzare Firebase AI Logic
Una volta installato e inizializzato Firebase, scegli l'API Gemini Developer o l'API Gemini, quindi inizializza e crea un'istanza.
Una volta inizializzato, puoi richiedere al modello di inserire testo o input multimodali.
Prompt di testo
Puoi utilizzare testo normale per le istruzioni del modello. Ad esempio, potresti chiedere al modello di raccontarti una barzelletta.
Hai a disposizione alcune opzioni per il routing della richiesta:
Utilizza l'AI integrata per impostazione predefinita quando è disponibile impostando
modesu'prefer_on_device'nella funzionegetGenerativeModel(). Se il modello integrato non è disponibile, la richiesta eseguirà il fallback senza problemi per utilizzare il modello cloud (se sei online).Utilizza il modello cloud per impostazione predefinita quando sei online impostando
modesu'prefer_in_cloud'nella funzionegetGenerativeModel(). Se sei offline, la richiesta eseguirà il fallback senza problemi per utilizzare l'AI integrata, se disponibile.
// 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);
Prompt multimodali
Oltre al testo, puoi anche richiedere immagini o audio. Potresti chiedere al modello di descrivere i contenuti di un'immagine o di trascrivere un file audio.
Le immagini devono essere passate come stringa con codifica base64 come oggetto FileDataPart di Firebase, che puoi fare con la funzione helper 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);
});
Demo
Visita la demo di Firebase AI Logic su diversi dispositivi e browser. Puoi vedere se la risposta del modello proviene dal modello di AI integrato o dal cloud.
Sull'hardware supportato in Chrome, la demo utilizza l'API Prompt e Gemini Nano. Vengono effettuate solo 3 richieste per il documento principale, il file JavaScript e il file CSS.

In un altro browser o in un sistema operativo senza supporto per l'AI integrata, viene effettuata una richiesta aggiuntiva all'endpoint Firebase, https://firebasevertexai.googleapis.com.

Partecipare e condividere feedback
Firebase AI Logic può essere un'ottima opzione per integrare le funzionalità di AI nelle tue app web. Fornendo un fallback al cloud quando l'API Prompt non è disponibile, l'SDK garantisce una maggiore accessibilità e affidabilità delle funzionalità di AI.
Ricorda che le applicazioni cloud creano nuove aspettative in termini di privacy e funzionalità, quindi è importante informare gli utenti su dove vengono elaborati i loro dati.
- Per inviare feedback sull'implementazione di Chrome, presenta una segnalazione di bug o una richiesta di funzionalità.
- Per inviare feedback su Firebase AI Logic, presenta una segnalazione di bug.