Comece a usar a API Gemini usando a Vertex AI nos SDKs do Firebase

Este guia mostra como começar a fazer chamadas para o Gemini API in Vertex AI diretamente do seu app usando o SDK Vertex AI in Firebase para a plataforma escolhida.

Você também pode usar este guia para acessar modelos Imagen usando os SDKs Vertex AI in Firebase.

Pré-requisitos

Neste guia, pressupomos que você já sabe usar o Xcode para desenvolver apps para plataformas da Apple (como o iOS).

  • Verifique se o ambiente de desenvolvimento e o app para plataformas da Apple atendem a estes requisitos:

    • Xcode 16.2 ou versões mais recentes
    • O app é direcionado ao iOS 15 ou mais recente ou ao macOS 12 ou mais recente
  • (Opcional) Confira o app de exemplo.

    Fazer o download do app de início rápido

    Você pode testar o SDK rapidamente, conferir uma implementação completa de vários casos de uso ou usar o app de exemplo se não tiver seu próprio app para plataformas da Apple. Para usar o app de exemplo, você precisa conectar a um projeto do Firebase.

Neste guia, pressupomos que você já sabe usar o Android Studio para desenvolver apps para Android.

  • Verifique se o ambiente de desenvolvimento e o app Android atendem a estes requisitos:

    • Android Studio (versão mais recente)
    • O app é direcionado ao nível 21 da API ou mais recente
  • (Opcional) Confira o app de exemplo.

    Fazer o download do app de exemplo

    Você pode testar o SDK rapidamente, conferir uma implementação completa de vários casos de uso ou usar o app de exemplo se não tiver um próprio app Android. Para usar o app de exemplo, é necessário conectar a um projeto do Firebase.

Neste guia, pressupomos que você já sabe usar o Android Studio para desenvolver apps para Android.

  • Verifique se o ambiente de desenvolvimento e o app Android atendem a estes requisitos:

    • Android Studio (versão mais recente)
    • O app é direcionado ao nível 21 da API ou mais recente
  • (Opcional) Confira o app de exemplo.

    Fazer o download do app de exemplo

    Você pode testar o SDK rapidamente, conferir uma implementação completa de vários casos de uso ou usar o app de exemplo se não tiver um próprio app Android. Para usar o app de exemplo, é necessário conectar a um projeto do Firebase.

Neste guia, pressupomos que você já sabe usar o JavaScript para desenvolver apps da Web. Este guia não depende da estrutura.

  • Verifique se o ambiente de desenvolvimento e o app da Web atendem a estes requisitos:

    • (Opcional) Node.js
    • Navegador moderno da Web
  • (Opcional) Confira o app de exemplo.

    Fazer o download do app de exemplo

    Você pode testar o SDK rapidamente, conferir uma implementação completa de vários casos de uso ou usar o app de exemplo se não tiver seu próprio app da Web. Para usar o app de exemplo, você precisa conectar a um projeto do Firebase.

Neste guia, pressupomos que você já sabe desenvolver apps com o Flutter.

  • Verifique se o ambiente de desenvolvimento e o app Flutter atendem a estes requisitos:

    • Dart 3.2.0+
  • (Opcional) Confira o app de exemplo.

    Fazer o download do app de exemplo

    Você pode testar o SDK rapidamente, conferir uma implementação completa de vários casos de uso ou usar o app de exemplo se não tiver o próprio app do Flutter. Para usar o app de exemplo, é necessário conectar a um projeto do Firebase.

Etapa 1: configurar um projeto do Firebase e conectar seu app a ele

Se você tem um projeto e um app conectados ao Firebase

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

  2. Clique no card Vertex AI in Firebase para iniciar um fluxo de trabalho que ajuda você a concluir as seguintes tarefas:

  3. Siga para a próxima etapa deste guia para adicionar o SDK ao app.

