Prompting con l'AI ibrida con la logica AI di Firebase

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

  1. Crea un progetto Firebase e registra la tua applicazione web.
  2. Per continuare la configurazione dell'applicazione web, leggi la documentazione dell'SDK Firebase JavaScript.

I progetti Firebase creano un progetto 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.

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 Vertex AI 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 al modello. Ad esempio, puoi chiedere al modello di raccontarti una barzelletta.

Per assicurarti che l'AI integrata venga utilizzata quando è disponibile nella funzione getGenerativeModel, imposta mode su 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);

Prompt multimodali

Oltre al testo, puoi anche usare prompt con 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, cosa 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.

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.

Firebase AI Logic in esecuzione in Chrome, utilizzando le API AI integrate.

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.

Firebase AI Logic in esecuzione in Safari, che invia una richiesta ai server Firebase.

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.

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.