Incorporar el contexto externo

Ingeniería de prompts con la API de OpenAI

Fouad Trad

Machine Learning Engineer

La necesidad de contexto externo

  • Los modelos de lenguaje preentrenados reconocen la información con la que se han entrenado
  • Hay que aportar más contexto
  • Más precisión y eficacia

Icono que representa un chatbot en un teléfono móvil.

Ingeniería de prompts con la API de OpenAI

Falta de información en los LLM

  • Fecha límite del conocimiento
system_prompt = "Act as a financial expert that knows about the latest trends."

user_prompt = "What are the top financial trends in 2023?"

print(get_response(system_prompt, user_prompt))
I apologize for any inconvenience, but as of my last knowledge update in 
September 2021, I don't have information about financial trends in 2023.
Ingeniería de prompts con la API de OpenAI

Falta de información en los LLM

  • Información no pública solicitada
system_prompt = "Act as a study buddy that helps me with my studies to succeed 
in exams."

user_prompt = "What is the name of my favorite instructor?" print(get_response(system_prompt, user_prompt))
I don't have personal information about you, including the name of your 
favorite instructor.
Ingeniería de prompts con la API de OpenAI

¿Cómo añadir información adicional?

  • Ejemplos de conversaciones anteriores
  • Prompt del sistema

Icono que muestra dos cuadros de diálogo para reflejar un aspecto conversacional.

Ingeniería de prompts con la API de OpenAI

Conversaciones de ejemplo

  • Guía al modelo para responder preguntas concretas
response = client.chat.completions.create(
  model="gpt-4o-mini",
  messages=[{"role": "system",
             "content": "You are a customer service chatbot that responds to user queries in a gentle way"},

{"role": "user", "content": "What services do you offer?"},
{"role": "assistant", "content": "We provide services for web application development, mobile app development, and custom software solutions."},
{"role": "user", "content": "How many services do you have?"}])
print(response.choices[0].message.content)
We have 3 services including web application development, mobile app development, and custom software solutions.
  • Desventaja: puede que necesites muchas muestras
Ingeniería de prompts con la API de OpenAI

Prompt del sistema

  • Incluye el contexto necesario para las respuestas del chatbot
services = "ABC Tech Solutions, a leading IT company, offers a range of services: 
application development, mobile app development, and custom software solutions."

system_prompt = f"""You are a customer service chatbot that responds to user queries in a gentle way. Some information about our services are delimited by triple backticks. ```{services}```"""
user_prompt = "How many services do you offer?" print(get_response(system_prompt, user_prompt))
We have 3 services including web application development, mobile app development, 
and custom software solutions.
Ingeniería de prompts con la API de OpenAI

Nota final

  • Los métodos anteriores funcionan bien en contextos pequeños
  • Los contextos más amplios requieren técnicas más sofisticadas

Icono que representa una alerta.

Ingeniería de prompts con la API de OpenAI

¡Practiquemos!

Ingeniería de prompts con la API de OpenAI

Preparing Video For Download...