Skip to Content

Acceso y uso de modelos Gemini en Vertex AI

RUTA F · Fabricantes y Plataformas · Lección 3 de 14

Esta lección detalla cómo acceder y utilizar los modelos Gemini en Vertex AI. Se explican las variantes disponibles (Pro, Ultra) y se establece el criterio para seleccionar el modelo adecuado según el requerimiento funcional y técnico del proyecto. Se cubren los métodos de interacción principales.

Acceso y uso de modelos Gemini en Vertex AI

Modelos Gemini disponibles en Vertex AI

Vertex AI ofrece acceso a distintas versiones del modelo Gemini, cada una optimizada para cargas de trabajo específicas. La elección del modelo impacta directamente en el rendimiento, la latencia y los costos de la aplicación. Es fundamental comprender las capacidades de cada variante para una implementación efectiva.

  • Gemini 1.0 Pro: Es el modelo base para tareas multimodales generales. Soporta texto, imágenes, audio y video. Ideal para casos de uso que requieren comprensión y generación en múltiples modalidades sin exigencias extremas de razonamiento complejo o latencia mínima. Es la opción más accesible en términos de costo-rendimiento para una amplia gama de aplicaciones.
  • Gemini 1.0 Pro Vision: Una variante de Gemini 1.0 Pro optimizada específicamente para entradas visuales (imágenes, video) y texto. Es útil para análisis de contenido visual, descripción de imágenes, y comprensión de documentos escaneados. Su enfoque en la visión lo hace más eficiente para estas tareas que el modelo Pro general.
  • Gemini 1.0 Ultra: Diseñado para tareas de alta complejidad que requieren un razonamiento avanzado, comprensión profunda y capacidades multimodales superiores. Ofrece el mejor rendimiento en benchmarks de razonamiento, pero con mayor latencia y costo. Su uso se justifica en aplicaciones críticas donde la precisión y la capacidad de resolver problemas complejos son prioritarias. Actualmente, el acceso a Gemini 1.0 Ultra en Vertex AI es controlado y requiere postulación a través de Google Cloud.

Acceso a los modelos vía Vertex AI SDK y REST API

La interacción con los modelos Gemini en Vertex AI se realiza principalmente a través del Vertex AI SDK para Python o mediante la REST API. Ambos métodos proporcionan las funcionalidades necesarias para enviar prompts, recibir respuestas y gestionar la configuración del modelo. El SDK simplifica la interacción con una abstracción de alto nivel, mientras que la API REST ofrece un control más granular y es adecuada para integraciones con otros lenguajes de programación o sistemas.

Para utilizar el SDK de Python, primero se debe instalar:

pip install google-cloud-aiplatform

Luego, se inicializa el cliente y se carga el modelo deseado. La autenticación se gestiona automáticamente si se ejecuta en un entorno de Google Cloud con las credenciales adecuadas, o mediante la configuración de la variable de entorno GOOGLE_APPLICATION_CREDENTIALS.

import vertexai
from vertexai.generative_models import GenerativeModel, Part

PROJECT_ID = "tu-proyecto-id"
LOCATION = "us-central1"

vertexai.init(project=PROJECT_ID, location=LOCATION)

# Cargar el modelo Gemini 1.0 Pro
model = GenerativeModel("gemini-1.0-pro")

# Ejemplo de generación de texto
response = model.generate_content("Explica la fusión nuclear en una frase.")
print(response.text)

# Cargar el modelo Gemini 1.0 Pro Vision
model_vision = GenerativeModel("gemini-1.0-pro-vision")

# Para Gemini 1.0 Ultra, si se tiene acceso:
# model_ultra = GenerativeModel("gemini-1.0-ultra")
REGLA DEL OFICIO

Verifica siempre la disponibilidad regional de cada modelo. No todos los modelos están disponibles en todas las regiones de Google Cloud simultáneamente, y las versiones pueden variar. Consulta la documentación oficial de Vertex AI para la disponibilidad más reciente.

Configuración de seguridad y parámetros de generación

