Este guia mostra como começar a fazer chamadas para o Vertex AI Gemini API diretamente no app usando o SDK Vertex AI in Firebase para a plataforma escolhida.
Pré-requisitos
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 aos seguintes requisitos:
- Android Studio (versão mais recente)
- O app Android precisa ser destinado 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.
Etapa 1: configurar um projeto do Firebase e conectar o app ao Firebase
Se você já tem um projeto e um app conectados ao Firebase
No console do Firebase, acesse a página Criar com o Gemini.
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ê não tem um projeto do Firebase e um app conectado a ele
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.
O SDK Vertex AI in Firebase para Android (firebase-vertexai
) oferece
acesso ao Vertex AI Gemini API.
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.
Kotlin
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.7.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") }
Java
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.7.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.
Etapa 3: inicializar o serviço Vertex AI e o modelo generativo
Antes de fazer chamadas de API, é necessário inicializar o serviço Vertex AI e o modelo generativo.
Kotlin
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 the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")
Java
Em Java, os métodos de streaming neste SDK retornam um tipoPublisher
da biblioteca Reative Streams.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
.generativeModel("gemini-1.5-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
Depois de concluir o guia de início, aprenda a escolher um modelo do Gemini e (opcionalmente) um local adequado para seu caso de uso e app.
Etapa 4: chamar o Vertex AI Gemini API
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 chamar o Vertex AI Gemini API.
Você pode usar generateContent()
para gerar texto a partir de uma solicitação de comando
de texto:
Kotlin
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 the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-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)
Java
Em Java, os métodos neste SDK retornam umListenableFuture
.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
.generativeModel("gemini-1.5-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);
O que mais você pode fazer?
Saiba mais sobre os modelos do Gemini
Saiba mais sobre os modelos disponíveis para vários casos de uso e as cotas e os preços.
Testar outros recursos do Gemini API
- 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.
- 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 os parâmetros do modelo, como temperatura e máximo de tokens de saída.
- 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