Requêtes d'IA hybrides avec la logique d'IA Firebase

Publié le 20 mai 2025

Pour répondre aux besoins de vos utilisateurs, quelle que soit la plate-forme ou le matériel qu'ils utilisent, vous pouvez configurer un repli vers le cloud avec Firebase AI Logic pour l'API Prompt intégrée.

Créer une expérience d'IA hybride

L'IA intégrée offre de nombreux avantages, notamment :

  • Traitement local des données sensibles : si vous travaillez avec des données sensibles, vous pouvez proposer des fonctionnalités d'IA aux utilisateurs avec chiffrement de bout en bout.
  • Utilisation de l'IA hors connexion : vos utilisateurs peuvent accéder aux fonctionnalités d'IA, même lorsqu'ils sont hors connexion ou que leur connexion est interrompue.

Bien que ces avantages ne s'appliquent pas aux applications cloud, vous pouvez garantir une expérience fluide aux utilisateurs qui n'ont pas accès à l'IA intégrée.

Premiers pas avec Firebase

  1. Créez un projet Firebase et enregistrez votre application Web.
  2. Consultez la documentation du SDK Firebase JavaScript pour continuer à configurer votre application Web.

Les projets Firebase créent un projet Google Cloud avec des configurations et des services spécifiques à Firebase. En savoir plus sur Google Cloud et Firebase

Installer le SDK

Ce workflow utilise npm et nécessite des outils de regroupement de modules ou de framework JavaScript. Firebase AI Logic est optimisé pour fonctionner avec les bundlers de modules afin d'éliminer le code inutilisé et de réduire la taille du SDK.

npm install firebase

Une fois installé, initialisez Firebase dans votre application.

Utiliser Firebase AI Logic

Une fois Firebase installé et initialisé, choisissez l'API Gemini Developer ou l'API Gemini Vertex AI, puis initialisez et créez une instance.

Une fois initialisé, vous pouvez inviter le modèle avec une entrée textuelle ou multimodale.

Requêtes textuelles

Vous pouvez utiliser du texte brut pour donner des instructions au modèle. Par exemple, vous pouvez demander au modèle de vous raconter une blague.

Pour vous assurer que l'IA intégrée est utilisée lorsqu'elle est disponible dans la fonction getGenerativeModel, définissez mode sur 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);

Requêtes multimodales

Vous pouvez également utiliser des images ou de l'audio en plus du texte. Vous pouvez demander au modèle de décrire le contenu d'une image ou de transcrire un fichier audio.

Les images doivent être transmises sous forme de chaîne encodée en base64 en tant qu'objet FileDataPart Firebase, ce que vous pouvez faire avec la fonction d'assistance 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);
  });

Démo

Accédez à la démonstration Firebase AI Logic sur différents appareils et navigateurs. Vous pouvez voir si la réponse du modèle provient du modèle d'IA intégré ou du cloud.

Lorsqu'elle est exécutée sur du matériel compatible dans Chrome, la démo utilise l'API Prompt et Gemini Nano. Seules trois requêtes sont effectuées pour le document principal, le fichier JavaScript et le fichier CSS.

Firebase AI Logic s'exécutant dans Chrome, à l'aide des API d'IA intégrées.

Lorsque vous utilisez un autre navigateur ou un système d'exploitation sans prise en charge de l'IA intégrée, une requête supplémentaire est envoyée au point de terminaison Firebase, https://firebasevertexai.googleapis.com.

Firebase AI Logic s'exécute dans Safari et envoie une requête aux serveurs Firebase.

Participer et envoyer des commentaires

Firebase AI Logic peut être une excellente option pour intégrer des fonctionnalités d'IA à vos applications Web. En fournissant un fallback vers le cloud lorsque l'API Prompt n'est pas disponible, le SDK assure une accessibilité et une fiabilité plus larges des fonctionnalités d'IA.

N'oubliez pas que les applications cloud créent de nouvelles attentes en termes de confidentialité et de fonctionnalités. Il est donc important d'informer vos utilisateurs de l'endroit où leurs données sont traitées.