Principios clave de la ingeniería de prompts

Ingeniería de prompts con la API de OpenAI

Fouad Trad

Machine Learning Engineer

Prompts claros y precisos

Diagrama visual que muestra una panadería y una casa con dos rutas posibles entre ellas. Una, sencilla y breve (eficaz), y la otra, complicada y larga (ineficaz).

Ingeniería de prompts con la API de OpenAI

Principios clave

  • 🎬 Verbos de acción adecuados
  • 💬 Instrucciones detalladas y precisas
  • ❗ Prompts delimitados y bien estructurados
Ingeniería de prompts con la API de OpenAI

Uso de verbos de acción

  • Indica al modelo qué debe hacer

Tabla de verbos que se pueden usar, como escribir, completar, explicar, describir o evaluar.

Ingeniería de prompts con la API de OpenAI

Evita los verbos ambiguos

  • Confundir la comprensión del modelo

Tabla de verbos recomendados, como escribir, completar, explicar, describir o evaluar, y verbos que conviene evitar, como entender, pensar, sentir, intentar y saber.

Ingeniería de prompts con la API de OpenAI

Prompt eficaz con verbos

prompt = "Think about the issue of 
deforestation."
response = get_response(prompt)
print(response)
Deforestation is a significant 
environmental issue involving 
permanently removing
or destroying forests and woodlands. 
It has far-reaching impacts on the 
environment, ecosystems, wildlife, 
and human communities. [...]
prompt = "Propose strategies to 
reduce deforestation."
response = get_response(prompt)
print(response)
Reducing deforestation requires 
a comprehensive and multi-dimensional 
approach involving various stakeholders. 
Here are several strategies 
that can help address the issue:
Strengthen Forest Governance
Promote Sustainable Land Use [...]
Ingeniería de prompts con la API de OpenAI

Elaboración de instrucciones detalladas

Proporciona instrucciones específicas, descriptivas y detalladas sobre:

  • 📖 Contexto
  • 📏 Longitud de salida
  • 🖌 Formato y estilo
  • 👥👥 Público
Ingeniería de prompts con la API de OpenAI

Prompt eficaz con instrucciones

Prompt ineficaz: "Háblame de los perros."

Prompt eficaz

prompt = "Write a descriptive paragraph about the behavior and characteristics of 
Golden Retrievers, highlighting their friendly nature, intelligence, 
and suitability as family pets."
print(get_response(prompt))
Golden Retrievers are beloved worldwide for their exceptional behavior, remarkable 
characteristics, and friendly nature. They are highly intelligent, trainable, and 
adaptable, making them great companions for families, including those with children.
Ingeniería de prompts con la API de OpenAI

Limitar la longitud de la salida

max_tokens:

  • Límite de tokens
  • No se puede omitir
  • Puede dar lugar a respuestas incompletas o truncadas

prompt:

  • Límite de palabras, oraciones o párrafos
  • La salida puede omitirlo
  • Respuestas completas
Ingeniería de prompts con la API de OpenAI

Componentes del prompt

  • instrucciones y datos de entrada con los que operar
  • Ejemplo: resumen de texto
    • Instrucción: resume el texto proporcionado
    • Datos de entrada: texto que se va a resumir

Un icono que representa la tarea de resumen de texto

Ingeniería de prompts con la API de OpenAI

Cómo crear un prompt bien estructurado con delimitadores

  • Empieza el prompt con instrucciones
  • Usa delimitadores (paréntesis, corchetes, comillas invertidas, etc.) para especificar las partes de entrada
  • Menciona qué delimitadores se utilizan
prompt = """Summarize the text delimited by triple backticks into bullet points.
           ```EL TEXTO VA AQUÍ```"""
response = get_response(prompt)
Ingeniería de prompts con la API de OpenAI

Uso de cadenas con formato (f-strings)

  • Incluye una cadena definida en otra cadena
text = "This is a sample text to summarize"

prompt = f"""Summarize the text delimited by triple backticks into bullet points. ```{text}```"""
print(prompt)
Summarize the text delimited by triple backticks into bullet points.
```Este es un texto de ejemplo para resumir```
Ingeniería de prompts con la API de OpenAI

¡Practiquemos!

Ingeniería de prompts con la API de OpenAI

Preparing Video For Download...