Ao chamar o Gemini API no app usando um SDK Vertex AI in Firebase, a solicitação contém vários parâmetros que controlam as respostas da IA generativa. Geralmente, eles incluem o nome do modelo, a configuração de geração de modelo (tokens máximos, temperatura etc.), configurações de segurança, instruções do sistema e dados de solicitação.
Na maioria dos casos, é recomendável mudar esses valores sob demanda ou conforme necessário para vários cenários:
- Atualize seu modelo de IA generativa sem lançar um novo app. É possível fazer upgrade para versões de modelo mais recentes e estáveis antes que as versões anteriores sejam desativadas, mudar para modelos de menor custo ou de maior desempenho com base nas necessidades e nos atributos dos usuários ou implantar condicionalmente os modelos mais recentes e melhores em segmentos de usuários específicos (como testadores Beta).
- Defina o local em que você acessa o modelo para que ele fique mais próximo dos usuários.
- Faça testes A/B de diferentes instruções e comandos do sistema e, em seguida, implemente aos poucos os valores do experimento vencedor para os usuários.
- Use flags de recursos para expor ou ocultar rapidamente recursos de IA generativa no app.
O Firebase Remote Config faz tudo isso e mais ainda, permitindo que você atualize os valores dos parâmetros conforme necessário e condicionalmente para instâncias de apps que correspondem às características definidas no console Firebase, sem lançar uma nova versão do app.
Este guia de solução apresenta casos de uso recomendados específicos e descreve como adicionar Remote Config ao seu app de IA generativa.
Ir para a implementação do código
Por que usar Firebase Remote Config com seu app?
O Firebase Remote Config permite ajustar dinamicamente o comportamento do app sem precisar de atualizações. Isso é especialmente útil para apps que usam IA generativa, em que a iteração rápida e o ajuste fino são cruciais.
Casos de uso essenciais para Remote Config com apps de IA generativa
Recomendamos o uso de Remote Config com Vertex AI in Firebase para os seguintes casos de uso essenciais:
- Faça upgrade para a versão mais recente do modelo sem uma atualização do app:use os parâmetros Remote Config para mudar o nome do modelo conforme necessário, para que você possa fazer upgrade para a versão mais recente do modelo Gemini preferido assim que ela estiver disponível.
- Atualize as instruções do sistema e as configurações de segurança sem uma atualização do app:armazene as instruções do sistema e as configurações de segurança nos parâmetros Remote Config para garantir que elas possam ser alteradas sob demanda se você descobrir problemas após a implantação.
- Reduza os riscos e aplique a segurança da IA:use os lançamentos do Remote Config para lançar de maneira segura e gradual as mudanças de IA generativa para usuários de iOS e Android.
Casos de uso avançados e recomendados para Remote Config com apps de IA generativa
Depois de instrumentar o app com Remote Config e Google Analytics, você pode conferir casos de uso avançados:
- Definir a localização com base na localização do cliente:use condições Remote Config para definir a localização do modelo com base na localização detectada do cliente.
- Teste modelos diferentes: teste e alterne rapidamente entre vários modelos de IA generativa ou implante modelos diferentes em diferentes segmentos de usuários para encontrar o melhor para seu caso de uso específico.
- Otimizar o desempenho do modelo: ajuste os parâmetros do modelo, como prompt do sistema, máximo de tokens de saída, temperatura e outras configurações.
Use diferentes instruções do sistema, solicitações e configuração de modelo com base nos atributos do cliente:ao usar Remote Config com Google Analytics, é possível criar condições com base nos atributos do cliente ou em públicos-alvo personalizados e definir parâmetros diferentes com base nesses atributos.
Por exemplo, se você estiver usando a IA generativa para oferecer suporte técnico no app, defina instruções do sistema específicas para a plataforma do app para garantir que instruções precisas sejam fornecidas aos usuários do Android, iOS e da plataforma da Web.
Personalize as experiências para cada usuário: use a personalização Remote Config para determinar automaticamente as configurações de IA generativa ideais para cada usuário.
Controlar custos: ajuste remotamente quais modelos de IA generativa são chamados, com que frequência eles são usados e configure dinamicamente os valores máximos de token de saída com base no público-alvo do usuário para reduzir custos desnecessários.
Otimize a experiência e os resultados do app:use A/B Testing com Remote Config nos seus apps iOS, Android e Flutter para testar mudanças nos parâmetros de IA generativa em diferentes segmentos de usuários e conferir como elas afetam as principais métricas, como retenção e receita.
Ao instrumentar seu app de IA generativa com Firebase Remote Config, você pode criar aplicativos com tecnologia de IA flexíveis, seguros e econômicos, além de criar experiências incríveis para seus usuários.
Adicionar o Firebase Remote Config ao app
Neste guia de solução, você vai usar Firebase Remote Config para atualizar dinamicamente os parâmetros no app Android que usam o SDK Vertex AI in Firebase. Você aprenderá o seguinte:
- Busque e ative parâmetros, como nomes de modelos e instruções do sistema de Firebase Remote Config.
- Atualize suas chamadas Gemini API para usar os parâmetros recuperados dinamicamente, permitindo alternar entre modelos diferentes ou modificar instruções do sistema sem uma atualização do app.
- Controle os parâmetros remotamente, ajustando o comportamento e os recursos do modelo conforme necessário.
Pré-requisitos
Neste guia, pressupomos que você já sabe usar o JavaScript para desenvolver apps da Web. Este guia é independente de framework. Antes de começar, verifique se você fez o seguinte:
Conclua o Guia de início do SDK Vertex AI in Firebase. Verifique se você fez o seguinte:
- Configure um projeto do Firebase novo ou existente, incluindo o uso do plano de preços Blaze e a ativação das APIs necessárias.
- Conecte seu app ao Firebase, incluindo o registro e adição da configuração do Firebase.
- Adicione o SDK e inicialize o serviço da Vertex AI e o modelo generativo no seu app.
Ative Google Analytics no projeto e adicione o SDK dele ao app (necessário para a segmentação condicional, como a definição do serviço e do local do modelo com base na localização do dispositivo cliente).
Etapa 1: definir valores de parâmetros no Console do Firebase
Crie um modelo de Remote Config do cliente e configure os parâmetros e valores para buscar e usar no app.
- Abra o console Firebase e, no menu de navegação, abra Run e selecione Remote Config.
- Verifique se o Cliente está selecionado no seletor Cliente/servidor na parte superior da página Remote Config.
- Se esta é a primeira vez que você usa modelos de cliente Remote Config, clique em Criar configuração. O painel Criar seu primeiro parâmetro é exibido.
- Se esta não for a primeira vez que você usa modelos Remote Config, clique em Adicionar parâmetro.
Defina os seguintes parâmetros Remote Config:
Nome do parâmetro Descrição Tipo Valor padrão model_name
Nome do modelo. Para acessar listas atualizadas de nomes de modelos a serem usados no código, consulte Nomes de modelos disponíveis. String gemini-1.5-flash
system_instructions
As instruções do sistema são como um "preâmbulo" que você adiciona antes que o modelo seja exposto a outras instruções do usuário final para influenciar o comportamento do modelo com base em necessidades e casos de uso específicos. String You are a helpful assistant who knows everything there is to know about Firebase!
prompt
Comando padrão para usar com o recurso de IA generativa. String I am a developer who wants to know more about Firebase!
vertex_location
Controle o local para executar o serviço Vertex AI e acessar um modelo. É possível definir condições para configurar essa opção com base na localização do cliente detectada por Google Analytics. String us-central1
Quando terminar de adicionar parâmetros, clique em Publicar alterações. Se esse não for um novo modelo Remote Config, revise as mudanças e clique em Publicar alterações novamente.
Etapa 2: adicionar e inicializar o SDK do Remote Config
Adicione e inicialize o SDK do Remote Config:
Abra o código em um editor de texto e importe Remote Config:
import { getRemoteConfig } from 'firebase/remote-config';
Na função principal e depois que o app do Firebase for inicializado para o SDK Vertex AI in Firebase, inicialize Remote Config:
// Initialize Remote Config and get a reference to the service const remoteConfig = getRemoteConfig(app);
Defina um intervalo mínimo de busca. Nesse exemplo, o intervalo de busca padrão é de 3.600 segundos, mas recomendamos definir um intervalo de busca mínimo relativamente baixo no código durante o desenvolvimento.
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
Etapa 3: definir valores de parâmetros no app
Defina os valores de parâmetro padrão no app no objeto Remote Config para que ele funcione antes de se conectar ao back-end de Remote Config, se o acesso à rede do cliente for interrompido e/ou se nenhum valor for configurado no back-end.
Neste exemplo, você define manualmente valores padrão para o nome do modelo, as instruções do sistema, a solicitação do usuário e o local Vertex AI:
// Set default Remote Config parameter values
remoteConfig.defaultConfig = {
model_name: 'gemini-1.5-flash',
system_instructions:
'You are a helpful assistant who knows everything there is to know about Firebase!',
prompt: 'I am a developer who wants to know more about Firebase!',
vertex_location: 'us-central1',
};
Etapa 4: buscar e ativar valores
Adicione
getValue
efetchAndActivate
às suas importações:import { getValue, fetchAndActivate } from 'firebase/remote-config';
Depois que o código adicionado para configurar os valores padrão de Remote Config, busque e ative a configuração e atribua valores às constantes
modelName
,systemInstructions
,prompt
evertexLocation
.// Fetch and activate Remote Config. try { await fetchAndActivate(remoteConfig); } catch(err) { console.error('Remote Config fetch failed', err); } console.log('Remote Config fetched.'); // Assign Remote Config values. const modelName = getValue(remoteConfig, 'model_name').asString(); const systemInstructions = getValue(remoteConfig, 'system_instructions').asString(); const prompt = getValue(remoteConfig, 'prompt').asString(); const vertexLocation = getValue(remoteConfig, 'vertex_location').asString();
Etapa 5: atualizar as chamadas Vertex AI para usar valores Remote Config
Agora que o Remote Config está totalmente configurado, atualize o código para substituir valores codificados por valores provenientes de Remote Config. Por exemplo, se você estivesse usando o exemplo usado em Começar a usar a API Gemini usando a Vertex AI nos SDKs do Firebase, atualize-o da seguinte maneira:
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Vertex AI service
// Optionally specify a location in which to run the service and access the model
const vertexAI = getVertexAI(firebaseApp, { location: vertexLocation });
// Initialize the generative model with a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
const model = getGenerativeModel(vertexAI, {
model: modelName,
systemInstruction: systemInstruction
});
// Wrap in an async function so you can use await
async function run() {
// Provide a prompt that contains text
const userPrompt = prompt;
// To generate text output, call generateContent with the text input
const result = await model.generateContent(userPrompt);
const response = result.response;
const text = response.text();
console.log(text);
}
Etapa 6: executar o app
Execute o app e verifique se ele está funcionando. Faça mudanças na configuração na página Remote Config no console do Firebase, publique as mudanças e verifique o resultado.
Próximas etapas
- Saiba mais sobre Remote Config.
- Adicione Google Analytics ao seu código para ativar o segmento.