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:
Configure um projeto do Firebase novo ou atual e conecte seu app ao Firebase.
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.
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?
- Tanto o Google AI quanto o Vertex AI oferecem uma experiência de "playground" da interface da Web chamada "AI Studio" para experimentar comandos e parâmetros de modelo. Saiba como migrar suas solicitações Google AI Studio para Vertex AI Studio na documentação Google Cloud.