Este guia foi criado para ajudar você a integrar as soluções de inteligência artificial e machine learning (IA/ML) generativa do Google aos seus aplicativos. Ele oferece orientações 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 aos seus requisitos específicos, 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 para tarefas complexas que exigem conhecimento especializado) e o tamanho dos dados (entradas curtas versus documentos grandes). Isso vai ajudar você a decidir entre usar o Gemini Nano no dispositivo ou a IA baseada na nuvem do Firebase (Gemini Flash, Gemini Pro ou Imagen).
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 entregá-los: no dispositivo ou usando a nuvem.
As soluções no dispositivo, como o Gemini Nano, oferecem resultados sem custo adicional, proporcionam maior privacidade do usuário e oferecem funcionalidade off-line confiável, porque 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.
O Gemini Nano permite executar a inferência diretamente em um dispositivo Android. Se você estiver trabalhando com texto, imagens ou áudio, comece com as APIs GenAI do Kit de ML para soluções prontas para uso. As APIs GenAI do Kit de ML são baseadas no Gemini Nano, aproveitando o AICore como o 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 e escalonabilidade de nível superior. Essas APIs permitem enviar solicitações de linguagem natural com entradas de texto e imagem, permitindo uma variedade de 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, MediaPipe, LiteRT e os recursos de entrega do Google Play para simplificar o processo de desenvolvimento.
Para aplicativos que exigem soluções altamente especializadas, você pode usar seu próprio modelo personalizado, como Gemma ou outro modelo adaptado ao seu caso de uso específico. Execute o modelo diretamente no dispositivo do usuário com o LiteRT, que oferece arquiteturas de modelo pré-projetadas para desempenho otimizado.
Você também pode criar uma solução híbrida aproveitando 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 conhecimento adicional, uma solução baseada na nuvem com modelos Gemini mais avançados 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, Gemini Flash e Imagen, aos aplicativos usando o SDK Firebase AI Logic. Esse SDK foi criado para necessidades de dados maiores e oferece recursos e adaptabilidade expandidos, permitindo o acesso a esses modelos de IA multimodais de alto desempenho.
Com o SDK 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 a inferência na nuvem e permitem que os apps Android processem uma variedade de entradas, incluindo imagem, áudio, vídeo e texto. O Gemini Pro se destaca no raciocínio sobre problemas complexos e na análise de dados extensos, 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 machine learning 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 melhor resolvidos usando técnicas tradicionais de machine learning (ML). Esses métodos estabelecidos se destacam em tarefas que envolvem previsão, classificação, detecção e compreensão de padrões em dados atuais, geralmente com maior eficiência, menor custo computacional e implementação mais simples do que modelos generativos.
Os frameworks tradicionais de ML oferecem soluções robustas, otimizadas e geralmente mais práticas para aplicativos focados na análise de entrada, identificação de recursos ou na realização de previsões com base em padrões aprendidos, em vez de gerar uma saída totalmente nova. Ferramentas como o Kit de ML, 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 de borda e dispositivos móveis.
Comece a integração de machine learning com o Kit de ML
O Kit de ML oferece soluções prontas para produção e otimizadas para dispositivos móveis para tarefas comuns de machine learning, sem exigir experiência anterior em ML. Esse SDK para dispositivos móveis fácil de usar leva a experiência em ML do Google diretamente aos 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. Ele é ideal para aprimorar apps de maneira eficiente com recursos "inteligentes" usando os modelos otimizados do Google ou implantando modelos personalizados do TensorFlow Lite.
Comece com nossos guias e documentação abrangentes no site do desenvolvedor do Kit de ML.
Implantação personalizada de ML com o LiteRT
Para maior controle ou para implantar seus próprios modelos de ML, use uma pilha de ML personalizada criada no LiteRT e no Google Play Services. Essa pilha oferece o essencial para implantar recursos de ML de alto desempenho. 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, oferecendo a capacidade de 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 modelos de ML treinados de maneira eficiente (geralmente para classificação, regressão ou detecção) em dispositivos com poder computacional ou duração da bateria limitados, como smartphones, dispositivos IoT ou microcontroladores. É a solução preferida para implantar modelos preditivos personalizados ou padrão na borda, em que 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 machine learning de código aberto, multiplataforma e personalizáveis, projetadas para mídia ao vivo e de streaming. Aproveite as ferramentas otimizadas e pré-criadas para tarefas complexas, como captura de movimentos das mãos, estimativa de pose, detecção de malha facial e detecção de objetos, tudo isso permitindo interação de alto desempenho e em tempo real, 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 o aplicativo precisar entender e reagir instantaneamente a dados do sensor ao vivo, especialmente streams de vídeo, para casos de uso como reconhecimento de gestos, efeitos de RA, rastreamento de condicionamento físico ou controle de avatar, tudo focado na análise e interpretação de entrada.
Conheça as soluções e comece a criar com o MediaPipe.
Integrar seu app ao assistente do dispositivo
Embora a integração tradicional de IA se concentre 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 independente. O AppFunctions é a principal maneira de conseguir essa integração, permitindo que seu app se torne um participante do ecossistema de IA do Android.
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 seu app à IA no nível do sistema. Ferramentas como o Kit de ML, o Gemini Nano e o LiteRT permitem recursos no dispositivo, enquanto as APIs do Gemini Cloud com o Firebase AI Logic oferecem processamento avançado baseado na nuvem. O AppFunctions representa um terceiro caminho, permitindo que você "coloque seu app na IA" ao disponibilizar os recursos dele de forma independente para o sistema.
Considere estes fatores ao escolher sua abordagem:
| Fator | Soluções no dispositivo | Soluções na nuvem |
|---|---|---|
| Conectividade e funcionalidade off-line | Ideal para uso off-line; funciona sem uma conexão de rede connection. | 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 segurança. |
| Descoberta e alcance | A integração direta do SO (AppFunctions) permite que os assistentes descubram recursos. | A descoberta geralmente é limitada à interface interna do app ou integrações de API específicas. |
| Recursos de modelo | Otimizado para baixa latência e tarefas específicas e menos intensivas tarefas. | Modelos avançados capazes de processar alta complexidade e entradas grandes. |
| Considerações sobre o custo | Sem cobranças diretas por uso; utiliza o hardware do dispositivo. | Geralmente envolve preços baseados no uso ou custos de assinatura contínuos. |
| Recursos do dispositivo | Utiliza armazenamento local, RAM e duração da bateria. | Impacto local mínimo; o trabalho pesado é descarregado para o servidor. |
| Ajuste de detalhes | Flexibilidade limitada; restrito pelos recursos de hardware local capacidades. | Maior flexibilidade para personalização extensa e ajuste em grande escala. |
| Consistência multiplataforma | A disponibilidade pode variar dependendo do SO e do suporte de hardware support. | Experiência consistente em qualquer plataforma com acesso à Internet acesso. |
Ao considerar cuidadosamente os requisitos do 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 de 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 novo conteúdo (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) Aprimorar a funcionalidade do seu app para integrar recursos de IA do sistema (colocar seu app na IA)? → Acesse Colocar seu app na IA
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 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 e rastreamento de objetos, identificação de idiomas, resposta inteligente básica.
- → Usar: Kit de ML (APIs tradicionais)
- Motivo: integração mais fácil para tarefas de ML para dispositivos móveis estabelecidas, geralmente otimizadas para uso no dispositivo (baixa latência, off-line, privacidade).
- B) 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 e segmentação de objetos em tempo real em vídeo.
- → Usar: MediaPipe
- Motivo: framework especializado para pipelines de percepção de alto desempenho e em tempo real em várias plataformas.
- C) Precisa executar de maneira eficiente seu próprio modelo de ML treinado personalizado (por exemplo, para classificação, regressão, detecção) no dispositivo, priorizando o desempenho e o baixo uso de recursos?
- → Usar: LiteRT (ambiente de execução do TensorFlow Lite)
- Motivo: ambiente 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?
- → Usar: LiteRT (ambiente de execução do TensorFlow Lite) + treinamento de modelo personalizado
- Motivo: fornece as ferramentas para treinar e implantar modelos personalizados, otimizados para dispositivos móveis e de borda dispositivos.
- E) Precisa de classificação de conteúdo avançada, análise de sentimento ou tradução de muitos idiomas com alta nuance?
- Considere se os modelos tradicionais de ML (possivelmente implantados usando o LiteRT ou a nuvem) se encaixam ou se o PLN avançado exige modelos generativos (volte ao início e escolha A). Para classificação, sentimento ou tradução baseada na nuvem:
- → Usar: soluções baseadas na nuvem (por exemplo, API Cloud Natural Language do Google, Cloud Translation API do Google, possivelmente acessadas usando um back-end personalizado ou aVertex AI). Prioridade menor que as opções no dispositivo se o off-line ou a privacidade for fundamental.
- _Motivo_: as soluções na nuvem oferecem modelos avançados e suporte a idiomas abrangente, mas exigem conectividade e podem gerar custos.
IA generativa
Você precisa criar novo conteúdo, resumir, reescrever ou realizar tarefas complexas de compreensão ou interação.
Você precisa que a IA funcione off-line, precisa de privacidade de dados máxima (mantendo os dados do usuário no dispositivo) ou quer evitar custos de inferência na nuvem?
- A) Sim, o off-line, a privacidade máxima ou nenhum custo na nuvem é fundamental.
- → Acesse IA generativa no dispositivo
- 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.
- → Acesse IA generativa na nuvem
IA generativa no dispositivo (usando o Gemini Nano)
Advertências: requer dispositivos Android compatíveis, suporte limitado ao iOS, modelos menos avançados do que os equivalentes na nuvem.
Com a API Prompt do Kit de ML, você pode enviar solicitações de linguagem natural com entradas de texto ou texto e imagem para uma variedade de 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.
- → Usar: APIs GenAI do Kit de ML (com tecnologia do Gemini Nano)
- Motivo: maneira mais fácil de integrar tarefas de IA generativa no dispositivo usando comandos de linguagem natural, solução de maior prioridade no dispositivo.
IA generativa na nuvem
Usa modelos mais avançados, exige conectividade, geralmente envolve custos de inferência, oferece maior alcance de dispositivos e consistência multiplataforma (Android e iOS) mais fácil.
Qual é sua prioridade: facilidade de integração no Firebase OU flexibilidade/controle máximo?
- A) Prefere uma integração mais fácil, uma experiência de API gerenciada e provavelmente já está usando o Firebase?
- → Usar: SDK Firebase AI Logic → Acesse Firebase AI Logic
- B) Precisa de flexibilidade máxima, acesso à maior variedade de modelos (incluindo de terceiros/personalizados), ajuste avançado e está disposto a gerenciar sua própria integração de back-end (mais complexa)?
- → Usar: 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 Firebase AI Logic) De que tipo de tarefa generativa e perfil de desempenho você precisa?
- A) Precisa de um equilíbrio entre desempenho e custo, adequado para geração de texto geral, resumo ou aplicativos de chat em que a velocidade é importante?
- → Usar: SDK Firebase AI Logic com o Gemini Flash
- Motivo: otimizado para velocidade e eficiência no ambiente gerenciado da Vertex AI.
- B) Precisa de maior qualidade e capacidade para geração de texto complexo, raciocínio, PLN avançado ou instruções a seguir?
- → Usar: SDK Firebase AI Logic com o Gemini Pro
- Motivo: modelo de texto mais avançado para tarefas exigentes, acessado pelo Firebase.
- C) Precisa de geração de imagens sofisticada ou compreensão ou manipulação avançada de imagens com base em comandos de texto?
- → Usar: SDK Firebase AI Logic com o Imagen 3
- Motivo: modelo de geração de imagens de última geração acessado usando o ambiente gerenciado do Firebase.
AppFunctions
Você precisa aprimorar a funcionalidade do seu app para integrar recursos de IA do sistema (colocar seu app na IA).
- → Usar: AppFunctions
- Motivo: permite que recursos de IA do sistema, como o Google Assistente, descubram e invoquem os recursos do seu app.