Publicado em: 20 de maio de 2025
Para atender às necessidades dos usuários, seja qual for a plataforma ou o hardware usado, configure um fallback para a nuvem com o Firebase AI Logic para a API Prompt integrada.
Criar uma experiência híbrida de IA
A IA integrada oferece vários benefícios, principalmente:
- Tratamento local de dados sensíveis:se você trabalha com dados sensíveis, pode oferecer recursos de IA aos usuários com criptografia de ponta a ponta.
- Uso da IA off-line:seus usuários podem acessar recursos de IA mesmo quando estão off-line ou com conectividade instável.
Embora esses benefícios não se apliquem a aplicativos na nuvem, você pode garantir uma experiência perfeita para quem não tem acesso à IA integrada.
Começar a usar o Firebase
- Crie um projeto do Firebase e registre seu aplicativo da Web.
- Leia a documentação do SDK do Firebase para JavaScript para continuar a configuração do seu aplicativo da Web.
Os projetos do Firebase criam um projeto do Google Cloud com configurações e serviços específicos do Firebase. Saiba mais sobre o Google Cloud e o Firebase.
Instalar o SDK
Esse fluxo de trabalho usa npm e requer bundlers de módulos ou ferramentas de framework de JavaScript. A lógica de IA do Firebase é otimizada para funcionar com bundlers de módulos e eliminar código não utilizado e diminuir o tamanho do SDK.
npm install firebase
Depois de instalado, inicialize o Firebase no seu aplicativo.
Usar o Firebase AI Logic
Depois que o Firebase for instalado e inicializado, escolha a API Gemini Developer ou a API Gemini da Vertex AI e inicialize e crie uma instância.
Depois de inicializado, você pode enviar comandos ao modelo com texto ou entrada multimodal.
Comandos de texto
Você pode usar texto simples para dar instruções ao modelo. Por exemplo, você pode pedir para o modelo contar uma piada.
Para garantir que a IA integrada seja usada quando disponível na função getGenerativeModel
, defina mode
como 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);
Prompts multimodais
Além de texto, você também pode usar imagens ou áudio. Você pode pedir ao modelo para descrever o conteúdo de uma imagem ou transcrever um arquivo de áudio.
As imagens precisam ser transmitidas como uma string codificada em base64 como um objeto FileDataPart
do Firebase, o que pode ser feito com a função auxiliar 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);
});
Demonstração
Acesse a demonstração do Firebase AI Logic em diferentes dispositivos e navegadores. É possível ver como a resposta do modelo vem do modelo de IA integrado ou da nuvem.
Em hardware compatível no Chrome, a demonstração usa a API Prompt e o Gemini Nano. Há apenas três solicitações feitas para o documento principal, o arquivo JavaScript e o arquivo CSS.
Em outro navegador ou sistema operacional sem suporte integrado de IA, uma solicitação adicional é feita ao endpoint do Firebase, https://firebasevertexai.googleapis.com
.
Participe e compartilhe feedback
O Firebase AI Logic é uma ótima opção para integrar recursos de IA aos seus apps da Web. Ao fornecer um fallback para a nuvem quando a API Prompt não está disponível, o SDK garante maior acessibilidade e confiabilidade dos recursos de IA.
Lembre-se de que os aplicativos na nuvem criam novas expectativas de privacidade e funcionalidade. Por isso, é importante informar aos usuários onde os dados deles estão sendo tratados.
- Para enviar feedback sobre a implementação do Chrome, registre um relatório de bug ou uma solicitação de recurso.
- Para enviar feedback sobre o Firebase AI Logic, envie um relatório de bug.