WWWhat's new

Vertex AI Prompt Optimizer: cómo optimizar tus prompts en Google Cloud

google vertex ai

En el mundo del desarrollo de aplicaciones basadas en modelos de lenguaje (LLM), diseñar un buen prompt es esencial para obtener resultados precisos y coherentes. Pero, ¿alguna vez has sentido que encontrar el prompt perfecto es un proceso agotador y tedioso? Google ha lanzado Vertex AI Prompt Optimizer en su fase de vista previa pública para facilitar el proceso de creación de prompts y asegurarse de que siempre obtienes el mejor rendimiento de tus aplicaciones de inteligencia artificial.

Con Vertex AI Prompt Optimizer, Google busca reducir el tiempo y esfuerzo que los desarrolladores dedican a crear y adaptar prompts. Este servicio permite a los usuarios generar instrucciones óptimas y ejemplos para cualquier modelo de lenguaje que utilicen en Vertex AI. En este artículo, exploraremos cómo funciona esta herramienta, cómo configurarla y qué beneficios ofrece para tus proyectos de IA generativa.

¿Qué es Vertex AI Prompt Optimizer?

Vertex AI Prompt Optimizer es un servicio de optimización de prompts que utiliza algoritmos basados en LLM para encontrar las mejores instrucciones y ejemplos (conocidos como “demostraciones”) para cualquier modelo alojado en Vertex AI. El proceso se basa en métodos automáticos de optimización de prompts desarrollados por Google Research, como se detalla en el artículo presentado en la conferencia NeurIPS 2024.

Al usar Vertex AI Prompt Optimizer, puedes mejorar la calidad de tus respuestas sin tener que lidiar con la tediosa tarea de ajustar manualmente los prompts para cada modelo. La herramienta analiza las métricas de evaluación que definas y ajusta las instrucciones y demostraciones para obtener el mejor resultado posible.

¿Cómo funciona Vertex AI Prompt Optimizer?

El optimizador utiliza un modelo evaluador y un modelo optimizador que trabajan en conjunto para generar y evaluar múltiples combinaciones de prompts. Basado en los resultados, selecciona las combinaciones más efectivas según las métricas definidas por el usuario. Es decir, en lugar de probar múltiples variaciones manualmente, el optimizador hace todo el trabajo pesado por ti.

Por ejemplo, supongamos que quieres diseñar un prompt que permita a un asistente de cocina basado en IA generar recomendaciones saludables. Con Vertex AI Prompt Optimizer, introduces un conjunto de ejemplos etiquetados que contienen preguntas y respuestas ideales, y la herramienta ajusta las instrucciones y demostraciones del prompt para maximizar la precisión y relevancia de las respuestas generadas por el modelo.

Pasos para optimizar un prompt con Vertex AI Prompt Optimizer

A continuación, te explico cómo puedes utilizar esta herramienta para mejorar tus prompts con unos simples pasos:

1. Preparar el template del prompt

El primer paso es crear un template de prompt que defina la estructura básica de la tarea. Esto incluye la instrucción general y la plantilla de contexto y tarea. A continuación te muestro un ejemplo para un asistente de preguntas y respuestas (Q&A):

INSTRUCTION_TEMPLATE = """
Dada una pregunta con algo de contexto, proporciona la respuesta correcta a la pregunta.
"""

CONTEXT_TASK_TEMPLATE = """
Pregunta: {{question}}
Respuesta: {{target}}
"""

En este ejemplo, {{question}} y {{target}} son marcadores que se reemplazarán con las preguntas y respuestas específicas en cada iteración del prompt.

2. Subir ejemplos etiquetados a Google Cloud

Vertex AI Prompt Optimizer necesita un archivo CSV o JSONL que contenga pares de ejemplos etiquetados (pregunta y respuesta) para usarlos durante el proceso de optimización. Esto ayuda a la herramienta a identificar áreas de mejora basándose en la comparación entre las respuestas generadas y las respuestas esperadas.

{
"question": "¿Cuáles son algunas técnicas para cocinar carne roja que maximicen el sabor y la ternura mientras minimizan la formación de compuestos poco saludables?",
"target": "Aquí tienes algunas técnicas: braise y estofar a baja temperatura para descomponer el colágeno..."
}

Sube estos ejemplos a un bucket de Google Cloud Storage para que el optimizador pueda acceder a ellos.

3. Configurar los ajustes de optimización

El siguiente paso es configurar los parámetros de optimización. Aquí puedes definir el número de iteraciones, las métricas de evaluación, el modelo objetivo y otros parámetros que afectarán el comportamiento del optimizador.

params = {
'num_steps': 50,
'system_instruction': SYSTEM_INSTRUCTION,
'prompt_template': CONTEXT_TASK_TEMPLATE,
'target_model': 'gemini-1.5-flash',
'eval_metrics_types': ['precision', 'groundedness'],
'optimization_mode': 'both',
'num_template_eval_per_step': 10,
'num_demo_set_candidates': 5,
'demo_set_size': 3,
'input_data_path': 'gs://bucket_name/input_data.jsonl',
'output_data_path': 'gs://bucket_name/output_data.jsonl',
}

4. Ejecutar la tarea de optimización

Con los datos y la configuración listos, es momento de ejecutar la tarea de optimización a través del Vertex AI SDK para Python. Este proceso utiliza el servicio de entrenamiento de Vertex AI para evaluar y mejorar el prompt automáticamente.

from google.cloud import aiplatform

custom_job = aiplatform.CustomJob(
display_name='prompt_optimization',
worker_pool_specs=[{
'machine_spec': {'machine_type': 'n1-standard-4'},
'replica_count': 1,
'container_spec': {
'image_uri': 'gcr.io/vertex-ai/prompt-optimizer',
'args': ["--config=params.json"]
}
}]
)

custom_job.run()

5. Evaluar el resultado de la optimización

Una vez finalizada la tarea de optimización, los prompts optimizados se guardan en el bucket de Google Cloud Storage especificado. Utiliza los prompts optimizados para evaluar su desempeño con nuevas entradas y ajustar tu aplicación de manera dinámica.

¿Por qué usar Vertex AI Prompt Optimizer?

Vertex AI Prompt Optimizer ofrece múltiples ventajas para los desarrolladores que trabajan con modelos de lenguaje:

¿Qué sigue para Vertex AI Prompt Optimizer?

Con la llegada de esta herramienta, Google sigue apostando por hacer más accesible y eficiente el desarrollo de aplicaciones basadas en IA generativa. A medida que Vertex AI Prompt Optimizer evolucione, se añadirán nuevas funcionalidades para ofrecer aún más control y precisión en el diseño de prompts.

En WWWhatsnew.com, estaremos atentos a los avances y actualizaciones de Vertex AI Prompt Optimizer y otras herramientas que faciliten el desarrollo con IA. Si quieres saber más sobre esta herramienta, no dudes en explorar la documentación oficial de Google y comenzar a experimentar por ti mismo.

Salir de la versión móvil