Encontrar a solução de IA/ML certa para seu recurso

Este guia ajuda você a encontrar a solução de IA/ML certa para seu caso de uso. Ele fornece orientações para ajudar você a navegar pelas várias soluções disponíveis e escolher a que melhor se adapta às suas necessidades, considerando os requisitos do recurso que você quer implementar.

Em geral, ao escolher ferramentas e modelos para implementar seu recurso de IA/ML, use o modelo mais simples que atenda às suas necessidades. Para identificar a solução ideal, pense no seguinte:

  • O recurso precisa gerar conteúdo novo (IA generativa) ou prever/categorizar de maneira determinista (ML tradicional)?
  • Escopo do recurso: a tarefa pode ser realizada inteiramente no app (inteligência no app) ou requer vários apps para ser concluída (inteligência no nível do sistema)?
  • Local do modelo: a tarefa pode ser feita off-line (modelo no dispositivo) ou requer interação com um servidor (modelo baseado na nuvem)?
  • Kit de ferramentas ou versão do modelo: qual é a complexidade da tarefa, que pode variar de tarefas simples de inferência única a orquestrações complexas de vários agentes?

O fluxograma a seguir mostra o processo de decisão em alto nível:

Sim Não Sim Não Sim Não Sim Nem todos Sim Não Recurso Você precisa gerar conteúdo novo (em vez de prever ou classificar dados)? IA generativa É uma tarefa entre apps? ML tradicional Inteligência do sistema Use AppFunctions Inteligência no app O recurso pode ser executado off-line ou você tem restrições de custo? Os dispositivos de destino são compatíveis com modelos no dispositivo? Você precisa que o recurso continue em execução (o estado precisa ser preservado) quando o app é fechado ou precisa de acesso ao banco de dados particular? Modelo no dispositivo Use o Gemini Nano com o Kit de ML ou o LiteRT Abordagem híbrida Priorize modelos no dispositivo, mas use modelos na nuvem como alternativa Modelo baseado na nuvem Use um servidor personalizado auto-hospedado Modelo baseado na nuvem Use um back-end gerenciado com o Firebase AI Logic
Figura 1. Processo de decisão de alto nível para escolher uma solução de IA/ML.

Para tomar decisões em cada etapa, consulte as seções no restante deste documento.

IA generativa x ML tradicional

Os modelos de IA generativa criam conteúdo novo, enquanto os modelos de ML tradicionais preveem resultados ou categorizam dados de maneira totalmente determinística. Se o recurso não envolve a geração de conteúdo novo, as soluções tradicionais de ML podem ser suficientes. A tabela a seguir resume algumas soluções tradicionais de ML:

Kit de ferramentas / Solução Tipo Caso de uso principal Exemplos
SDK do Kit de ML No dispositivo Tarefas pré-criadas de visão e processamento de linguagem natural
  • Scanner de comprovantes com OCR
  • Check-ins rápidos em eventos com QR code
  • Tradução de cardápios off-line
LiteRT No dispositivo Ambientes de execução de modelos personalizados
  • Classificação de imagens médicas
  • Previsão de palavras do teclado inteligente para assuntos de nicho
MediaPipe No dispositivo Tarefas de percepção de stream de vídeo ou áudio em tempo real
  • Treinamento de postura em tempo real durante o treino
  • Filtros e efeitos faciais
  • Reconhecimento de gestos com a mão
APIs do Google Cloud, incluindo a API Cloud Vision e a API Cloud Natural Language Baseado na nuvem Tarefas pré-criadas de visão e processamento de linguagem natural
  • Legendas automáticas em vídeos
  • Controle de qualidade e conformidade das imagens
Plataforma de Agentes Baseado na nuvem Treinamento e implantação de modelos personalizados de ponta a ponta
  • Reconhecimento de imagem especializado em grande escala
  • Pesquisa de banco de fotos

O restante deste documento é sobre soluções de IA generativa.

Inteligência no app x no sistema

Para identificar a melhor solução de IA generativa, decida se o recurso de IA funciona inteiramente no app ou se ele precisa interagir com outros apps ou com o SO Android, fora de qualquer app. Se o recurso for acionado pelo sistema, fora de qualquer app, ele será considerado inteligência no nível do sistema. A tabela a seguir resume as diferenças entre os recursos de inteligência no app e no sistema:

Inteligência no app Inteligência no nível do sistema
Escopo da tarefa No app Em apps (ou acionados pelo sistema, fora de qualquer app)
Ferramentas SDK do Kit de ML, LiteRT, Firebase AI Logic ou back-end auto-hospedado AppFunctions
Casos de uso
  • Resumir, revisar ou transcrever texto
  • Descrever imagens
  • Criar um chatbot no app
  • Gerar imagens
  • Criar uma lista de compras em um app de entrega com base no que você escreveu em um documento de notas
  • Reserve uma viagem para o escritório e envie uma mensagem para seu colega de trabalho com o horário previsto de chegada
  • Encontrar uma recomendação de restaurante na sua caixa de entrada de e-mail e fazer uma reserva

Inteligência no app

Os recursos de inteligência no app não precisam interagir com outros apps ou com o sistema além do app. Depois de determinar que o recurso de IA é totalmente no app, você precisa decidir se pode executá-lo completamente no dispositivo, usar um modelo baseado na nuvem ou fazer uma abordagem híbrida que combine os dois.

Se você estiver fazendo algo que exija entrada de vídeo ou tarefas que envolvam vários agentes, use um modelo baseado na nuvem. A tabela a seguir compara os recursos dos modelos no dispositivo com os modelos baseados na nuvem:

