Migrar para usar SDKs da Vertex AI em vez de SDKs do Google AI

Esta página descreve como migrar dos SDKs de cliente Google AI para os SDKs de cliente Vertex AI in Firebase nos seus apps para dispositivos móveis ou Web. Os SDKs Vertex AI in Firebase estão disponíveis para plataformas da Apple (Swift), Android (Kotlin e Java), Web (JavaScript) e Flutter (Dart).

Acessar diretamente as instruções de migração

Por que migrar para usar o Vertex AI?

Talvez você tenha tentado uma versão alternativa de um Gemini API usando Google AI Studio ou os SDKs de cliente Google AI. Esses SDKs são úteis para começar a usar o Gemini API e criar protótipos. No entanto, para apps móveis e da Web de produção ou em escala empresarial que chamam diretamente um Gemini API do lado do cliente, o Firebase recomenda chamar Vertex AI Gemini API usando os SDKs do Firebase.

Recursos de segurança para apps da Web e para dispositivos móveis

Para apps para dispositivos móveis e da Web, a segurança é fundamental e requer considerações especiais, porque o código (incluindo chamadas para Gemini API) é executado em um ambiente desprotegido.

  • Por padrão, o Vertex AI Gemini API é autorizado pelo IAM Google Cloud (em vez de por uma chave de API como o Google AI Gemini API). Os SDKs Vertex AI in Firebase são criados para chamar o Vertex AI Gemini API mais seguro.

  • Para apps para dispositivos móveis e da Web, é necessário proteger o Gemini API e os recursos do projeto (como modelos ajustados) contra abusos de clientes não autorizados. Você pode usar Firebase App Check para verificar se todas as chamadas de API são do seu app real. Esse recurso só está disponível se você usar os SDKs Vertex AI in Firebase.

Ecossistema criado para apps da Web e de dispositivos móveis

O Firebase é a plataforma do Google para desenvolvimento de apps para dispositivos móveis e Web. O uso dos SDKs Vertex AI in Firebase significa que seus apps estão em um ecossistema focado nas necessidades de apps e desenvolvedores full-stack. Por exemplo, você está configurado para fazer qualquer uma das seguintes ações e muito mais:

  • Use Cloud Storage for Firebase para incluir arquivos grandes nas solicitações multimodais. Além disso, aproveite os SDKs de cliente que processam uploads e downloads de arquivos (mesmo em condições de rede ruins) e oferecem mais segurança para os dados dos usuários finais. Saiba mais em nosso guia de soluções sobre como usar o Cloud Storage for Firebase.

  • Gerenciar dados estruturados usando SDKs de banco de dados criados para apps da Web e para dispositivos móveis, como o Cloud Firestore.

  • Defina dinamicamente configurações de tempo de execução (como localização) ou troque valores no app (como o nome de um modelo) sem lançar uma nova versão usando Firebase Remote Config.

Outros benefícios de usar Vertex AI de Google Cloud

À medida que o uso da IA generativa no app e nos fluxos de trabalho amadurecer, talvez você precise de uma plataforma que ofereça soluções completas para criar e implantar aplicativos de IA generativa. O Google Cloud oferece um ecossistema abrangente de ferramentas para permitir que você aproveite o poder da IA generativa, desde os estágios iniciais do desenvolvimento de apps até a implantação, a hospedagem e o gerenciamento de dados complexos em grande escala.

A plataforma Vertex AI do Google Cloud oferece um conjunto de ferramentas de MLOps que simplificam o uso, a implantação e o monitoramento de modelos de IA para eficiência e confiabilidade. Além disso, as integrações com bancos de dados, ferramentas de DevOps, geração de registros, monitoramento e IAM fornecem uma abordagem holística para gerenciar todo o ciclo de vida da IA generativa.

Saiba mais sobre os casos de uso de Vertex AI na documentação da Google Cloud.

Migrar para os SDKs do Vertex AI in Firebase

A migração para os SDKs Vertex AI in Firebase requer três etapas principais:

  1. Configure um projeto do Firebase novo ou atual e conecte seu app ao Firebase.

  2. Migre sua base de código, o que exige apenas a mudança do SDK e o código de inicialização (incluindo o nome do modelo). Não é necessário fazer nenhuma modificação no código que chama a API Gemini.

  3. Exclua chaves de API e desative as APIs não usadas.

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

Mesmo que você já conheça o Firebase, revise esta seção para garantir que o projeto e o app do Firebase estejam configurados para usar os SDKs Vertex AI in Firebase.

Etapa 2: migre sua base de código

Selecione a plataforma do seu app para conferir instruções específicas sobre ela.

Os SDKs do Google AI e do Vertex AI in Firebase foram criados para que a migração entre as duas plataformas seja a mais simples possível.

Para migrar, você só precisa mudar o SDK que vai integrar à base de código do app e a inicialização do serviço e do modelo generativo. Não é necessário modificar o código que chama o Gemini API.

Mudar o SDK

Google AI

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Java

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")

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

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

Vertex AI in Firebase

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

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

Java

dependencies {
  // ... other androidx dependencies

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

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

Mudar a inicialização

Google AI

Kotlin+KTX

val generativeModel = GenerativeModel(modelName = "MODEL_NAME",
    // Access your API key as a Build Configuration variable
    apiKey = BuildConfig.apiKey
)

Java

GenerativeModel gm = new GenerativeModel("MODEL_NAME",
    // Access your API key as a Build Configuration variable
    BuildConfig.apiKey
);

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

Vertex AI in Firebase

Kotlin+KTX

val generativeModel = Firebase.vertexAI.generativeModel("MODEL_NAME")

Java

GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("MODEL_NAME");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Atualizar importações

Os snippets de código abaixo usam as classes Chat, Content e GenerativeModelFutures como exemplos, mas o mesmo se aplica a outras classes com o mesmo nome de pacote.

Google AI

Kotlin+KTX

import com.google.ai.client.generativeai.Chat
import com.google.ai.client.generativeai.type.Content
import com.google.ai.client.generativeai.java.GenerativeModuleFutures

Java

import com.google.ai.client.generativeai.Chat;
import com.google.ai.client.generativeai.type.Content;
import com.google.ai.client.generativeai.java.GenerativeModuleFutures;

Vertex AI in Firebase

Kotlin+KTX

import com.google.firebase.vertexai.Chat
import com.google.firebase.vertexai.type.Content
import com.google.firebase.vertexai.java.GenerativeModuleFutures

Java

import com.google.firebase.vertexai.Chat;
import com.google.firebase.vertexai.type.Content;
import com.google.firebase.vertexai.java.GenerativeModuleFutures;

Etapa 3: excluir chaves de API e desativar APIs não usadas

Se você não precisar mais da chave de API Google AI, siga as práticas recomendadas de segurança e exclua a chave. É possível conferir e excluir suas chaves de API Google AI na seção Chaves de API do Google AI Studio.

Além disso, se você não estiver mais usando o Google AI Gemini API, desative-o no seu projeto. É possível fazer isso no console Google Cloud na página API Generative Language (generativelanguage.googleapis.com). "API de linguagem generativa" é o nome oficial do Google AI Gemini API.

O que mais você pode fazer?