Se você ainda não tem um projeto do Firebase e um app conectado a ele

  1. Faça login no console do Firebase.

  2. Clique em Criar projeto e use uma das seguintes opções:

    • Opção 1: crie um projeto do Firebase totalmente novo (que vai ser um projeto do Google Cloud automaticamente) ao inserir um novo nome na primeira etapa do fluxo de trabalho "Criar projeto".

    • Opção 2: "Adicionar o Firebase" a um projeto Google Cloud existente selecionando o nome do projeto Google Cloud no menu suspenso da primeira etapa do fluxo de trabalho "Criar projeto".

    Quando solicitado, você não precisa configurar o Google Analytics para usar os SDKs Vertex AI in Firebase.

  3. No console Firebase, acesse a página Vertex AI.

  4. Clique no card Vertex AI in Firebase para iniciar um fluxo de trabalho que ajuda a concluir as seguintes tarefas:

  1. Continue no fluxo de trabalho de configuração Vertex AI in Firebase do console para conectar seu app ao Firebase, o que inclui estas tarefas:

    • Registrar o app no projeto do Firebase.

    • Adicione o arquivo de configuração do Firebase (GoogleService-Info.plist) ao app.

  2. Nas próximas etapas deste guia, você vai adicionar o SDK Vertex AI in Firebase ao app e concluir a inicialização necessária para usar o SDK e a Gemini API.

  1. Continue no fluxo de trabalho de configuração Vertex AI in Firebase do console para conectar seu app ao Firebase, o que inclui estas tarefas:

    • Registrar o app no projeto do Firebase.

    • Adicionar o arquivo de configuração do Firebase (google-services.json) e o plug-in do Gradle google-services ao app.

  2. Nas próximas etapas deste guia, você vai adicionar o SDK Vertex AI in Firebase ao app e concluir a inicialização necessária para usar o SDK e a Gemini API.

  1. Continue no fluxo de trabalho de configuração Vertex AI in Firebase do console para conectar seu app ao Firebase, o que inclui estas tarefas:

    • Registrar o app no projeto do Firebase.

    • Adicionar o arquivo de configuração do Firebase (google-services.json) e o plug-in do Gradle google-services ao app.

  2. Nas próximas etapas deste guia, você vai adicionar o SDK Vertex AI in Firebase ao app e concluir a inicialização necessária para usar o SDK e a Gemini API.

  1. Continue no fluxo de trabalho de configuração Vertex AI in Firebase do console para conectar seu app ao Firebase, o que inclui estas tarefas:

    • Registrar o app no projeto do Firebase.

    • Adicionar o objeto de configuração do Firebase ao app.

  2. Nas próximas etapas deste guia, você vai adicionar o SDK Vertex AI in Firebase ao app e concluir a inicialização necessária para usar o SDK e a Gemini API.

  1. Instale as ferramentas de linha de comando necessárias:

    1. Caso ainda não tenha feito isso, instale a CLI Firebase.

    2. Faça login no Firebase com sua Conta do Google executando o seguinte comando:

      firebase login
      
    3. Instale a CLI do FlutterFire executando o seguinte comando em qualquer diretório:

      dart pub global activate flutterfire_cli
      
  2. Configure seus apps para usar o Firebase:

    Use a CLI do FlutterFire para configurar seus apps do Flutter e se conectar ao Firebase.

    No diretório do projeto do Flutter, execute o seguinte comando para iniciar o fluxo de trabalho de configuração do app:

    flutterfire configure
    

    O fluxo de trabalho flutterfire configure faz o seguinte:

    • Solicita que você selecione as plataformas (iOS, Android, Web) compatíveis com o app do Flutter. Para cada plataforma selecionada, a CLI do FlutterFire cria um novo app do Firebase no seu projeto do Firebase.

      Você pode usar um projeto do Firebase ou criar um novo. Se você já tiver apps registrados em um projeto do Firebase, a CLI do FlutterFire vai tentar fazer a correspondência com base na configuração atual do projeto do Flutter.

    • Cria um arquivo de configuração do Firebase (firebase_options.dart) e o adiciona ao diretório lib/ do app Flutter.

  3. Nas próximas etapas deste guia, você vai adicionar o SDK Vertex AI in Firebase ao app e concluir a inicialização necessária para usar o SDK e a Gemini API.


