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.
Outras opções para trabalhar com o Gemini API
Opcionalmente, teste uma versão alternativa "Google AI" do Gemini API
para ter acesso sem custo financeiro (dentro dos limites e onde disponível) usando Google AI Studio e SDKs de cliente Google AI. Esses SDKs devem ser usados somente para prototipagem em apps para dispositivos móveis e da Web.Depois de entender como um Gemini API funciona, migre para nossos SDKs Vertex AI in Firebase (esta documentação), que têm muitos outros recursos importantes para apps para dispositivos móveis e da Web, como a proteção da API contra abuso usando Firebase App Check e suporte para arquivos de mídia grandes em solicitações.
Chame opcionalmente o Gemini API in Vertex AI do lado do servidor (como com Python, Node.js ou Go)
Use os SDKs Vertex AI do lado do servidor, Genkit ou Firebase Extensions para o Gemini API.
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ê já tem um projeto e um app conectados ao Firebase
No console Firebase, acesse a página Vertex AI.
Clique no card Vertex AI in Firebase para iniciar um fluxo de trabalho que ajuda você a concluir as seguintes tarefas:
Faça upgrade do seu projeto para usar o plano de preços Blaze de pagamento por uso.
Ative as APIs necessárias no seu projeto (API Vertex AI e Vertex AI in Firebase).
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
Configurar um projeto do Firebase
Faça login no console do Firebase.
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.
No console Firebase, acesse a página Vertex AI.
Clique no card Vertex AI in Firebase para iniciar um fluxo de trabalho que ajuda a concluir as seguintes tarefas:
Faça upgrade do seu projeto para usar o plano de preços Blaze de pagamento por uso.
Ative as APIs necessárias no seu projeto (API Vertex AI e Vertex AI in Firebase).
Conectar seu app ao Firebase
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 (
) ao app.GoogleService-Info.plist
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.
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 (
) e o plug-in do Gradlegoogle-services.json
ao app.google-services
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.
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 (
) e o plug-in do Gradlegoogle-services.json
ao app.google-services
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.
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.
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.
Instale as ferramentas de linha de comando necessárias:
Caso ainda não tenha feito isso, instale a CLI Firebase.
Faça login no Firebase com sua Conta do Google executando o seguinte comando:
firebase login
Instale a CLI do FlutterFire executando o seguinte comando em qualquer diretório:
dart pub global activate flutterfire_cli
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 que esse fluxo de trabalho
flutterfire configure
faz?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óriolib/
do app Flutter.
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
).
No Xcode, com seu projeto do app aberto, navegue até File > Add Packages.
Quando solicitado, adicione o repositório do SDK do Firebase para as plataformas Apple:
https://github.com/firebase/firebase-ios-sdk
Selecione a versão mais recente do SDK.
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.
(Alternativa) Adicione dependências das bibliotecas do Firebase sem usar o BoM
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.
(Alternativa) Adicione dependências das bibliotecas do Firebase sem usar o BoM
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.
Instale o SDK do Firebase para JavaScript para Web usando o npm:
npm install firebase
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.
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
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';
Ainda no arquivo
lib/main.dart
, inicialize o Firebase usando o objetoDefaultFirebaseOptions
exportado pelo arquivo de configuração:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
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")
// 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")
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.")
// 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)
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 mais sobre como gerar texto de solicitações somente de texto, incluindo como transmitir a resposta.
- Gerar texto a partir de comandos multimodais (incluindo texto, imagens, PDFs, vídeo e áudio).
- Crie conversas com vários turnos (chat).
- Gere saída estruturada (como JSON) com comandos de texto e multimodais.
- Gerar imagens com base em comandos de texto.
- Transmita entrada e saída de stream (incluindo áudio) usando o Gemini Live API.
- Use a chamada de função para conectar modelos generativos a sistemas e informações externas.
Saiba como controlar a geração de conteúdo
- Entenda o design de comandos, incluindo práticas recomendadas, estratégias e exemplos de comandos.
- Configure parâmetros do modelo, como temperatura e máximo de tokens de saída (para Gemini) ou proporção e geração de pessoas (para Imagen).
- Use as configurações de segurança para ajustar a probabilidade de receber respostas que podem ser consideradas nocivas.
Enviar feedback sobre sua experiência com o Vertex AI in Firebase