firebase/firebase-ai-logic-basics

Compétence officielle pour intégrer Firebase AI Logic (API Gemini) dans les applications web. Couvre la configuration, l'inférence multimodale, la sortie structurée et la sécurité.

Qu'est-ce que firebase-ai-logic-basics ?

Cette compétence officielle fournit tout le nécessaire pour intégrer Firebase AI Logic (basé sur l'API Gemini) dans vos applications web. Elle vous guide à travers la configuration de l'environnement Firebase, l'utilisation de l'inférence multimodale (texte, images, audio, vidéo), la génération de sorties structurées (JSON, schémas), et la mise en place de règles de sécurité avec Firebase Security Rules. La compétence est conçue pour les développeurs travaillant avec Firebase, Google Cloud, et les agents IA tels que Claude Code, Cursor ou Codex. Elle met l'accent sur les bonnes pratiques pour exploiter les modèles Gemini de manière sécurisée et efficace, tout en respectant les contraintes de performance et de coût. Les cas d'utilisation incluent la création d'assistants intelligents, l'analyse de contenu, et l'automatisation de tâches basées sur des données structurées. La compétence explique comment configurer les clés API, initialiser le SDK Firebase, et implémenter des appels à l'API Gemini avec des paramètres avancés comme la température, le top-k, et le stop sequence.

Compatible avec~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/firebase/agent-skills/tree/main/skills/firebase-ai-logic-basics

Installed? Explore more Productivité et collaboration skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait firebase-ai-logic-basics ?

Compétence officielle pour intégrer Firebase AI Logic (API Gemini) dans les applications web. Couvre la configuration, l'inférence multimodale, la sortie structurée et la sécurité.

Introduction

Firebase AI Logic permet d'utiliser les modèles Gemini de Google directement depuis vos applications web via le SDK Firebase. Cette compétence vous guide pas à pas pour configurer et exploiter ces fonctionnalités.

Prérequis

  • Un projet Firebase avec le plan Blaze (pay-as-you-go) activé
  • Node.js 18+ ou un environnement navigateur moderne
  • Une clé API Gemini (disponible dans Google Cloud Console)

Configuration

1. Initialiser Firebase dans votre projet

npm install firebase
import { initializeApp } from 'firebase/app';
import { getVertexAI } from 'firebase/vertexai';

const firebaseConfig = {
  apiKey: 'VOTRE_CLÉ_API',
  authDomain: 'votre-projet.firebaseapp.com',
  projectId: 'votre-projet',
};

const app = initializeApp(firebaseConfig);
const vertexAI = getVertexAI(app);

2. Effectuer une inférence de base

import { getGenerativeModel } from 'firebase/vertexai';

const model = getGenerativeModel(vertexAI, { model: 'gemini-1.5-pro' });

const result = await model.generateContent('Expliquer le cycle de l\'eau en bref.');
console.log(result.response.text());

Inférence multimodale

Gemini peut traiter du texte, des images, de l'audio et de la vidéo.

import { getGenerativeModel } from 'firebase/vertexai';

const model = getGenerativeModel(vertexAI, { model: 'gemini-1.5-pro' });

const imagePart = {
  inlineData: {
    mimeType: 'image/png',
    data: base64EncodedImage,
  },
};

const result = await model.generateContent([
  'Décrivez cette image en détail.',
  imagePart,
]);
console.log(result.response.text());

Sortie structurée (JSON)

Demandez à Gemini de générer du JSON structuré.

const schema = {
  type: 'object',
  properties: {
    nom: { type: 'string' },
    age: { type: 'number' },
    hobbies: { type: 'array', items: { type: 'string' } },
  },
};

const result = await model.generateContent({
  contents: [{ role: 'user', parts: [{ text: 'Générez une fiche pour un personnage de fiction.' }] }],
  generationConfig: {
    responseMimeType: 'application/json',
    responseSchema: schema,
  },
});

const data = JSON.parse(result.response.text());
console.log(data);

Sécurité et règles Firebase

Protégez vos appels API avec Firebase Security Rules.

// Exemple de règle de sécurité pour limiter l'accès
// Dans Firebase Console -> Firestore Database -> Règles
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

Bonnes pratiques

  • Utilisez des variables d'environnement pour stocker les clés API (process.env.FIREBASE_API_KEY)
  • Limitez le nombre de tokens (maxOutputTokens) pour contrôler les coûts
  • Gérez les erreurs avec try/catch
  • Utilisez des timeouts pour éviter les blocages

Dépannage

  • Erreur 403 : Vérifiez que le plan Blaze est activé
  • Erreur 429 : Trop de requêtes, implémentez un délai
  • Réponse vide : Assurez-vous que le modèle supporte le type d'entrée

Ressources

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

firebase/developing-genkit-dart

Generates code and provides documentation for the Genkit Dart SDK. Use when the user asks to build AI agents in Dart, use Genkit flows, or integrate LLMs into Dart/Flutter applications.

firebase/developing-genkit-go

Develop AI-powered applications using Genkit in Go. Use when the user asks to build AI features, agents, flows, or tools in Go using Genkit, or when working with Genkit Go code involving generation, prompts, streaming, tool calling, or model providers.

firebase/developing-genkit-js

Develop AI-powered applications using Genkit in Node.js/TypeScript. Use when the user asks about Genkit, AI agents, flows, or tools in JavaScript/TypeScript, or when encountering Genkit errors, validation issues, type errors, or API problems.

firebase/developing-genkit-python

Develop AI-powered applications using Genkit in Python. Use when the user asks about Genkit, AI agents, flows, or tools in Python, or when encountering Genkit errors, import issues, or API problems.

firebase/firebase-ai-logic

Official skill for integrating Firebase AI Logic (Gemini API) into web applications. Covers setup, multimodal inference, structured output, and security.

firebase/firebase-app-hosting-basics

Deploy and manage web apps with Firebase App Hosting. Use this skill when deploying Next.js/Angular apps with backends.

firebase/firebase-auth-basics

Guide for setting up and using Firebase Authentication. Use this skill when the user's app requires user sign-in, user management, or secure data access using auth rules.

firebase/firebase-basics

Provides foundational setup, authentication, and project management workflows for Firebase using the Firebase CLI. Use when checking Firebase CLI version (must use 'npx -y firebase-tools@latest --version'), initializing a Firebase environment, authenticating, setting active projects, or setting up `google-services.json` or `GoogleService-Info.plist` files.

firebase/firebase-crashlytics

Comprehensive guide for Firebase Crashlytics, including provisioning and SDK usage. Use this skill when the user needs help setting up Crashlytics, adding crash reporting, or using the Crashlytics SDK in their application.

firebase/firebase-data-connect

Builds and deploys Firebase SQL Connect (aka Firebase Data Connect) backends with PostgreSQL securely. Use when designing schemas with tables and relations, writing authorized queries and mutations, configuring real-time data updates, or generating type-safe SDKs. Use when you need a relational database with Firebase, or when the user mentions SQL Connect or Data Connect.

firebase/firebase-firestore

Sets up, manages, and executes queries against Cloud Firestore database instances, including advanced native full-text search and relational joins using pipelines. You MUST unconditionally activate this skill if you plan to use Firestore in any way. Use when listing or creating Firestore databases, configuring security rules, designing data models, writing client SDK queries (including search/joins), or checking indexes.

firebase/firebase-firestore-basics

Comprehensive guide for Firestore basics including provisioning, security rules, and SDK usage. Use this skill when the user needs help setting up Firestore, writing security rules, or using the Firestore SDK in their application.

firebase/firebase-firestore-enterprise-native-mode

Comprehensive guide for Firestore enterprise native including provisioning, data model, security rules, and SDK usage. Use this skill when the user needs help setting up Firestore Enterprise with the Native mode, writing security rules, or using the Firestore SDK in their application.

firebase/firebase-firestore-standard

Comprehensive guide for Firestore Standard Edition, including provisioning, security rules, and SDK usage. Use this skill when the user needs help setting up Firestore, writing security rules, or using the Firestore SDK in their application.

firebase/firebase-hosting-basics

Skill for working with Firebase Hosting (Classic). Use this when you want to deploy static web apps, Single Page Apps (SPAs), or simple microservices. Do NOT use for Firebase App Hosting.

firebase/firebase-local-env-setup

Bare minimum INITIAL setup for getting started with Firebase (Node.js, CLI installation, first-time login). Use ONLY for first-time setup. For updating, troubleshooting, or refreshing an existing environment, use the firebase-basics skill instead.

firebase/firebase-remote-config-basics

Comprehensive guide for Firebase Remote Config, including template management and SDK usage. Use this skill when the user needs help setting up Remote Config, managing feature flags, or updating app behavior dynamically.

firebase/firebase-security-rules-auditor

A skill to evaluate how secure Firestore security rules are. Use this when Firestore security rules are updated to ensure that the generated rules are extremely secure and robust.

firebase/firestore-security-rules-auditor

A skill to evaluate how secure Firestore security rules are. Use this when Firestore security rules are updated to ensure that the generated rules are extremely secure and robust.

firebase/xcode-project-setup

Safely modifies Xcode projects (.pbxproj) to add Swift Packages and link files. Use this skill whenever an iOS project needs dependencies installed (e.g. Firebase, Alamofire).

Skills associés