Integrare contesto esterno

Prompt Engineering con l'API di OpenAI

Fouad Trad

Machine Learning Engineer

Perché serve contesto esterno

  • I modelli linguistici pre-addestrati riconoscono le info su cui sono stati addestrati
  • Serve fornire più contesto
  • Maggiore accuratezza ed efficacia

Icona che rappresenta un chatbot su uno smartphone.

Prompt Engineering con l'API di OpenAI

Informazioni mancanti negli LLM

  • Knowledge cut-off
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.
Prompt Engineering con l'API di OpenAI

Informazioni mancanti negli LLM

  • Richiesta di info non pubbliche
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.
Prompt Engineering con l'API di OpenAI

Come fornire info extra?

  • Conversazioni precedenti di esempio
  • Prompt di sistema

Icona con due fumetti per indicare una conversazione.

Prompt Engineering con l'API di OpenAI

Conversazioni di esempio

  • Guida il modello a rispondere a domande specifiche
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.
  • Svantaggio: può servire un numero elevato di esempi
Prompt Engineering con l'API di OpenAI

Prompt di sistema

  • Include il contesto necessario per le risposte 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.
Prompt Engineering con l'API di OpenAI

Nota finale

  • I metodi visti funzionano per contesti piccoli
  • Per contesti più ampi servono tecniche più sofisticate

Icona che rappresenta un avviso.

Prompt Engineering con l'API di OpenAI

Ayo berlatih!

Prompt Engineering con l'API di OpenAI

Preparing Video For Download...