Esta guía está diseñada para ayudarte a integrar las soluciones de inteligencia artificial y aprendizaje automático (IA/AA) generativos de Google en tus aplicaciones. Proporciona orientación para ayudarte a navegar por las diversas soluciones de inteligencia artificial y aprendizaje automático disponibles, y elegir la que mejor se adapte a tus necesidades. El objetivo de este documento es ayudarte a determinar qué herramienta usar y por qué, enfocándonos en tus necesidades y casos de uso.
Para ayudarte a seleccionar la solución de IA/AA más adecuada para tus requisitos específicos, este documento incluye una guía de soluciones. Al responder una serie de preguntas sobre los objetivos y las limitaciones de tu proyecto, la guía te orienta hacia las herramientas y tecnologías más adecuadas.
Esta guía te ayuda a elegir la mejor solución de IA para tu app. Ten en cuenta los siguientes factores: el tipo de datos (texto, imágenes, audio, video), la complejidad de la tarea (desde un resumen simple hasta tareas complejas que requieren conocimientos especializados) y el tamaño de los datos (entradas cortas frente a documentos grandes). Esto te ayudará a decidir si usar Gemini Nano en tu dispositivo o la IA basada en la nube de Firebase (Gemini Flash, Gemini Pro o Imagen).
Aprovecha el poder de la inferencia integrada en el dispositivo
Cuando agregas funciones basadas en IA y AA a tu app para Android, puedes elegir diferentes formas de ofrecerlas, ya sea en el dispositivo o con la nube.
Las soluciones integradas en el dispositivo, como Gemini Nano, brindan resultados sin costo adicional, mejoran la privacidad del usuario y ofrecen una funcionalidad sin conexión confiable, ya que los datos de entrada se procesan de forma local. Estos beneficios pueden ser fundamentales para ciertos casos de uso, como el resumen de mensajes, lo que convierte a la tecnología integrada en el dispositivo en una prioridad cuando se eligen las soluciones adecuadas.
Gemini Nano te permite ejecutar inferencias directamente en un dispositivo con Android. Si trabajas con texto, imágenes o audio, comienza con las APIs de IA generativa de ML Kit para obtener soluciones listas para usar. Las APIs de IA generativa de ML Kit están potenciadas por Gemini Nano, aprovechan AICore como el servicio del sistema subyacente y se ajustan para tareas específicas integradas en el dispositivo. Las APIs de IA generativa de ML Kit son una ruta ideal hacia la producción para tus apps debido a su interfaz de nivel superior y su escalabilidad. Estas APIs te permiten enviar solicitudes en lenguaje natural con entradas de texto y de imagen, lo que habilita una variedad de casos de uso, como la comprensión de imágenes, traducciones breves, resúmenes guiados y mucho más.
Para las tareas tradicionales de aprendizaje automático, tienes la flexibilidad de implementar tus propios modelos personalizados. Proporcionamos herramientas sólidas, como ML Kit, MediaPipe, LiteRT y funciones de entrega de Google Play, para optimizar tu proceso de desarrollo.
En el caso de las aplicaciones que requieren soluciones altamente especializadas, puedes usar tu propio modelo personalizado, como Gemma o algún otro modelo que se adapte a tu caso de uso específico. Ejecuta tu modelo directamente en el dispositivo del usuario con LiteRT, que proporciona arquitecturas de modelos prediseñadas para un rendimiento optimizado.
También puedes considerar la posibilidad de crear una solución híbrida aprovechando los modelos integrados en el dispositivo y en la nube.
Las apps para dispositivos móviles suelen usar modelos locales para datos de texto pequeños, como conversaciones de chat o artículos de blog. Sin embargo, para fuentes de datos más grandes (como los PDFs) o cuando se requiere conocimiento adicional, es posible que se necesite una solución basada en la nube con modelos de Gemini más potentes.
Integra modelos avanzados de Gemini
Los desarrolladores de Android pueden integrar las capacidades avanzadas de IA generativa de Google, incluidos los potentes modelos de Gemini Pro, Gemini Flash y Imagen, en sus aplicaciones con el SDK de Firebase AI Logic. Este SDK está diseñado para necesidades de datos más grandes y proporciona capacidades y adaptabilidad expandidas, ya que permite el acceso a estos modelos de IA multimodales y de alto rendimiento.
Con el SDK de Firebase AI Logic, los desarrolladores pueden realizar llamadas del cliente a los modelos de IA de Google con un esfuerzo mínimo. Estos modelos, como Gemini Pro y Gemini Flash, ejecutan la inferencia en la nube y permiten que las apps para Android procesen una variedad de entradas, como imágenes, audio, video y texto. Gemini Pro se destaca por su capacidad de razonamiento para resolver problemas complejos y analizar grandes cantidades de datos, mientras que la serie Gemini Flash ofrece una velocidad superior y una ventana de contexto lo suficientemente grande para la mayoría de las tareas.
Cuándo usar el aprendizaje automático tradicional
Si bien la IA generativa es útil para crear y editar contenido, como texto, imágenes y código, muchos problemas del mundo real se resuelven mejor con las técnicas tradicionales de aprendizaje automático (AA). Estos métodos establecidos se destacan en tareas que implican la predicción, la clasificación, la detección y la comprensión de patrones en los datos existentes, a menudo con mayor eficiencia, menor costo computacional y una implementación más simple que los modelos generativos.
Los marcos de trabajo de AA tradicionales ofrecen soluciones sólidas, optimizadas y, a menudo, más prácticas para las aplicaciones enfocadas en analizar la entrada, identificar atributos o hacer predicciones basadas en patrones aprendidos, en lugar de generar resultados completamente nuevos. Herramientas como ML Kit, LiteRT y MediaPipe de Google proporcionan potentes capacidades diseñadas para estos casos de uso no generativos, en particular en entornos de procesamiento perimetral y para dispositivos móviles.
Comienza tu integración de aprendizaje automático con ML Kit
ML Kit ofrece soluciones listas para producción y optimizadas para dispositivos móviles para tareas comunes de aprendizaje automático, sin necesidad de experiencia previa en AA. Este SDK móvil fácil de usar lleva la experiencia de Google en AA directamente a tus apps para iOS y Android, lo que te permite enfocarte en el desarrollo de funciones en lugar del entrenamiento de modelos y la optimización. ML Kit proporciona APIs prediseñadas y modelos listos para usar para funciones como el escaneo de códigos de barras, el reconocimiento de texto (OCR), la detección de rostros, el etiquetado de imágenes, la detección y el seguimiento de objetos, la identificación de idiomas y las respuestas inteligentes.
Por lo general, estos modelos se optimizan para la ejecución integrado en el dispositivo, lo que garantiza una latencia baja, funcionalidad sin conexión y mayor privacidad del usuario, ya que los datos suelen permanecer en el dispositivo. Elige ML Kit para agregar rápidamente funciones de AA establecidas a tu app para dispositivos móviles sin necesidad de entrenar modelos ni requerir resultados generativos. Es ideal para mejorar de manera eficiente las apps con capacidades "inteligentes" usando los modelos optimizados de Google o implementando modelos personalizados de TensorFlow Lite.
Comienza a usar nuestras guías y documentación completas en el sitio para desarrolladores de ML Kit.
Implementación de AA personalizado con LiteRT
Para tener un mayor control o implementar tus propios modelos de AA, usa una pila de AA personalizada compilada en LiteRT y los Servicios de Google Play. Esta pila proporciona los elementos esenciales para implementar funciones de AA de alto rendimiento. LiteRT es un kit de herramientas optimizado para ejecutar modelos de TensorFlow de manera eficiente en dispositivos móviles, integrados y perimetrales con recursos limitados, lo que te permite ejecutar modelos significativamente más pequeños y rápidos que consumen menos memoria, energía y almacenamiento. El tiempo de ejecución de LiteRT está altamente optimizado para varios aceleradores de hardware (GPUs, DSPs y NPUs) en dispositivos perimetrales, lo que permite una inferencia de baja latencia.
Elige LiteRT cuando necesites implementar de manera eficiente modelos de AA entrenados (generalmente para clasificación, regresión o detección) en dispositivos con potencia de procesamiento o duración de batería limitadas, como smartphones, dispositivos de IoT o microcontroladores. Es la solución preferida para implementar modelos predictivos personalizados o estándar en el borde, donde la velocidad y la conservación de recursos son fundamentales.
Obtén más información sobre la implementación de AA con LiteRT.
Incorpora la percepción en tiempo real a tus apps con MediaPipe
MediaPipe proporciona soluciones de aprendizaje automático personalizables, multiplataforma y de código abierto diseñadas para medios de transmisión y en vivo. Aprovecha las herramientas optimizadas y prediseñadas para tareas complejas, como el monitoreo de manos, la estimación de la pose, la detección de la malla facial y la detección de objetos, que permiten una interacción en tiempo real y de alto rendimiento incluso en dispositivos móviles.
Las canalizaciones basadas en grafos de MediaPipe son altamente personalizables, lo que te permite adaptar soluciones para aplicaciones de Android, iOS, la Web, computadoras de escritorio y backend. Elige MediaPipe cuando tu aplicación necesite comprender y reaccionar de inmediato a los datos de sensores en tiempo real, en especial los flujos de video, para casos de uso como el reconocimiento de gestos, los efectos de RA, el monitoreo de actividad física o el control de avatares, todo enfocado en analizar e interpretar la entrada.
Explora las soluciones y comienza a compilar con MediaPipe.
Integra tu app con el asistente del dispositivo
Si bien la integración tradicional de la IA se enfoca en "incorporar la IA a tu app", también puedes "incorporar tu app a la IA". Si contribuyes con la funcionalidad de tu app a las funciones de IA del sistema, permites que los asistentes a nivel del sistema (como Gemini) descubran y llamen a las capacidades de tu app de forma autónoma. AppFunctions es la principal forma de lograr esta integración, ya que permite que tu app participe en el ecosistema de IA de Android más amplio.
Cómo elegir un enfoque
Cuando incorpores la IA para mejorar tu app para Android, debes considerar tres enfoques principales: realizar el procesamiento integrado en el dispositivo, aprovechar los modelos basados en la nube o agregar la funcionalidad de tu app a la IA a nivel del sistema. Herramientas como ML Kit, Gemini Nano y LiteRT habilitan capacidades integradas en el dispositivo, mientras que las APIs de Gemini Cloud con Firebase AI Logic proporcionan un potente procesamiento basado en la nube. AppFunctions representa una tercera ruta que te permite "incorporar tu app a la IA" haciendo que sus funciones estén disponibles para el sistema de forma agentiva.
Ten en cuenta estos factores cuando elijas tu enfoque:
| Factor | Soluciones integradas en el dispositivo | Soluciones de Cloud |
|---|---|---|
| Conectividad y funcionalidad sin conexión | Ideal para usar sin conexión, ya que funciona sin conexión de red. | Requiere una conexión de red para comunicarse con servidores remotos. |
| Privacidad de los datos | Procesa y almacena datos sensibles de forma local en el dispositivo. | Los datos se transmiten a la nube, lo que requiere confianza en la seguridad del proveedor. |
| Visibilidad y alcance | La integración directa en el SO (AppFunctions) permite que los asistentes descubran funciones. | Por lo general, el descubrimiento se limita a la IU interna de la app o a integraciones específicas de la API. |
| Capacidades de los modelos | Optimizadas para una latencia baja y tareas específicas menos intensivas. | Modelos potentes capaces de manejar una gran complejidad y entradas extensas. |
| Consideraciones de costo | No hay cargos directos por uso; se utiliza el hardware existente del dispositivo. | Por lo general, implica precios basados en el uso o costos de suscripción continuos. |
| Recursos del dispositivo | Utiliza el almacenamiento local, la RAM y la duración de la batería. | Impacto local mínimo: el trabajo pesado se descarga en el servidor. |
| Ajuste | Flexibilidad limitada; restringida por las capacidades del hardware local. | Mayor flexibilidad para la personalización extensa y el ajuste a gran escala. |
| Coherencia multiplataforma | La disponibilidad puede variar según el SO y la compatibilidad del hardware. | Experiencia coherente en cualquier plataforma con acceso a Internet. |
Si consideras cuidadosamente los requisitos de tu caso de uso y las opciones disponibles, podrás encontrar la solución de IA/AA perfecta para mejorar tu app para Android y brindar experiencias inteligentes y personalizadas a tus usuarios.
Guía de soluciones de IA/AA
Esta guía de soluciones puede ayudarte a identificar las herramientas para desarrolladores adecuadas para integrar tecnologías de IA y AA en tus proyectos de Android.
¿Cuál es el objetivo principal de la función basada en IA?
- A) ¿Generar contenido nuevo (texto, descripciones de imágenes) o realizar un procesamiento de texto simple (resumir, corregir o reescribir texto)? → Ve a IA generativa.
- B) ¿Analiza los datos o las entradas existentes para la predicción, la clasificación, la detección, la comprensión de patrones o el procesamiento de transmisiones en tiempo real (como video o audio)? → Ve a ML tradicional y percepción.
- C) ¿Mejorar la funcionalidad de tu app para integrarla con las funciones potenciadas por IA del sistema (llevar tu app a la IA)? → Ve a Cómo incorporar tu app a la IA
AA y percepción tradicionales
Necesitas analizar la entrada, identificar atributos o hacer predicciones basadas en patrones aprendidos, en lugar de generar resultados completamente nuevos.
¿Qué tarea específica realizas?
- A) ¿Necesitas una integración rápida de funciones de AA para dispositivos móviles comunes y prediseñadas?
(p.ej., escaneo de códigos de barras, reconocimiento de texto (OCR), detección de rostros, etiquetado de imágenes, detección y seguimiento de objetos, identificación de idiomas, respuesta inteligente básica)
- → Uso: ML Kit (APIs tradicionales)
- Por qué: Es la integración más sencilla para las tareas de AA móviles establecidas y, a menudo, está optimizada para el uso integrado en el dispositivo (baja latencia, sin conexión, privacidad).
- B) ¿Necesitas procesar datos de transmisión en tiempo real (como video o audio) para tareas de percepción? (p.ej., monitoreo de manos, estimación de poses, malla facial, detección y segmentación de objetos en tiempo real en video)
- → Uso: MediaPipe
- Por qué: Es un framework especializado para canalizaciones de percepción en tiempo real y de alto rendimiento en diversas plataformas.
- C) ¿Necesitas ejecutar de manera eficiente tu propio modelo de AA entrenado de forma personalizada (p.ej., para clasificación, regresión o detección) en el dispositivo, priorizando el rendimiento y el bajo uso de recursos?
- → Uso: LiteRT (tiempo de ejecución de TensorFlow Lite)
- Por qué: Tiempo de ejecución optimizado para implementar modelos personalizados de manera eficiente en dispositivos móviles y perimetrales (tamaño pequeño, inferencia rápida y aceleración por hardware).
- D) ¿Necesitas entrenar tu propio modelo de AA personalizado para una tarea específica?
- → Uso: LiteRT (entorno de ejecución de TensorFlow Lite) + entrenamiento de modelos personalizados
- Por qué: Proporciona las herramientas para entrenar e implementar modelos personalizados, optimizados para dispositivos móviles y perimetrales.
- E) ¿Necesitas clasificación de contenido avanzada, análisis de sentimiento o traducción a muchos idiomas con un alto nivel de matices?
- Considera si los modelos de AA tradicionales (que se pueden implementar con LiteRT o en la nube) son adecuados, o si el CLN avanzado requiere modelos generativos (vuelve a Inicio y elige A). Para la clasificación, el análisis de opiniones o la traducción basados en la nube, haz lo siguiente:
- → Uso: Soluciones basadas en la nube (p.ej., API de Google Cloud Natural Language, API de Google Cloud Translation, a las que se puede acceder con un backend personalizado o Vertex AI). (Tiene una prioridad más baja que las opciones integradas en el dispositivo si no hay conexión o si la privacidad es clave).
- Por qué: Las soluciones en la nube ofrecen modelos potentes y una amplia compatibilidad con idiomas, pero requieren conectividad y pueden generar costos.
IA generativa
Necesitas crear contenido nuevo, resumir, reescribir o realizar tareas complejas de comprensión o interacción.
¿Necesitas que la IA funcione sin conexión, requieres la máxima privacidad de los datos (manteniendo los datos del usuario en el dispositivo) o quieres evitar los costos de inferencia en la nube?
- A) Sí, la privacidad máxima, la capacidad sin conexión o la ausencia de costos de nube son fundamentales.
- B) No, la conectividad está disponible y es aceptable, las capacidades y la escalabilidad de la nube son más importantes, o bien las funciones específicas requieren la nube.
- → Ve a IA generativa de Cloud
IA generativa integrada en el dispositivo (con Gemini Nano)
Advertencias: Requiere dispositivos Android compatibles, compatibilidad limitada con iOS y modelos menos potentes que sus equivalentes en la nube.
Con la API de Prompt de ML Kit, puedes enviar solicitudes en lenguaje natural con entradas de solo texto o de texto y de imagen para una variedad de casos de uso, como la comprensión de imágenes, traducciones breves y resúmenes guiados. Si tus casos de uso se pueden satisfacer con estos límites de tokens, las APIs de IA generativa de ML Kit son tu mejor opción para la IA generativa integrada en el dispositivo. ML Kit también ofrece APIs optimizadas para tareas comunes, como la generación de resúmenes y las respuestas inteligentes.
- → Uso: APIs de IA generativa de ML Kit (con tecnología de Gemini Nano)
- Por qué: Es la forma más sencilla de integrar tareas de IA generativa integrado en el dispositivo con instrucciones en lenguaje natural, y es la solución integrado en el dispositivo de mayor prioridad.
IA generativa en la nube
Utiliza modelos más potentes, requiere conectividad, suele implicar costos de inferencia, ofrece un mayor alcance de dispositivos y una coherencia multiplataforma (Android y iOS) más sencilla.
¿Cuál es tu prioridad: la facilidad de integración en Firebase O la máxima flexibilidad y control?
- A) ¿Prefieres una integración más sencilla, una experiencia de API administrada y es probable que ya uses Firebase?
- → Uso: SDK de Firebase AI Logic → Ir a Firebase AI Logic
- B) ¿Necesitas la máxima flexibilidad, acceso a la mayor variedad de modelos (incluidos los personalizados o de terceros) y un ajuste avanzado, y estás dispuesto a administrar tu propia integración de backend (más compleja)?
- → Uso: API de Gemini con un backend personalizado de Cloud (con Google Cloud Platform)
- Por qué: Ofrece el mayor control, el acceso más amplio al modelo y opciones de entrenamiento personalizadas, pero requiere un esfuerzo significativo de desarrollo de backend. Adecuado para necesidades complejas, a gran escala o altamente personalizadas.
(Elegiste el SDK de Firebase AI Logic) ¿Qué tipo de tarea generativa y perfil de rendimiento necesitas?
- A) ¿Necesitas un equilibrio entre rendimiento y costo, adecuado para aplicaciones generales de generación de texto, resumen o chat en las que la velocidad es importante?
- → Uso: SDK de Firebase AI Logic con Gemini Flash
- Por qué: Se optimizó para la velocidad y la eficiencia dentro del entorno administrado de Vertex AI.
- B) ¿Necesitas mayor calidad y capacidad para la generación de texto complejo, el razonamiento, la CLN avanzada o el seguimiento de instrucciones?
- → Uso: SDK de Firebase AI Logic con Gemini Pro
- Por qué: Es un modelo de texto más potente para tareas exigentes, al que se accede a través de Firebase.
- C) ¿Necesitas una generación de imágenes sofisticada o una comprensión o manipulación avanzada de imágenes basada en instrucciones de texto?
- → Uso: SDK de Firebase AI Logic con Imagen 3
- Por qué: Modelo de generación de imágenes de vanguardia al que se accede a través del entorno administrado de Firebase.
AppFunctions
Debes mejorar la funcionalidad de tu app para integrarla con las funciones potenciadas por IA del sistema (llevar tu app a la IA).
- → Uso: AppFunctions
- Por qué: Permite que las funciones de IA del sistema, como Asistente, descubran e invoquen las capacidades de tu app.