Principios clave de la ingeniería de prompts

Ingeniería rápida con la API de OpenAI

Fouad Trad

Machine Learning Engineer

Prompts claros y precisos

Un diagrama que muestra una panadería y una casa con dos rutas posibles entre ellas. Una es simple y corta (eficaz) y la otra es complicada y larga (ineficaz).

Ingeniería rápida con la API de OpenAI

Principios clave

 

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

Usar verbos de acción

  • Guía al modelo sobre qué hacer

Tabla con verbos a usar como write, complete, explain, describe o evaluate.

Ingeniería rápida con la API de OpenAI

Evita verbos ambiguos

  • Confunden la comprensión del modelo

Tabla con verbos a usar como write, complete, explain, describe o evaluate, y verbos a evitar como understand, think, feel, try y know.

Ingeniería rápida 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 rápida con la API de OpenAI

Formular instrucciones detalladas

 

Da instrucciones específicas, descriptivas y detalladas sobre:

  • 📖 Contexto
  • 📏 Longitud del output
  • 🖌 Formato y estilo
  • 👥👥 Público
Ingeniería rápida 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 rápida con la API de OpenAI

Limitar la longitud del output

max_tokens:

  • Límite de tokens
  • El output no puede saltárselo
  • Puede cortar o dejar incompleta la respuesta

Prompt:

  • Límite de palabras, frases o párrafos
  • El output puede ignorarlo
  • Respuestas completas
Ingeniería rápida con la API de OpenAI

Componentes de un prompt

  • Instrucciones y datos de entrada sobre los que operar
  • Ejemplo: resumen de texto
    • Instrucción: resume el texto dado
    • Datos de entrada: texto a resumir

Un icono que representa la tarea de resumir texto

Ingeniería rápida con la API de OpenAI

Crear un prompt bien estructurado con delimitadores

  • Empieza el prompt con instrucciones
  • Usa delimitadores (paréntesis, corchetes, backticks, etc.) para indicar las partes de entrada
  • Indica qué delimitadores se usan
prompt = """Summarize the text delimited by triple backticks into bullet points.
           ```TEXT GOES HERE```"""
response = get_response(prompt)
Ingeniería rápida con la API de OpenAI

Usar f-strings (cadenas formateadas)

  • Incluir una cadena definida dentro de 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.
```This is a sample text to summarize```
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...