Encontre a solução de IA/ML certa para seu app

Este guia foi criado para ajudar você a integrar as soluções de inteligência artificial generativa e machine learning (IA/ML) do Google aos seus aplicativos. Ele oferece orientação para ajudar você a navegar pelas várias soluções de inteligência artificial e machine learning disponíveis e escolher a que melhor se adapta às suas necessidades. O objetivo deste documento é ajudar você a determinar qual ferramenta usar e por quê, com foco nas suas necessidades e casos de uso.

Para ajudar você a selecionar a solução de IA/ML mais adequada às suas necessidades específicas, este documento inclui um guia de soluções. Ao responder a uma série de perguntas sobre as metas e restrições do seu projeto, o guia direciona você para as ferramentas e tecnologias mais adequadas.

Este guia ajuda você a escolher a melhor solução de IA para seu app. Considere estes fatores: o tipo de dados (texto, imagens, áudio, vídeo), a complexidade da tarefa (resumo simples até tarefas complexas que exigem conhecimento especializado) e o tamanho dos dados (entradas curtas x documentos grandes). Isso vai ajudar você a decidir entre usar o Gemini Nano no seu dispositivo ou a IA baseada na nuvem do Firebase (Gemini Flash ou Gemini Pro).

Fluxograma de decisão para casos de uso da IA generativa. Os critérios incluem modalidade (texto, imagem x áudio, vídeo, geração de imagens), complexidade (resumir, reescrever x conhecimento do domínio) e janela de contexto (entrada/saída curta x documentos/mídia extensos), resultando em IA generativa no dispositivo (Gemini Nano) ou Firebase AI Logic (Gemini Flash, Pro).
Figura 1: esta ilustração representa um guia de soluções de alto nível para ajudar você a encontrar a solução de IA/ML certa para seu app Android. Para uma análise mais detalhada das suas opções de IA e ML, consulte o guia de soluções encontrado mais adiante neste documento.

Aproveite o poder da inferência no dispositivo

Ao adicionar recursos de IA e ML ao seu app Android, você pode escolher diferentes maneiras de disponibilizá-los, seja no dispositivo ou usando a nuvem.

Soluções no dispositivo, como o Gemini Nano, oferecem resultados sem custo adicional, privacidade aprimorada para o usuário e funcionalidade off-line confiável, já que os dados de entrada são processados localmente. Esses benefícios podem ser essenciais para determinados casos de uso, como o resumo de mensagens, tornando o uso no dispositivo uma prioridade ao escolher as soluções certas.

Com o Gemini Nano, você pode executar inferências diretamente em um dispositivo Android. Se você estiver trabalhando com texto, imagens ou áudio, comece com as APIs de IA generativa do ML Kit para soluções prontas para uso. As APIs de IA generativa do Kit de ML são alimentadas pelo Gemini Nano, usando o AICore como serviço do sistema subjacente, e são ajustadas para tarefas específicas no dispositivo. As APIs GenAI do Kit de ML são um caminho ideal para a produção dos seus apps devido à interface de nível superior e à escalonabilidade. Com elas, é possível enviar solicitações em linguagem natural com entradas de texto e imagem, o que permite vários casos de uso, como compreensão de imagens, traduções curtas, resumos guiados e muito mais.

Para tarefas tradicionais de machine learning, você tem a flexibilidade de implementar seus próprios modelos personalizados. Oferecemos ferramentas robustas, como o Kit de ML, o MediaPipe, o LiteRT e os recursos de entrega do Google Play para simplificar seu processo de desenvolvimento.

Para aplicativos que exigem soluções altamente especializadas, use seu próprio modelo personalizado, como o Gemma ou outro modelo adaptado ao seu caso de uso específico. Execute seu modelo diretamente no dispositivo do usuário com o LiteRT, que oferece arquiteturas de modelo pré-projetadas para um desempenho otimizado.

Você também pode criar uma solução híbrida usando modelos no dispositivo e na nuvem.

