Few-shot prompting

Ingeniería rápida con la API de OpenAI

Fouad Trad

Machine Learning Engineer

Few-shot prompting

  • Modelo con ejemplos (pares pregunta-respuesta)

Una representación visual de un prompt few-shot que muestra su estructura con preguntas y respuestas de ejemplo, y finalmente la pregunta que queremos que el modelo responda.

Ingeniería rápida con la API de OpenAI

Few-shot prompting

  • Modelo con ejemplos (pares pregunta-respuesta)

Un diagrama visual que muestra cómo enviamos un prompt few-shot al LLM.

Ingeniería rápida con la API de OpenAI

Few-shot prompting

  • Modelo con ejemplos (pares pregunta-respuesta)

Un diagrama visual que muestra cómo enviamos un prompt few-shot al LLM y recibimos una respuesta.

Ingeniería rápida con la API de OpenAI

Few-shot prompting

  • Modelo con ejemplos (pares pregunta-respuesta)

Un diagrama visual que muestra cómo enviamos un prompt few-shot al LLM y recibimos una respuesta.

  • Número de ejemplos:
    • Cero -> zero-shot prompting
    • Uno -> one-shot prompting
    • Más de uno -> few-shot prompting
Ingeniería rápida con la API de OpenAI

Zero-shot prompting

  • Proporcionar un prompt sin ejemplos
  • El modelo responde según su conocimiento
  • Ideal para tareas rápidas y simples
prompt = "What is prompt engineering?"
print(get_response(prompt))
Prompt engineering refers to designing and refining prompts or instructions given 
to a language model like ChatGPT 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

One-shot prompting

  • Dale al modelo un solo ejemplo
  • Útil para formato o estilo consistentes
prompt =  """ 
Q: Sum the numbers 3, 5, and 6. A: 3+5+6=14
Q: Sum the numbers 2, 4, and 7. A: 
"""
print(get_response(prompt))
2+4+7=13
Ingeniería rápida con la API de OpenAI

One-shot prompting

prompt = """
Q: Sum the numbers 3, 5, and 6. A: The sum of 3, 5, and 6 is 14
Q: Sum the numbers 2, 4, and 7. A: 
"""
print(get_response(prompt))
The sum of 2, 4, and 7 is 13
Ingeniería rápida con la API de OpenAI

Few-shot prompting

  • Proporciona más de un ejemplo
  • Potente para tareas con contexto
prompt = """
Text: Today the weather is fantastic -> Classification: positive
Text: The furniture is small -> Classification: neutral
Text: I don't like your attitude -> Classification: negative

"""

Ingeniería rápida con la API de OpenAI

Few-shot prompting

  • Proporciona más de un ejemplo
  • Potente para tareas con contexto
prompt = """
Text: Today the weather is fantastic -> Classification: positive
Text: The furniture is small -> Classification: neutral
Text: I don't like your attitude -> Classification: negative
Text: That shot selection was awful -> Classification: 
"""
print(get_response(prompt))
negative
Ingeniería rápida con la API de OpenAI

Few-shot prompting con un modelo de chat

response = client.chat.completions.create(
  model = "gpt-3.5-turbo",

messages = [{"role": "user", "content": "Today the weather is fantastic"},
{"role": "assistant", "content": "positive"},
{"role": "user", "content": "I don't like your attitude"}, {"role": "assistant", "content": "negative"},
{"role": "user", "content": "That shot selection was awful"} ], temperature = 0 )
print(response.choices[0].message.content)
negative
Ingeniería rápida con la API de OpenAI

Consideraciones

  • Elige el número de shots según la complejidad
    • Menos shots -> tareas básicas
    • Shots diversos -> tareas complejas

Una imagen que muestra a una persona cuestionándose.

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...