Etapa 2: adicionar o SDK

Com o projeto do Firebase configurado e o app conectado ao Firebase (consulte a etapa anterior), agora você pode adicionar o SDK Vertex AI in Firebase ao app.

Use o Swift Package Manager para instalar e gerenciar as dependências do Firebase.

A biblioteca Vertex AI in Firebase oferece acesso às APIs para interagir com os modelos Gemini e Imagen. A biblioteca é incluída como parte do SDK do Firebase para plataformas Apple (firebase-ios-sdk).

  1. No Xcode, com seu projeto do app aberto, navegue até File > Add Packages.

  2. Quando solicitado, adicione o repositório do SDK do Firebase para as plataformas Apple:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Selecione a versão mais recente do SDK.

  4. Selecione a biblioteca FirebaseVertexAI.

Quando terminar, o Xcode vai começar a resolver e fazer o download das dependências em segundo plano automaticamente.

O SDK Vertex AI in Firebase para Android (firebase-vertexai) oferece acesso às APIs para interagir com os modelos Gemini e Imagen.

No arquivo Gradle do módulo (nível do app) (como <project>/<app-module>/build.gradle.kts), adicione a dependência da biblioteca Vertex AI in Firebase para Android. Recomendamos o uso do Firebase Android BoM para controlar o controle de versões da biblioteca.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.13.0"))

  // Add the dependency for the Vertex AI in Firebase library
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-vertexai")
}

Com o Firebase Android BoM, seu app sempre vai usar versões compatíveis das bibliotecas do Firebase para Android.

Se você preferir não usar o Firebase BoM, especifique cada versão das bibliotecas do Firebase na linha de dependência correspondente.

Se você usa várias bibliotecas do Firebase no app, recomendamos usar o BoM para gerenciar as versões delas, porque isso ajuda a garantir a compatibilidade de todas as bibliotecas.

dependencies {
  // Add the dependency for the Vertex AI in Firebase library
  // When NOT using the BoM, you must specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-vertexai:16.4.0")
}

O SDK Vertex AI in Firebase para Android (firebase-vertexai) oferece acesso às APIs para interagir com os modelos Gemini e Imagen.

No arquivo Gradle do módulo (nível do app) (como <project>/<app-module>/build.gradle.kts), adicione a dependência da biblioteca Vertex AI in Firebase para Android. Recomendamos o uso do Firebase Android BoM para controlar o controle de versões da biblioteca.

Para Java, é necessário adicionar duas bibliotecas.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.13.0"))

  // Add the dependency for the Vertex AI in Firebase library
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-vertexai")

  // Required for one-shot operations (to use `ListenableFuture` from Guava Android)
  implementation("com.google.guava:guava:31.0.1-android")

  // Required for streaming operations (to use `Publisher` from Reactive Streams)
  implementation("org.reactivestreams:reactive-streams:1.0.4")
}

Com o Firebase Android BoM, seu app sempre vai usar versões compatíveis das bibliotecas do Firebase para Android.

Se você preferir não usar o Firebase BoM, especifique cada versão das bibliotecas do Firebase na linha de dependência correspondente.

Se você usa várias bibliotecas do Firebase no app, recomendamos usar o BoM para gerenciar as versões delas, porque isso ajuda a garantir a compatibilidade de todas as bibliotecas.

dependencies {
  // Add the dependency for the Vertex AI in Firebase library
  // When NOT using the BoM, you must specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-vertexai:16.4.0")
}

A biblioteca Vertex AI in Firebase oferece acesso às APIs para interagir com os modelos Gemini e Imagen. A biblioteca é incluída como parte do SDK do Firebase para JavaScript da Web.

  1. Instale o SDK do Firebase para JavaScript para Web usando o npm:

    npm install firebase
    
  2. Inicialize o Firebase no seu app:

    import { initializeApp } from "firebase/app";
    
    // 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);
    

