O que firebase-ai-logic-basics faz?
Skill oficial para integrar Firebase AI Logic (API Gemini) em aplicações web. Abrange configuração, inferência multimodal, saída estruturada e segurança.
Introdução
Este skill fornece uma base para usar o Firebase AI Logic (API Gemini) em suas aplicações web. Com ele, você pode:
- Configurar o Firebase e o Gemini SDK
- Realizar inferências com entrada multimodal (texto, imagens)
- Gerar saída estruturada (por exemplo, JSON)
- Implementar medidas de segurança
Pré-requisitos
- Conta no Firebase e um projeto ativo
- SDK do Firebase configurado (v9+)
- Chave de API do Gemini ou configuração via Firebase Authentication
Configuração
- Instale as dependências:
npm install firebase @google/generative-ai
- Inicialize o Firebase e o Gemini no seu app:
import { initializeApp } from 'firebase/app';
import { getGenerativeAI } from '@google/generative-ai';
const firebaseConfig = {
apiKey: "SUA_API_KEY",
authDomain: "SEU_PROJETO.firebaseapp.com",
projectId: "SEU_PROJETO"
};
const app = initializeApp(firebaseConfig);
const genAI = getGenerativeAI(app, { apiKey: "SUA_CHAVE_GEMINI" });
- Use o modelo:
const model = genAI.getGenerativeModel({ model: "gemini-pro" });
async function gerarResposta(prompt) {
const result = await model.generateContent(prompt);
return result.response.text();
}
Exemplos de Uso
Inferência Multimodal
Envie texto e imagem:
import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI("SUA_CHAVE");
const model = genAI.getGenerativeModel({ model: "gemini-pro-vision" });
const prompt = "Descreva esta imagem";
const image = {
inlineData: {
data: "base64_encoded_image...",
mimeType: "image/png"
}
};
const result = await model.generateContent([prompt, image]);
console.log(result.response.text());
Saída Estruturada
Solicite resposta em formato JSON:
const prompt = `
Gere uma lista de tarefas no formato JSON:
[{"tarefa": "descrição", "prioridade": "alta|média|baixa"}]
`;
const result = await model.generateContent(prompt);
const tasks = JSON.parse(result.response.text());
Segurança
- Use regras de segurança do Firebase Firestore para restringir acesso
- Nunca exponha sua chave de API no frontend sem autenticação
- Considere usar funções Cloud Functions para chamadas sensíveis