Os apps para dispositivos móveis geralmente usam modelos locais para dados de texto pequenos, como conversas de chat ou artigos de blog. No entanto, para fontes de dados maiores (como PDFs) ou quando é necessário mais conhecimento, uma solução baseada na nuvem com modelos do Gemini mais potentes pode ser necessária.

Integrar modelos avançados do Gemini

Os desenvolvedores Android podem integrar os recursos avançados de IA generativa do Google, incluindo os modelos poderosos Gemini Pro e Gemini Flash, aos aplicativos usando o SDK Firebase AI Logic. Ele foi projetado para necessidades de dados maiores e oferece recursos e adaptabilidade ampliados ao permitir o acesso a esses modelos de IA multimodais de alto desempenho.

Com o SDK do Firebase AI Logic, os desenvolvedores podem fazer chamadas do lado do cliente para os modelos de IA do Google com o mínimo de esforço. Esses modelos, como o Gemini Pro e o Gemini Flash, executam inferências na nuvem e permitem que apps Android processem uma variedade de entradas, incluindo imagens, áudio, vídeo e texto. O Gemini Pro é excelente para raciocinar sobre problemas complexos e analisar grandes quantidades de dados, enquanto a série Gemini Flash oferece velocidade superior e uma janela de contexto grande o suficiente para a maioria das tarefas.

Quando usar o aprendizado de máquina tradicional

Embora a IA generativa seja útil para criar e editar conteúdo como texto, imagens e código, muitos problemas do mundo real são resolvidos melhor usando técnicas tradicionais de aprendizado de máquina (ML). Esses métodos estabelecidos são excelentes em tarefas que envolvem previsão, classificação, detecção e compreensão de padrões em dados existentes, geralmente com maior eficiência, menor custo computacional e implementação mais simples do que os modelos generativos.

Os frameworks tradicionais de ML oferecem soluções robustas, otimizadas e geralmente mais práticas para aplicativos focados em analisar entradas, identificar recursos ou fazer previsões com base em padrões aprendidos, em vez de gerar resultados totalmente novos. Ferramentas como o ML Kit, o LiteRT e o MediaPipe do Google oferecem recursos avançados personalizados para esses casos de uso não generativos, principalmente em ambientes de computação móvel e de borda.

Comece sua integração de machine learning com o Kit de ML

O Kit de ML oferece soluções otimizadas para dispositivos móveis e prontas para produção para tarefas comuns de machine learning, sem exigir experiência prévia em ML. Esse SDK para dispositivos móveis fácil de usar leva a experiência em ML do Google diretamente para seus apps Android e iOS, permitindo que você se concentre no desenvolvimento de recursos em vez do treinamento de modelo e da otimização. O Kit de ML oferece APIs pré-criadas e modelos prontos para uso em recursos como leitura de código de barras, reconhecimento de texto (OCR), detecção facial, rotulagem de imagens, detecção e rastreamento de objetos, identificação de idiomas e resposta inteligente.

Esses modelos geralmente são otimizados para execução no dispositivo, garantindo baixa latência, funcionalidade off-line e maior privacidade do usuário, já que os dados geralmente permanecem no dispositivo. Escolha o Kit de ML para adicionar rapidamente recursos de ML estabelecidos ao seu app para dispositivos móveis sem precisar treinar modelos ou exigir saída generativa. É ideal para melhorar apps de maneira eficiente com recursos "inteligentes" usando modelos otimizados do Google ou implantando modelos personalizados do TensorFlow Lite.

Comece a usar nossos guias e documentação abrangentes no site para desenvolvedores do Kit de ML.

Implantação personalizada de ML com LiteRT

Para ter mais controle ou implantar seus próprios modelos de ML, use uma pilha de ML personalizada criada no LiteRT e no Google Play Services. Essa pilha fornece o essencial para implantar recursos de ML de alta performance. O LiteRT é um kit de ferramentas otimizado para executar modelos do TensorFlow de maneira eficiente em dispositivos móveis, incorporados e de borda com recursos limitados. Assim, você pode executar modelos significativamente menores e mais rápidos que consomem menos memória, energia e armazenamento. O ambiente de execução do LiteRT é altamente otimizado para vários aceleradores de hardware (GPUs, DSPs, NPUs) em dispositivos de borda, permitindo inferência de baixa latência.

