Publié le 20 mai 2025
Créer une expérience d'IA hybride
L'IA intégrée présente plusieurs avantages, dont les suivants :
- 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 un 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 ne peuvent pas accéder à l'IA intégrée.
Premiers pas avec Firebase
- Créez un projet Firebase et enregistrez votre application Web.
- Lisez la documentation du SDK JavaScript Firebase pour poursuivre la configuration de 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 bundlers de modules ou des outils de framework JavaScript. Firebase AI Logic est optimisé pour fonctionner avec des 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, puis initialisez-la 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 vos instructions au modèle. Par exemple, vous pouvez demander au modèle de vous raconter une blague.
Voici quelques options pour le routage de la requête :
Utilisez l'IA intégrée par défaut lorsqu'elle est disponible en définissant le
modesur'prefer_on_device'dans la fonctiongetGenerativeModel(). Si le modèle intégré n'est pas disponible, la requête basculera de manière transparente vers le modèle cloud (si vous êtes en ligne).Utilisez le modèle cloud par défaut lorsque vous êtes en ligne en définissant le
modesur'prefer_in_cloud'dans la fonctiongetGenerativeModel(). Si vous êtes hors connexion, la requête basculera de manière transparente vers l'IA intégrée lorsqu'elle sera disponible.
// 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 des fichiers 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 Firebase FileDataPart, 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
Consultez la démo de Firebase AI Logic sur différents appareils et navigateurs. Vous pouvez voir comment la réponse du modèle provient du modèle d'IA intégré ou du cloud.
Sur le 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.

Dans 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.

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 repli vers le cloud lorsque l'API Prompt n'est pas disponible, le SDK garantit une accessibilité et une fiabilité accrues des fonctionnalités d'IA.
N'oubliez pas que les applications cloud créent de nouvelles attentes en matière de confidentialité et de fonctionnalités. Il est donc important d'informer vos utilisateurs de l'endroit où leurs données sont traitées.
- Pour envoyer des commentaires sur l'implémentation de Chrome, signalez un bug ou une demande de fonctionnalité.
- Pour envoyer des commentaires sur Firebase AI Logic, signalez un bug.