Data di pubblicazione: 20 maggio 2025
Per soddisfare le esigenze degli utenti, indipendentemente dalla piattaforma o dall'hardware che utilizzano, puoi configurare un 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 crittografia end-to-end.
- Utilizzo dell'AI offline:i tuoi 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 fluida per chi non può accedere all'AI integrata.
Inizia a utilizzare Firebase
Scopri come creare un progetto Firebase e aggiungere Firebase alla tua app web.
I progetti Firebase sono progetti Google Cloud con configurazioni e servizi specifici di Firebase. Scopri di più su Google Cloud e Firebase.
Installa l'SDK
Questo flusso di lavoro utilizza npm e richiede bundler di moduli o strumenti di framework JavaScript. Firebase AI Logic è ottimizzato per funzionare con i bundler di moduli per eliminare il codice inutilizzato e ridurre le dimensioni dell'SDK.
Installa l'SDK Firebase JS:
npm install firebase
Configurare e proteggere Firebase AI Logic
Nella console Firebase, vai a Servizi AI > AI Logic.
Fai clic su Inizia per avviare il flusso di lavoro di configurazione.
Quando ti viene chiesto di scegliere un "provider dell'API Gemini", ti consigliamo di selezionare l'API Gemini Developer, che ti consente di iniziare rapidamente senza costi.
In un secondo momento, puoi sempre configurare l'API Gemini di Vertex AI (e il relativo requisito di fatturazione).
Continua nel flusso di lavoro della console per configurare le API richieste e i servizi associati per Firebase AI Logic.
A partire dall'inizio di luglio 2026, questa fase del flusso di lavoro applicherà automaticamente Firebase App Check per AI Logic, che è un servizio fondamentale per proteggere l'API Gemini quando viene accessibile direttamente dalla tua app. Nell'ambito della procedura di configurazione iniziale (vedi i passaggi più avanti in questa guida), dovrai configurare il provider di debug di App Check per lo sviluppo locale quando App Check viene applicato.
Continua con le sezioni successive di questa guida per configurare il provider di debug di App Check per lo sviluppo locale e poi invia la tua prima richiesta all'API Gemini.
Configura il provider di debug di App Check per lo sviluppo locale
Ecco come utilizzare il provider di debug durante l'esecuzione dell'app da localhost
in modo interattivo (ad esempio, durante lo sviluppo locale):
Nella build di debug, attiva la modalità di debug impostando
self.FIREBASE_APPCHECK_DEBUG_TOKENsutrueprima di inizializzare App Check. Ad esempio:self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; initializeAppCheck(app, { /* App Check options */ });Visita la tua app web in locale e apri gli strumenti per sviluppatori del browser. Nella console di debug, vedrai un token di debug:
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will need to safelist it in the Firebase console for it to work.Registra il token di debug con App Check:
Nella console Firebase, vai alla scheda Sicurezza > App Check > App.
Trova la tua app, fai clic sul menu extra () e poi seleziona Gestisci token di debug.
Segui le istruzioni sullo schermo per registrare il token di debug.
Per informazioni dettagliate sul fornitore di debug (incluso come ottenere un nuovo token di debug), consulta la documentazione ufficiale di App Check.
Invia una richiesta all'API Gemini
Richiedi al modello di generare una risposta con input di testo o multimodali. Vedi gli esempi nelle sottosezioni seguenti di questa guida.
Prompt di testo
Puoi utilizzare il testo normale per le istruzioni al modello. Ad esempio, puoi chiedere al modello di raccontarti una barzelletta.
Hai 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 verrà eseguita senza problemi utilizzando 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 verrà eseguita senza problemi utilizzando 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 usare immagini o audio. Potresti chiedere al modello di descrivere i contenuti di un'immagine o trascrivere un file audio.
Le immagini devono essere trasmesse come stringa con codifica base64 come oggetto FileDataPart di Firebase, operazione che puoi eseguire 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.
Quando viene eseguita su hardware supportato in Chrome, la demo utilizza l'API Prompt e Gemini Nano. Vengono effettuate solo tre richieste per il documento principale, il file JavaScript e il file CSS.

Quando si utilizza un altro browser o un sistema operativo senza supporto AI integrato,
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 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.
Tieni presente che le applicazioni cloud creano nuove aspettative in termini di privacy e funzionalità, quindi è importante informare gli utenti su dove vengono trattati i loro dati.
- Per inviare feedback sull'implementazione di Chrome, compila una segnalazione di bug o una richiesta di funzionalità.
- Per inviare feedback su Firebase AI Logic, compila una segnalazione di bug.