Escolha o LiteRT quando precisar implantar com eficiência modelos de ML treinados (geralmente para classificação, regressão ou detecção) em dispositivos com capacidade computacional ou duração da bateria limitadas, como smartphones, dispositivos IoT ou microcontroladores. É a solução preferida para implantar modelos preditivos personalizados ou padrão na borda, onde a velocidade e a conservação de recursos são fundamentais.

Saiba mais sobre a implantação de ML com o LiteRT.

Criar percepção em tempo real nos seus apps com o MediaPipe

O MediaPipe oferece soluções de aprendizado de máquina de código aberto, multiplataforma e personalizáveis projetadas para mídia ao vivo e de streaming. Aproveite ferramentas otimizadas e pré-criadas para tarefas complexas, como captura de movimentos das mãos, estimativa de postura, detecção de malha facial e detecção de objetos. Tudo isso permite uma interação em tempo real de alta performance, mesmo em dispositivos móveis.

Os pipelines baseados em gráficos do MediaPipe são altamente personalizáveis, permitindo que você adapte soluções para aplicativos Android, iOS, Web, desktop e back-end. Escolha o MediaPipe quando seu aplicativo precisar entender e reagir instantaneamente a dados do sensor em tempo real, especialmente streams de vídeo, para casos de uso como reconhecimento de gestos, efeitos de RA, monitoramento de fitness ou controle de avatar. Tudo isso focado em analisar e interpretar entradas.

Conheça as soluções e comece a criar com o MediaPipe.

Integrar seu app ao assistente do dispositivo

Enquanto a integração tradicional de IA se concentra em "colocar a IA no seu app", você também pode "colocar seu app na IA". Ao contribuir com a funcionalidade do seu app para recursos de IA do sistema, você permite que assistentes no nível do sistema (como o Gemini) descubram e invoquem os recursos do seu app de forma autônoma. AppFunctions é a principal maneira de fazer essa integração, permitindo que seu app participe do ecossistema de IA do Android. Por outro lado, quando o app hospeda agentes no app que precisam retornar uma interface interativa para os usuários, use o renderizador A2UI do Jetpack Compose para mostrar interfaces controladas por agentes de forma nativa.

Escolher uma abordagem

Ao incorporar a IA para melhorar seu app Android, considere três abordagens principais: realizar o processamento no dispositivo, aproveitar modelos baseados na nuvem ou adicionar a funcionalidade do app à IA no nível do sistema. Ferramentas como o ML Kit, o Gemini Nano e o LiteRT ativam recursos no dispositivo, enquanto as APIs em nuvem do Gemini com o Firebase AI Logic oferecem um processamento poderoso baseado na nuvem. O AppFunctions representa um terceiro caminho, permitindo que você "coloque seu app na IA" ao disponibilizar os recursos dele para o sistema.

Considere estes fatores ao escolher sua abordagem:

Fator Soluções no dispositivo Soluções de nuvem
Conectividade e funcionalidade off-line Ideal para uso off-line, funciona sem uma conexão de rede. Requer uma conexão de rede para se comunicar com servidores remotos.
Privacidade de dados Processa e armazena dados sensíveis localmente no dispositivo. Os dados são transmitidos para a nuvem, exigindo confiança na segurança do provedor.
Facilidade de descoberta e alcance A integração direta com o SO (AppFunctions) permite que os assistentes descubram recursos. A descoberta geralmente é limitada à interface interna do app ou a integrações de API específicas.
Recursos de modelo Otimizado para baixa latência e tarefas específicas menos intensivas. Modelos avançados capazes de lidar com alta complexidade e grandes entradas.
Considerações sobre o custo Sem cobranças diretas por uso; utiliza o hardware do dispositivo atual. Normalmente envolve preços baseados no uso ou custos de assinatura contínuos.
Recursos do dispositivo Usa armazenamento local, RAM e bateria. Impacto local mínimo. O trabalho pesado é descarregado para o servidor.
Ajuste de detalhes Flexibilidade limitada; restrições de recursos de hardware local. Mais flexibilidade para personalização extensa e ajuste em grande escala.
Consistência multiplataforma A disponibilidade pode variar de acordo com o SO e o suporte de hardware. Experiência consistente em qualquer plataforma com acesso à Internet.

