Começar a usar a API Gemini usando os SDKs da Vertex AI para Firebase


Este guia mostra como começar a fazer chamadas para a API Gemini da Vertex AI diretamente do seu app usando os SDKs da Vertex AI para Firebase.

Pré-requisitos

Este guia presume 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 direcionado ao nível 21 da API ou mais recente.
  • (Opcional) Confira o aplicativo de exemplo.

    Fazer o download do app de exemplo

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

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

Se você tem um projeto do Firebase e um app conectado a ele

  1. No Console do Firebase, acesse a página Criar com o Gemini e clique no segundo card para iniciar um fluxo de trabalho que ajuda você nas tarefas a seguir. Se houver uma guia da Vertex AI no console, essas tarefas estarão concluídas.

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

Se você ainda não tiver 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 é possível adicionar o SDK da Vertex AI para Firebase ao seu app.

O SDK da Vertex AI para Firebase para Android (firebase-vertexai) fornece acesso à API Gemini da Vertex AI.

No arquivo de configuração do Gradle do módulo (nível do app) (como <project>/<app-module>/build.gradle.kts), adicione a dependência do SDK da Vertex AI para Firebase para Android:

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI for Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.0-beta01")
}

Java

Para Java, é preciso adicionar mais duas bibliotecas.

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI for Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.0-beta01")

  // 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")
}

Etapa 3: inicializar o serviço da Vertex AI e o modelo generativo

Antes de fazer chamadas de API, você precisa inicializar o serviço da Vertex AI e o modelo generativo.

Kotlin+KTX

Para 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-preview-0514")

Java

Para Java, os métodos de streaming neste SDK retornam um tipo Publisher da biblioteca Reactive 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-preview-0514");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Quando terminar o Guia explicativo, aprenda a escolher um modelo do Gemini e, opcionalmente, um local apropriado para seu caso de uso e app.

Etapa 4: chamar a API Gemini da Vertex AI

Agora que você conectou seu app ao Firebase, adicionou o SDK e inicializou o serviço da Vertex AI e o modelo generativo, está tudo pronto para chamar a API Gemini da Vertex AI.

É possível usar generateContent() para gerar texto com base em uma solicitação de comando somente de texto:

Kotlin+KTX

Para 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-preview-0514")

// 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

Para Java, os métodos neste SDK retornam um ListenableFuture.
// 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-preview-0514");
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 preços deles.

Teste outros recursos da API Gemini

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

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


Envie feedback sobre sua experiência com a Vertex AI para Firebase