¿Qué hace firebase-ai-logic?
Skill oficial para integrar Firebase AI Logic (API de Gemini) en aplicaciones web. Cubre configuración, inferencia multimodal, salida estructurada y seguridad.
Descripción general
Este skill te ayuda a conectar tu aplicación web con la API de Gemini a través del servicio Firebase AI Logic, permitiéndote:
- Configurar Firebase para usar la API de Gemini.
- Realizar inferencias multimodales (texto, imágenes, audio, video).
- Generar salidas estructuradas usando esquemas predefinidos.
- Implementar medidas de seguridad para proteger tu aplicación.
Instalación
Asegúrate de tener instalado Firebase CLI y haber iniciado sesión:
firebase login
firebase init
Luego, agrega las dependencias necesarias en tu proyecto:
npm install firebase @google-cloud/aiplatform
Configuración
Habilita la API de Gemini en tu proyecto de Firebase:
- Ve a la Consola de Google Cloud.
- Navega a APIs y servicios > Biblioteca.
- Busca "Gemini API" y habilítala.
- Asegúrate de que el proyecto esté vinculado a Firebase.
Uso básico
Inicializar el cliente
import { initializeApp } from 'firebase/app';
import { getVertexAI, getGenerativeModel } from 'firebase/vertexai';
const firebaseConfig = {
// tu configuración de Firebase
};
const app = initializeApp(firebaseConfig);
const vertexAI = getVertexAI(app);
const model = getGenerativeModel(vertexAI, { model: 'gemini-1.5-pro' });
Inferencia multimodal
const prompt = 'Describe esta imagen';
const image = {
inlineData: {
data: 'base64_encoded_image',
mimeType: 'image/png'
}
};
const result = await model.generateContent([prompt, image]);
console.log(result.response.text());
Salida estructurada
Puedes definir un esquema para obtener respuestas estructuradas:
const schema = {
type: 'object',
properties: {
nombre: { type: 'string' },
edad: { type: 'integer' },
hobbies: { type: 'array', items: { type: 'string' } }
},
required: ['nombre', 'edad']
};
const result = await model.generateContent({
contents: [{ role: 'user', parts: [{ text: 'Crea un perfil de Juan, 30 años' }] }],
generationConfig: {
response_mime_type: 'application/json',
response_schema: schema
}
});
const perfil = JSON.parse(result.response.text());
Seguridad
Para proteger tu aplicación:
- Valida las entradas del usuario en el lado del servidor.
- Usa reglas de seguridad de Firebase para limitar el acceso a los datos.
- Configura límites de cuota en la API de Gemini para evitar abusos.
- No expongas claves de API en el frontend; usa funciones de backend (Firebase Functions) para llamadas sensibles.
Recursos adicionales
Este skill es mantenido por el equipo de Firebase.