Ao considerar cuidadosamente os requisitos do seu caso de uso e as opções disponíveis, você pode encontrar a solução de IA/ML perfeita para aprimorar seu app Android e oferecer experiências inteligentes e personalizadas aos usuários.


Guia para soluções de IA/ML

Este guia de soluções pode ajudar você a identificar as ferramentas de desenvolvedor adequadas para integrar tecnologias de IA/ML aos seus projetos Android.

Qual é o objetivo principal do recurso de IA?

  • A) Gerar conteúdo novo (texto, descrições de imagens) ou realizar processamento de texto simples (resumir, revisar ou reescrever texto)? → Acesse IA generativa
  • B) Analisar dados/entradas atuais para previsão, classificação, detecção, compreensão de padrões ou processamento de streams em tempo real (como vídeo/áudio)? → Acesse ML tradicional e percepção
  • C) Melhorar a funcionalidade do app para integrar com recursos de IA do sistema (colocar seu app na IA)? → Acesse Como colocar seu app na IA
  • D) Renderizar interfaces dinâmicas e interativas geradas por agentes de IA? → Saiba como usar agentes para gerar interfaces

ML tradicional e percepção

Você precisa analisar a entrada, identificar recursos ou fazer previsões com base em padrões aprendidos, em vez de gerar uma saída totalmente nova.

Qual tarefa específica você está realizando?

  • A) Precisa de uma integração rápida de recursos de ML para dispositivos móveis comuns e pré-criados? Por exemplo, leitura de código de barras, reconhecimento de texto (OCR), detecção facial, rotulagem de imagens, detecção de objeto e rastreamento, identificação de idiomas, resposta inteligente básica.
    • → Use: Kit de ML (APIs tradicionais)
    • Motivo: integração mais fácil para tarefas de ML em dispositivos móveis estabelecidas, geralmente otimizadas para uso no dispositivo (baixa latência, off-line, privacidade).
  • B) Você precisa processar dados de streaming em tempo real (como vídeo ou áudio) para tarefas de percepção? (por exemplo, captura de movimentos das mãos, estimativa de pose, malha facial, detecção de objeto e segmentação em tempo real em vídeo)
    • → Use: MediaPipe
    • Motivo: framework especializado para pipelines de percepção em tempo real e de alta performance em várias plataformas.
  • C) Precisa executar com eficiência seu próprio modelo de ML treinado de forma personalizada (por exemplo, para classificação, regressão, detecção) no dispositivo, priorizando o desempenho e o baixo uso de recursos?
    • → Use: LiteRT (ambiente de execução do TensorFlow Lite)
    • Por que: tempo de execução otimizado para implantar modelos personalizados de maneira eficiente em dispositivos móveis e de borda (tamanho pequeno, inferência rápida, aceleração de hardware).
  • D) Precisa treinar seu próprio modelo de ML personalizado para uma tarefa específica?
    • → Use: LiteRT (TensorFlow Lite Runtime) + treinamento de modelo personalizado
    • Motivo: oferece as ferramentas para treinar e implantar modelos personalizados, otimizados para dispositivos móveis e de borda.
  • E) Você precisa de classificação de conteúdo avançada, análise de sentimento ou tradução de vários idiomas com alta nuance?
    • Considere se os modelos tradicionais de ML (potencialmente implantados usando LiteRT ou nuvem) são adequados ou se a NLU avançada exige modelos generativos (volte ao início e escolha A). Para classificação, sentimento ou tradução baseada na nuvem:
    • → Use: soluções baseadas na nuvem (por exemplo, API Natural Language do Google Cloud, API Translation do Google Cloud, potencialmente acessadas usando um back-end personalizado ou a Gemini Enterprise Agent Platform). (Prioridade menor que as opções no dispositivo se o modo off-line ou a privacidade forem importantes).
    • Por quê: as soluções de nuvem oferecem modelos poderosos e suporte a vários idiomas, mas exigem conectividade e podem gerar custos.