O plug-in Vertex AI in Firebase para Flutter (firebase_vertexai) fornece acesso às APIs para interagir com os modelos Gemini e Imagen.

  1. No diretório do projeto do Flutter, execute o seguinte comando para instalar o plug-in principal e o plug-in Vertex AI in Firebase:

    flutter pub add firebase_core && flutter pub add firebase_vertexai
    
  2. No arquivo lib/main.dart, importe o plug-in principal do Firebase, o plug-in Vertex AI in Firebase e o arquivo de configuração gerado antes:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_vertexai/firebase_vertexai.dart';
    import 'firebase_options.dart';
    
  3. Ainda no arquivo lib/main.dart, inicialize o Firebase usando o objeto DefaultFirebaseOptions exportado pelo arquivo de configuração:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Recrie o aplicativo do Flutter:

    flutter run
    

Etapa 3: inicializar o serviço Vertex AI e criar uma instância de GenerativeModel

Antes de fazer chamadas de API e enviar uma solicitação para um modelo Gemini, é necessário inicializar o serviço Vertex AI e criar uma instância GenerativeModel.

import FirebaseVertexAI

// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()

// Create a `GenerativeModel` instance with a model that supports your use case
let model = vertex.generativeModel(modelName: "gemini-2.0-flash")
No Kotlin, os métodos neste SDK são funções de suspensão e precisam ser chamados de um escopo de corrotina.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
val generativeModel = Firebase.vertexAI.generativeModel("gemini-2.0-flash")
Em Java, os métodos de streaming neste SDK retornam um tipo Publisher da biblioteca Reativo Streams.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-2.0-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";

// 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 service
const vertexAI = getVertexAI(firebaseApp);

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(vertexAI, { model: "gemini-2.0-flash" });
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
final model =
      FirebaseVertexAI.instance.generativeModel(model: 'gemini-2.0-flash');

Depois de concluir este guia de início, aprenda a escolher um modelo e (opcionalmente) um local adequado para seu caso de uso e app.

Etapa 4: enviar uma solicitação de comando para um modelo

Agora que você conectou seu app ao Firebase, adicionou o SDK e inicializou o serviço Vertex AI e o modelo generativo, está tudo pronto para enviar uma solicitação de solicitação a um modelo Gemini.

Você pode usar generateContent() para gerar texto com base em uma solicitação de comando de texto exclusivo:

import FirebaseVertexAI

// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()

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

// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")
No Kotlin, os métodos neste SDK são funções de suspensão e precisam ser chamados de um escopo de corrotina.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
val generativeModel = Firebase.vertexAI.generativeModel("gemini-2.0-flash")

// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)
Em Java, os métodos neste SDK retornam um ListenableFuture.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-2.0-flash");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// Provide a prompt that contains text
Content prompt = new Content.Builder()
    .addText("Write a story about a magic backpack.")
    .build();

// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);
import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";

// 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 service
const vertexAI = getVertexAI(firebaseApp);

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(vertexAI, { model: "gemini-2.0-flash" });

// Wrap in an async function so you can use await
async function run() {
  // Provide a prompt that contains text
  const prompt = "Write a story about a magic backpack."

  // To generate text output, call generateContent with the text input
  const result = await model.generateContent(prompt);

  const response = result.response;
  const text = response.text();
  console.log(text);
}

run();
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
final model =
      FirebaseVertexAI.instance.generativeModel(model: 'gemini-2.0-flash');

// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];

// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);

O que mais você pode fazer?

Saiba mais sobre os modelos compatíveis

Saiba mais sobre os modelos disponíveis para vários casos de uso e as cotas e o preço.

Testar outros recursos

Saiba como controlar a geração de conteúdo

Também é possível testar comandos e configurações de modelo usando Vertex AI Studio.


Enviar feedback sobre sua experiência com o Vertex AI in Firebase