Introducción a la ingeniería de prompts

Ingeniería rápida con la API de OpenAI

Fouad Trad

Machine Learning Engineer

¿Qué es la ingeniería de prompts?

Diseñar prompts o instrucciones para dar a LLMs y obtener las respuestas deseadas

Imagen de una persona ingeniera presentando la terminología de prompt engineering.

Ingeniería rápida con la API de OpenAI

La ingeniería de prompts es como crear una receta

Imagen que muestra a un chef preparando una comida.

Ingeniería rápida con la API de OpenAI

¿Por qué ingeniería de prompts?

  Diagrama que muestra que prompts de alta calidad llevan a respuestas de alta calidad

Ingeniería rápida con la API de OpenAI

¿Por qué ingeniería de prompts?

  Diagrama que muestra cómo la calidad de las respuestas depende de la calidad de los prompts de entrada. Prompts de alta calidad dan respuestas de alta calidad; prompts de baja calidad dan respuestas de baja calidad.

Ingeniería rápida con la API de OpenAI

Recap: OpenAI API

  • Permite interactuar con modelos de OpenAI
  • Ya está configurada en este curso
  • Acceso al endpoint de Chat Completions

logotipo de ChatGPT en blanco.

Ingeniería rápida con la API de OpenAI

Recap: roles de mensaje

Cada mensaje tiene uno de tres roles

Imagen que muestra un icono para el rol de usuario.

Ingeniería rápida con la API de OpenAI

Recap: roles de mensaje

Cada mensaje tiene uno de tres roles

Imagen que muestra un icono para dos roles: usuario y asistente.

Ingeniería rápida con la API de OpenAI

Recap: roles de mensaje

Cada mensaje tiene uno de tres roles

Imagen que muestra un icono para cada uno de los tres roles: usuario, sistema y asistente

Ingeniería rápida con la API de OpenAI

Recap: roles de mensaje

Cada mensaje tiene uno de tres roles

Imagen que muestra un icono para cada uno de los tres roles, con una flecha de comunicación entre sistema y asistente para enviar mensajes del sistema.

  • Mensaje de sistema: guía el comportamiento del modelo
Ingeniería rápida con la API de OpenAI

Recap: roles de mensaje

Cada mensaje tiene uno de tres roles

Imagen que muestra un icono para cada uno de los tres roles, con una flecha de comunicación entre sistema y asistente para enviar mensajes del sistema, y otra flecha entre usuario y asistente para enviar un prompt.

  • Mensaje de sistema: guía el comportamiento del modelo
  • Mensaje de usuario: prompt del usuario
Ingeniería rápida con la API de OpenAI

Recap: roles de mensaje

Cada mensaje tiene uno de tres roles

Imagen que muestra un icono para cada uno de los tres roles, con una flecha de comunicación entre sistema y asistente para enviar mensajes del sistema, otra flecha entre usuario y asistente para enviar un prompt, y otra flecha entre asistente y usuario para enviar la respuesta.

  • Mensaje de sistema: guía el comportamiento del modelo
  • Mensaje de usuario: prompt del usuario
  • Mensaje del asistente: respuesta al prompt
Ingeniería rápida con la API de OpenAI

Recap: parámetros de control

Imagen que muestra un icono de termómetro con valores entre 0 y 2; 0 sin aleatoriedad y 2 con la mayor aleatoriedad.

  • temperature: controla la aleatoriedad de la respuesta
Ingeniería rápida con la API de OpenAI

Recap: parámetros de control

Imagen con un termómetro (0–2) y un control deslizante que representa max_tokens; valores bajos dan respuestas más cortas.

  • temperature: controla la aleatoriedad de la respuesta
  • max_tokens: controla la longitud de la respuesta
Ingeniería rápida con la API de OpenAI

Recap: comunicarse con la OpenAI API

prompt = "What is prompt engineering?"

client = OpenAI(api_key="api_key")
response = client.chat.completions.create(
model = "gpt-4o-mini",
messages = [{"role": "user", "content": prompt}],
temperature = 0 )
print(response.choices[0].message.content)
Prompt engineering refers to the process of designing and refining prompts or 
instructions given to a language model like ChatGPT in order to elicit desired 
responses or behaviors. It involves formulating specific guidelines or hints to 
guide the model's output towards a desired outcome.
Ingeniería rápida con la API de OpenAI

Crear la función get_response()

def get_response(prompt):

response = client.chat.completions.create( model = "gpt-4o-mini", messages = [{"role": "user", "content": prompt}], temperature = 0 )
return response.choices[0].message.content

Uso

response = get_response("What is prompt engineering?")
print(response)
Prompt engineering refers to the process of designing and refining prompts or instructions given to a language model 
like ChatGPT in order to elicit desired responses or behaviors. It involves formulating specific guidelines or hints 
to guide the model's output towards a desired outcome.
Ingeniería rápida con la API de OpenAI

Mejora del prompt

prompt = "What is prompt engineering? Explain it in terms that can be understood 
by a 5-year-old"
response = get_response(prompt)
print(response)
Imagine you have a very smart friend who can understand and answer lots of 
questions. But sometimes, they might not understand exactly what you want or give 
the wrong answer. So, prompt engineering is like giving your friend really clear 
instructions or hints to help them give you the best answer possible.
Ingeniería rápida con la API de OpenAI

¡Vamos a practicar!

Ingeniería rápida con la API de OpenAI

Preparing Video For Download...