IA generativa

Você precisa criar conteúdo novo, resumir, reescrever ou realizar tarefas complexas de compreensão ou interação.

Você precisa que a IA funcione off-line, quer o máximo de privacidade de dados (mantendo os dados do usuário no dispositivo) ou quer evitar custos de inferência na nuvem?

  • A) Sim, o uso off-line, a privacidade máxima ou a ausência de custos na nuvem são essenciais.
  • B) Não, a conectividade está disponível e é aceitável, os recursos e a escalonabilidade da nuvem são mais importantes ou recursos específicos exigem a nuvem.

IA generativa no dispositivo (usando o Gemini Nano)

Observações: exige dispositivos Android compatíveis, suporte limitado para iOS, modelos menos potentes do que os equivalentes na nuvem.

Com a API Prompt do ML Kit, é possível enviar solicitações em linguagem natural com entradas somente de texto ou de texto e imagem para vários casos de uso, como compreensão de imagens, traduções curtas e resumos guiados. Se os casos de uso puderem ser atendidos por esses limites de token, as APIs GenAI do Kit de ML serão a melhor opção para IA generativa no dispositivo. O Kit de ML também oferece APIs simplificadas para tarefas comuns, como resumo e Resposta Inteligente.


IA generativa na nuvem

Usa modelos mais avançados, exige conectividade, geralmente envolve custos de inferência, oferece um alcance maior de dispositivos e consistência mais fácil multiplataforma (Android e iOS).

Qual é sua prioridade: facilidade de integração no Firebase OU máxima flexibilidade/controle?

  • A) Você prefere uma integração mais fácil, uma experiência de API gerenciada e provavelmente já usa o Firebase?
  • B) Precisa de flexibilidade máxima, acesso à mais ampla variedade de modelos (incluindo de terceiros/personalizados), ajuste fino avançado e quer gerenciar sua própria integração de back-end (mais complexa)?
    • → Uso: API Gemini com um back-end personalizado na nuvem (usando o Google Cloud Platform)
    • Motivo: oferece mais controle, acesso mais amplo ao modelo e opções de treinamento personalizadas, mas exige um esforço significativo de desenvolvimento de back-end. Adequado para necessidades complexas, em grande escala ou altamente personalizadas.

(Você escolheu o SDK do Firebase AI Logic) Que tipo de tarefa generativa e perfil de desempenho você precisa?

  • A) Você precisa de um equilíbrio entre desempenho e custo, adequado para aplicativos de geração de texto, resumo ou chat em geral, em que a velocidade é importante?
  • B) Precisa de mais qualidade e capacidade para geração de texto complexo, raciocínio, NLU avançada ou acompanhamento de instruções?

AppFunctions

É necessário aprimorar a funcionalidade do app para integrar com recursos de IA do sistema (colocando o app na IA).

  • → Use: AppFunctions
  • Motivo: permite que recursos de IA do sistema, como o Google Assistente, descubram e invoquem as funcionalidades do app.

Usar agentes para gerar uma interface que usa o Jetpack Compose e o Material 3

É necessário renderizar a interface interativa gerada ou solicitada por agentes de IA no seu app.

  • → Use: Renderizador A2UI do Jetpack Compose
  • Por quê? Permite que os agentes "falem UI" usando o protocolo agente para interface (A2UI), renderizando respostas dinâmicas do agente como componentes nativos do Jetpack Compose e do Material 3 com tratamento completo de estado e eventos.