Migrar para os SDKs de lógica da AI do Firebase da versão GA da Vertex AI nos SDKs do Firebase


O Firebase AI Logic e os SDKs de cliente dele eram chamados de "Vertex AI in Firebase". Para refletir melhor nossos serviços e recursos expandidos (por exemplo, agora oferecemos suporte ao 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 seus apps para dispositivos móveis ou da Web, agora você pode escolher um provedor "Gemini API" — Vertex AI Gemini API, que já está disponível há muito tempo, ou 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 seu código de acordo com os recursos que você usa.

Etapa 1: escolha o melhor provedor da "API Gemini" para seu app

Com essa migração, você pode escolher um provedor de "Gemini API":

  • Os SDKs antigos "Vertex AI in Firebase" só podiam usar o Vertex AI Gemini API.

  • Com os novos SDKs do Firebase AI Logic, é possível escolher qual provedor de "Gemini API" você quer chamar diretamente do seu app para dispositivos móveis ou da Web – o Gemini Developer API ou o Vertex AI Gemini API.

Confira as diferenças entre o uso dos dois provedores de Gemini API, principalmente em termos de recursos compatíveis, preços e limites de taxa. Por exemplo, o Gemini Developer API não oferece suporte ao fornecimento de arquivos usando URLs Cloud Storage, mas pode ser uma boa opção se você quiser aproveitar o nível sem custo financeiro e a cota razoável.

Etapa 2: configure seu projeto do Firebase para usar o Gemini Developer API

Esta etapa só é necessária se você quiser usar o Gemini Developer API com os 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 ter os dois provedores da "API Gemini" ativados no seu projeto ao mesmo tempo.

  1. No console Firebase, acesse a página Firebase AI Logic.

  2. Acesse a guia Configurações e selecione Gemini Developer API.

  3. Ative a Gemini Developer API.

    O console vai verificar se as APIs necessárias estão ativadas e gerar uma chave de API Gemini no seu projeto do Firebase.
    Não adicione essa chave de API Gemini à base de código do seu app. Saiba mais.

  4. Continue neste guia de migração para atualizar a biblioteca e a inicialização no seu 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

  1. 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: atualize todos os pacotes. Navegue até Arquivo > Pacotes > Atualizar para as versões mais recentes dos pacotes.

    • Opção 2: atualize o Firebase individualmente. Navegue até o pacote do Firebase na seção Dependências de pacote. Clique com o botão direito do mouse no pacote do Firebase e selecione Atualizar pacote.

  2. Verifique se o pacote do Firebase mostra a versão 11.13.0 ou mais recente. Caso contrário, verifique se os requisitos de pacote especificados permitem a atualização para a v11.13.0 ou mais recente.

  3. Selecione o destino do app no Project Editor e navegue até a seção Frameworks, Libraries, and Embedded Content.

  4. Adicione a nova biblioteca: selecione o botão + e adicione FirebaseAI do pacote do Firebase.

  5. Depois de concluir a migração do app (consulte as seções restantes neste guia), remova a biblioteca antiga:
    Selecione FirebaseVertexAI e pressione o botão .

Kotlin

  1. 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 seções restantes neste 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 BoM
      implementation("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.15.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")
    }
  2. Sincronize seu projeto do Android com os arquivos Gradle.

Se você optar por não usar o Firebase Android BoM, adicione a dependência da biblioteca firebase-ai e aceite a versão mais recente sugerida pelo Android Studio.

Java

  1. 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 seções restantes neste 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 BoM
      implementation("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.15.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")
    }
  2. Sincronize seu projeto do Android com os arquivos Gradle.

Se você optar por não usar o Firebase Android BoM, adicione a dependência da biblioteca firebase-ai e aceite a versão mais recente sugerida pelo Android Studio.

Web

  1. Instale a versão mais recente do SDK do Firebase para JavaScript na Web usando npm:

    npm i firebase@latest

    OU

    yarn add firebase@latest
  2. Atualize as instruções de importação para usar firebase/ai em vez de importar a biblioteca.

    Talvez seja mais fácil migrar a base de código do app (consulte as seções restantes neste 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

  1. Atualize para usar o pacote firebase_ai no arquivo pubspec.yaml executando o seguinte comando no diretório do projeto do Flutter:

    flutter pub add firebase_ai
  2. Recrie o projeto do Flutter:

    flutter run
  3. Depois de concluir a migração do app (consulte as seções restantes neste guia), exclua o pacote antigo:

    flutter pub remove firebase_vertexai

Unity

O suporte ao 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.

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 Vertex AI Gemini API backend service
let ai = FirebaseAI.firebaseAI(backend: .vertexAI())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.5-flash")

Kotlin


// Initialize the Vertex AI Gemini API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.vertexAI())
                        .generativeModel("gemini-2.5-flash")

Java


// Initialize the Vertex AI Gemini API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.vertexAI())
        .generativeModel("gemini-2.5-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, VertexAIBackend } 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 Vertex AI Gemini API backend service
const ai = getAI(firebaseApp, { backend: new VertexAIBackend() });

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.5-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 Vertex AI Gemini API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.vertexAI().generativeModel(model: 'gemini-2.5-flash');

Unity

O suporte ao 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.

Dependendo da capacidade que você está usando, talvez nem sempre seja necessário criar uma instância GenerativeModel.

Etapa 5: atualizar seu código dependendo dos recursos que você usa

Esta etapa descreve as mudanças que podem ser necessárias dependendo dos recursos que você usa.

  • Se você usa URLs Cloud Storage e e mudou para usar o Gemini Developer API nesta migração, atualize seus pedidos multimodais para incluir arquivos como dados inline (ou use URLs do YouTube para vídeos).

  • Revise as listas a seguir para conferir se há mudanças que você precisa fazer no seu código para acomodar a adoção do SDK Firebase AI Logic.

Swift

Nenhuma outra mudança.

Kotlin

  • Live API

    • Removemos o valor UNSPECIFIED da classe de enumeração ResponseModality. Em vez disso, use null.

Java

  • Live API

    • Removemos o valor UNSPECIFIED da classe de enumeração ResponseModality. Em vez disso, use null.
  • Mudança em vários métodos de builder do Java para retornar corretamente a instância da classe, em vez de void.

Web

As mudanças são necessárias apenas se você estiver começando a usar o Gemini Developer API (em vez do Vertex AI Gemini API):

  • Configurações de segurança

    • Removemos os usos do SafetySetting.method incompatível.
  • Dados inline

    • Removemos os usos do InlineDataPart.videoMetadata incompatível.

Dart

Nenhuma outra mudança.

Unity

O suporte ao 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 Firebase AI Logic