Los modelos Gemini en Vertex AI permiten ajustar parámetros de generación y configuración de seguridad para controlar la calidad y el contenido de las respuestas. Estos ajustes son críticos para adaptar el comportamiento del modelo a los requisitos específicos de cada aplicación.

  • Parámetros de generación:
    • temperature: Controla la aleatoriedad de las salidas. Valores más altos (ej. 0.8-1.0) producen respuestas más creativas, mientras que valores más bajos (ej. 0.0-0.2) resultan en respuestas más deterministas y enfocadas.
    • max_output_tokens: Establece el número máximo de tokens que el modelo puede generar en una respuesta. Útil para controlar la longitud de las salidas y prevenir respuestas excesivamente largas.
    • top_p: Controla la diversidad del muestreo. El modelo considera solo los tokens cuya probabilidad acumulada suma top_p.
    • top_k: Limita la selección de tokens a los k tokens con mayor probabilidad en cada paso de generación.
  • Configuración de seguridad: Permite definir umbrales para filtrar contenido potencialmente dañino en categorías como acoso, incitación al odio, contenido sexualmente explícito y violencia. Esto es esencial para mantener la integridad y seguridad de las aplicaciones que interactúan con usuarios finales. Se configuran mediante el objeto HarmCategory y HarmBlockThreshold.
from vertexai.generative_models import GenerationConfig, HarmCategory, HarmBlockThreshold

# Configuración de generación
generation_config = GenerationConfig(
    temperature=0.4,
    max_output_tokens=200,
    top_p=0.8,
    top_k=40
)

# Configuración de seguridad
safety_settings = {
    HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
    HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    HarmCategory.HARM_CATEGORY_HARASSMENT: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
}

response_tuned = model.generate_content(
    "Escribe un poema sobre la tecnología y el futuro.",
    generation_config=generation_config,
    safety_settings=safety_settings
)
print(response_tuned.text)

Consideraciones para la elección del modelo

La selección del modelo Gemini adecuado debe basarse en una evaluación de los requisitos funcionales, el presupuesto y las expectativas de rendimiento. No siempre el modelo más potente es la mejor opción.

CriterioGemini 1.0 ProGemini 1.0 Ultra
Complejidad de la tareaGeneral, multimodal, razonamiento moderadoAlta, razonamiento avanzado, comprensión profunda
LatenciaBaja a moderadaModerada a alta
CostoMenorMayor
DisponibilidadGeneralmente abiertaAcceso controlado (postulación)
Casos de usoChatbots, resúmenes, generación de contenido, análisis de imágenes básicoAnálisis de datos complejos, investigación, asistencia médica, razonamiento legal
CRITERIO DE SELECCIÓN

Inicia siempre con Gemini 1.0 Pro para la mayoría de los casos de uso. Solo escala a Gemini 1.0 Ultra si las pruebas demuestran que Pro no cumple con los requisitos de calidad o complejidad del razonamiento, y si el presupuesto y la latencia lo permiten. Optimizar el prompt antes de cambiar de modelo puede ser más eficiente.

Aplicación práctica: Preparando el entorno para Gemini

Para el lunes, asegúrate de tener un entorno de desarrollo configurado para interactuar con Vertex AI y los modelos Gemini. Esto implica:

  1. Crear un proyecto en Google Cloud: Si aún no tienes uno, crea un nuevo proyecto en la consola de Google Cloud.
  2. Habilitar las APIs necesarias: Desde el Dashboard de tu proyecto, busca y habilita las APIs 'Vertex AI API' y 'Cloud AI Platform API'.
  3. Configurar credenciales: Si trabajas fuera de Google Cloud (ej. tu máquina local), crea una cuenta de servicio, descarga su clave JSON y configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS apuntando a ese archivo.
  4. Instalar el SDK de Vertex AI para Python: Ejecuta pip install google-cloud-aiplatform en tu entorno virtual.
  5. Ejecutar un script de prueba: Utiliza el código de ejemplo proporcionado en esta lección para enviar un prompt simple a gemini-1.0-pro y verificar que puedes recibir una respuesta. Esto confirmará que tu acceso y configuración son correctos.

Rating
0 0

There are no comments for now.

to be the first to leave a comment.