Firebase AI Logic e os SDKs do cliente eram chamados de "Vertex AI in Firebase". Para refletir melhor nossos serviços e recursos expandidos (por exemplo, agora oferecemos suporte a Gemini Developer API), renomeamos e reempacotamos nossos serviços em Firebase AI Logic.
Para acessar com segurança os modelos de IA generativa do Google diretamente dos apps para dispositivos móveis ou da Web, agora você pode escolher um provedor de "Gemini API", seja o Vertex AI Gemini API disponível há muito tempo ou o Gemini Developer API. Isso significa que agora você tem a opção de usar o Gemini Developer API, que oferece um nível sem custos financeiros com limites de taxa e cotas razoáveis.
Visão geral das etapas para migrar para os SDKs Firebase AI Logic
Etapa 1: escolha o melhor provedor de "Gemini API" para seu app e casos de uso.
Etapa 2: configure seu projeto do Firebase para usar o Gemini Developer API.
Aplicável apenas se você estiver trocando para usar o Gemini Developer API em vez do Vertex AI Gemini API.Etapa 3: atualize a biblioteca usada no app.
Etapa 4: atualize a inicialização no app.
Etapa 5: atualize o código de acordo com os recursos usados.
Etapa 1: escolha o melhor provedor da "API Gemini" para seu app
Com essa migração, você pode escolher o provedor Gemini API:
Os SDKs antigos "Vertex AI in Firebase" só podiam usar o Vertex AI Gemini API.
Com os novos SDKs Firebase AI Logic, você pode escolher qual provedor de Gemini API quer chamar diretamente do seu app para dispositivos móveis ou da Web: Gemini Developer API ou Vertex AI Gemini API.
Analise as diferenças entre o uso dos dois provedores de Gemini API, principalmente em termos de recursos, preços e limites de taxa. Por exemplo, o Gemini Developer API não oferece suporte para fornecer arquivos usando URLs Cloud Storage, mas pode ser uma boa escolha se você quiser aproveitar o nível sem custo e a cota razoável.
Se você quiser continuar usando o Vertex AI Gemini API:
pule a próxima etapa e vá direto para atualizar a biblioteca no seu app, e depois o restante deste guia.Se você quiser trocar para a Gemini Developer API:
Continue para a próxima etapa para configurar seu projeto do Firebase para usar essa API e, em seguida, o restante deste guia.
Etapa 2: configurar o projeto do Firebase para usar o Gemini Developer API
Esta etapa só é necessária se você quiser trocar o uso do Gemini Developer API pelos SDKs do cliente Firebase AI Logic. No entanto, se você quiser continuar usando o Vertex AI Gemini API, pule para a próxima etapa.
Não há problema em ativar os dois provedores da "API Gemini" no seu projeto ao mesmo tempo.
No console Firebase, acesse a página Firebase AI Logic.
Acesse a guia Configurações e selecione Gemini Developer API.
Ative a Gemini Developer API.
O console vai garantir que as APIs necessárias estejam ativadas e gerar uma chave de API Gemini no seu projeto do Firebase.
Continue neste guia de migração para atualizar a biblioteca e a inicialização no app.
Etapa 3: atualizar a biblioteca usada no app
Atualize a base de código do app para usar a biblioteca Firebase AI Logic.
Swift
No Xcode, com o projeto do app aberto, atualize o pacote do Firebase para v11.13.0 ou mais recente usando uma das seguintes opções:
Opção 1: atualizar todos os pacotes: navegue até File > Packages > Update to Latest Package Versions.
Opção 2: atualizar o Firebase individualmente: navegue até o pacote do Firebase na seção Dependências do pacote. Clique com o botão direito do mouse no pacote do Firebase e selecione Update Package.
Verifique se o pacote do Firebase agora mostra a v11.13.0 ou mais recente. Caso contrário, verifique se os requisitos do pacote especificados permitem a atualização para a v11.13.0 ou mais recente.
Selecione o destino do app no Project Editor e navegue até a seção Frameworks, Libraries, and Embedded Content.
Adicione a nova biblioteca: selecione o botão + e adicione FirebaseAI do pacote do Firebase.
Depois de concluir a migração do app (consulte as outras seções deste guia), remova a biblioteca antiga:
Selecione FirebaseVertexAI e pressione o botão —.
Kotlin
No arquivo Gradle do módulo (nível do app) (geralmente
<project>/<app-module>/build.gradle.kts
ou<project>/<app-module>/build.gradle
), substitua as dependências antigas (conforme aplicável) pelo seguinte.Talvez seja mais fácil migrar a base de código do app (consulte as outras seções deste guia) antes de excluir a dependência antiga.
// BEFORE dependencies { implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
implementation("com.google.firebase:firebase-vertexai")// OR if not using the BoMimplementation("com.google.firebase:firebase-vertexai:16.x.y")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.13.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") }Sincronize seu projeto do Android com os arquivos Gradle.
Se você optar por não usar o Firebase Android BoM, basta adicionar
a dependência da biblioteca firebase-ai
e aceitar a versão mais recente
sugerida pelo Android Studio.
Java
No arquivo Gradle do módulo (nível do app) (geralmente
<project>/<app-module>/build.gradle.kts
ou<project>/<app-module>/build.gradle
), substitua as dependências antigas (conforme aplicável) pelo seguinte.Talvez seja mais fácil migrar a base de código do app (consulte as outras seções deste guia) antes de excluir a dependência antiga.
// BEFORE dependencies { implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
implementation("com.google.firebase:firebase-vertexai")// OR if not using the BoMimplementation("com.google.firebase:firebase-vertexai:16.x.y")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.13.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") }Sincronize seu projeto do Android com os arquivos Gradle.
Se você optar por não usar o Firebase Android BoM, basta adicionar
a dependência da biblioteca firebase-ai
e aceitar a versão mais recente
sugerida pelo Android Studio.
Web
Instale a versão mais recente do SDK do Firebase para JavaScript na Web usando o npm:
npm i firebase@latest
OU
yarn add firebase@latest
Onde quer que você tenha importado a biblioteca, atualize as instruções de importação para usar
firebase/ai
.Talvez seja mais fácil migrar a base de código do app (consulte as demais seções deste guia) antes de excluir as importações antigas.
// BEFORE import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";// AFTER import { initializeApp } from "firebase/app"; import { getAI, getGenerativeModel } from "firebase/ai";
Dart
Atualize para usar o pacote
firebase_ai
no arquivopubspec.yaml
executando o comando abaixo no diretório do projeto do Flutter:flutter pub add firebase_ai
Recrie seu projeto do Flutter:
flutter run
Depois de concluir a migração do app (consulte as outras seções deste guia), exclua o pacote antigo:
flutter pub remove firebase_vertexai
Unity
O suporte para Unity não estava disponível na "Vertex AI no Firebase".
Saiba como começar a usar o SDK do Firebase AI Logic para Unity.
Etapa 4: atualizar a inicialização no app
Clique no seu provedor de Gemini API para conferir o conteúdo e o código específicos do provedor nesta página. |
Atualize a forma como você inicializa o serviço para o provedor de API escolhido e
crie uma instância GenerativeModel
.
Swift
import FirebaseAI
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.0-flash")
Kotlin
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-2.0-flash")
Java
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-2.0-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.0-flash" });
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
FirebaseAI.googleAI().generativeModel(model: 'gemini-2.0-flash');
Unity
O suporte para Unity não estava disponível na "Vertex AI no Firebase".
Saiba como começar a usar o SDK do Firebase AI Logic para Unity.
Dependendo do recurso que você está usando, talvez não seja possível
criar uma instância de GenerativeModel
.
- Para acessar um modelo Imagen,
crie uma instância
ImagenModel
.
Etapa 5: atualizar o código de acordo com os recursos usados
Esta etapa descreve as mudanças que podem ser necessárias dependendo dos recursos que você usa.
Se você usa URLs Cloud Storage e trocou para usar o Gemini Developer API nessa migração, então você precisa atualizar suas solicitações multimodais para incluir arquivos como dados inline (ou usar URLs do YouTube para vídeos).
Confira as listas a seguir para ver as mudanças que talvez você precise fazer no código para acomodar o SDK Firebase AI Logic.
Swift
Sem mudanças adicionais.
Kotlin
Live API
- O valor
UNSPECIFIED
foi removido da classe de tipo enumeradoResponseModality
. Em vez disso, usenull
.
- O valor
Java
Live API
- O valor
UNSPECIFIED
foi removido da classe de tipo enumeradoResponseModality
. Em vez disso, usenull
.
- O valor
Vários métodos de builder do Java foram alterados para retornar corretamente a instância da classe, em vez de void.
Web
Mudanças necessárias somente se você estiver começando a usar o Gemini Developer API (em vez do Vertex AI Gemini API):
Configurações de segurança
- Os usos de
SafetySetting.method
sem suporte foram removidos.
- Os usos de
Dados inline
- Os usos de
InlineDataPart.videoMetadata
sem suporte foram removidos.
- Os usos de
Dart
Sem mudanças adicionais.
Unity
O suporte para o Unity não estava disponível em "Vertex AI in Firebase".
Saiba como começar a usar o SDK do Firebase AI Logic para Unity.
Enviar feedback sobre sua experiência com o Firebase AI Logic