Envía solicitudes personalizadas con el acceso directo al modelo de Gemini Nano

Con el acceso directo al modelo de ML Kit (com.google.mlkit:genai-prompt), puedes enviar solicitudes personalizadas de lenguaje natural integrado en el dispositivo al modelo de base Gemini Nano a través de la clase GenerativeModel. El acceso directo al modelo acepta entradas de texto o multimodales (imagen y texto), admite conversaciones de varios turnos administradas por el cliente (List<Content> con roles de USER y MODEL, y sessionId) y emite resultados de texto o estructurados con tipo.

Puedes usar el acceso directo al modelo para una variedad de casos de uso, incluidos los siguientes:

Caso práctico

Ejemplo

Comprensión de imágenes

Analizar fotos para clasificarlas, como "mascotas", "comida" o "viajes"

Traducciones breves

Traducir mensajes cortos entre un conductor de entregas y un cliente

Resumen guiado

Resumir las opiniones de un restaurante según el interés específico de un usuario.

Extracción de entidades

Extraer detalles importantes sobre un evento próximo de un hilo de correos electrónicos

Inspiración para la generación de contenido

Sugerir instrucciones para una entrada de diario

Escaneo inteligente de documentos

Extraer y categorizar elementos de la imagen de un recibo

Clasificación de texto

Clasificar las opiniones de los clientes en una categoría positiva, neutral o negativa.

Acceso directo a modelos frente a APIs específicas para tareas

Además del acceso directo al modelo de base Gemini Nano para instrucciones personalizadas, ML Kit proporciona APIs preconfiguradas para tareas dedicadas de voz, imagen y texto: Reconocimiento de voz, Descripción de imágenes, Generación de resúmenes, Revisión de texto, Reformulación y mucho más. Las APIs de tareas de texto y de imagen usan tipos de atributos específicos de la tarea y adaptadores de LoRA ajustados sobre el modelo base compartido. En la siguiente tabla, se describen los beneficios de cada enfoque:

Consideración

Acceso directo al modelo (GenerativeModel)

APIs de tareas de texto y de imagen

Esfuerzo de integración

Alta.

Requiere más esfuerzo para implementarse debido a la ingeniería de instrucciones y el control de calidad.

tan llevaderos

Requiere menos esfuerzo, ya que estas APIs usan tipos de atributos específicos de la tarea y adaptadores de LoRA ajustados sobre el modelo base. No es necesario trabajar directamente con el LLM.

Flexibilidad

Más flexibilidad, ya que puedes diseñar instrucciones personalizadas, administrar el contexto de varios turnos, aplicar esquemas estructurados con tipos o compilar flujos de trabajo de agentes de nivel superior (AgentRunner) sobre GenerativeModel.

Menos flexibilidad Cada API específica de la tarea tiene un ajuste fino de LoRA fijo y una instrucción integrada que tiene las siguientes características:

  • La descripción de la imagen es genérica y breve.
  • Los resúmenes solo pueden tener entre 1 y 3 viñetas.
  • La reescritura solo admite estilos predefinidos.

Como regla general, usa el acceso directo al modelo cuando necesites más personalización y flexibilidad, y usa las APIs específicas de la tarea para tareas estándar que no requieran lógica personalizada.

Código de muestra