No dispositivo Cloud
Ferramentas SDK do Kit de ML ou LiteRT Firebase AI Logic ou back-end auto-hospedado
Tipo de entrada
  • Texto
  • Imagem
  • Áudio
  • Texto
  • Imagem
  • Áudio
  • Vídeo
Tipo de saída
  • Texto
  • Texto
  • Imagem
  • Áudio
Sensibilidade dos dados do usuário Maior Inferior
Modelos
  • Gemma
  • Gemini Nano
  • Gemini Flash
  • Gemini Flash Lite
  • Gemini Pro
Casos de uso
  • Processar conteúdo curto, por exemplo, resumir, revisar ou reescrever uma mensagem de chat ou um e-mail curto
  • Descrever imagens
  • Personalizar a saída para os usuários com base nos interesses deles
  • Processar dados sensíveis do usuário
  • Transcrever um clipe de áudio curto
  • Crie um chatbot
  • Gerar imagens
  • Traduza conversas em tempo real
  • Edição de fotos no app
  • Tarefas multiagente

Modelos no dispositivo

Os modelos no dispositivo são preferíveis se:

  • Restrições de custo
  • O recurso precisa ser executado off-line
  • Normas de privacidade
  • A tarefa em questão é relativamente simples e não requer orquestração de vários agentes.

Os dispositivos dos usuários precisam ser compatíveis com os modelos no dispositivo. Os modelos no dispositivo geralmente exigem dispositivos mais premium que possam oferecer suporte ao processamento local.

Depois de determinar que os modelos no dispositivo são suficientes para seu recurso, o kit de ferramentas ou a solução ideal depende principalmente da complexidade da tarefa. A tabela a seguir resume as opções de ferramentas de IA generativa no dispositivo e no app:

Complexidade da tarefa Características do recurso Exemplo Kit de ferramentas/solução
Baixo
  • Inferência única
  • Geração pura
Resumir texto
Médio
  • LLM aumentado
  • Chamadas de função
  • Histórico da conversa
Consulta e resposta
Alta
  • Loop de agente único, que se repete até que a tarefa seja concluída
Feedback do cliente ou triagem de bugs

Use a API Prompt do Kit de ML para gerar textos de conversas simples de turno único ou multiturno. Quando o recurso exigir execução autônoma em várias etapas no dispositivo, use a API GenAI Agent do Kit de ML. A API Agent oferece suporte a ciclos de raciocínio no dispositivo que podem planejar, invocar ferramentas tipadas usando anotações @Tool, manter o contexto da sessão em várias interações e aplicar limites de turnos usando maxTurns.

Modelos baseados na nuvem

Se o recurso não puder ser executado inteiramente no dispositivo, use um modelo baseado na nuvem. Há duas opções principais para usar um modelo baseado na nuvem:

  • Back-end gerenciado usando o Firebase AI Logic. Se você já é usuário do Firebase ou quer criar um protótipo de algo com relativa rapidez, o Firebase AI Logic provavelmente é a melhor solução.

  • Back-end personalizado ou servidor auto-hospedado. Se você quiser usar modelos que não sejam do Gemini, tiver requisitos de privacidade rígidos ou precisar concluir uma tarefa muito complexa, provavelmente precisará usar um back-end personalizado. Também recomendamos as seguintes ferramentas para a configuração do back-end personalizado:

    • Faça com que seu back-end personalizado execute um framework agêntico, como o Kit de Desenvolvimento de Agente.
    • Conectar o front-end do app ao back-end de agente usando a AG-UI.
    • Permita que os agentes gerem interfaces ricas e interativas usando a A2UI

A tabela a seguir resume quando usar o Firebase AI Logic ou um back-end personalizado para ferramentas de IA generativa no app baseadas na nuvem:

Complexidade da tarefa Características do recurso Exemplo Kit de ferramentas/solução
Baixo
  • Inferência única
  • Geração pura
Resumir texto
  • Firebase AI Logic
  • Back-end personalizado
Médio
  • LLM aumentado
  • Chamadas de função
  • Histórico da conversa
Consulta e resposta
  • Firebase AI Logic
  • Back-end personalizado
Alta
  • Loop de agente único, que se repete até que a tarefa seja concluída
Feedback do cliente ou triagem de bugs
  • Back-end personalizado
Muito alto
  • Orquestração de vários agentes
Criar uma equipe de agentes para gerenciar diferentes aspectos de uma viagem
  • Back-end personalizado

Abordagem híbrida.

Use uma abordagem híbrida quando o recurso puder ser executado localmente, mas nem todos os usuários tiverem dispositivos compatíveis com modelos no dispositivo e você precisar usar modelos na nuvem como substitutos. Para mais informações, consulte Inferência híbrida.

Inteligência no nível do sistema

A inteligência no nível do sistema permite que a plataforma Android atue como um orquestrador de tarefas. A inteligência no nível do sistema permite que agentes do sistema, como o Gemini, atendam às solicitações do usuário em vários apps e serviços da Web.

Para conectar seu app ao sistema de inteligência do Android, escolha um método de integração com base no tipo de controle que você quer: programático ou automatizado por ações de interface:

Opção de integração Caso de uso
AppFunctions Disponibilize recursos específicos no seu app para que os agentes os descubram e executem no dispositivo.
Servidor MCP remoto Disponibilize recursos específicos no seu app para integração direta com o back-end do agente. Bom para desenvolvimento multiplataforma.
Controle do computador Permite que um assistente pré-carregado pelo OEM automatize tarefas interagindo diretamente com a interface de um app.

Para mais informações sobre as opções de ferramentas de inteligência no nível do sistema, consulte Conectar seu app ao sistema de inteligência do Android.