Intégration du contexte externe

Ingénierie des prompts avec l'API OpenAI

Fouad Trad

Machine Learning Engineer

La nécessité d'un contexte externe

Les modèles linguistiques pré-entraînés identifient les informations sur lesquelles ils ont été formés

Icône représentant un chatbot sur un téléphone mobile.

Ingénierie des prompts avec l'API OpenAI

Manque d'informations dans les LLM

Limite de connaissances

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.
Ingénierie des prompts avec l'API OpenAI

Manque d'informations dans les LLM

Informations non publiques demandées

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.
Ingénierie des prompts avec l'API OpenAI

Comment fournir des informations supplémentaires ?

Exemples de conversations précédentes

Icône représentant deux boîtes de dialogue pour refléter un aspect conversationnel.

Ingénierie des prompts avec l'API OpenAI

Échantillon de conversations

Guider le modèle pour répondre à des questions spécifiques

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.

Inconvénient : peut nécessiter un nombre important d'échantillons

Ingénierie des prompts avec l'API OpenAI

Prompt système

Comprend le contexte nécessaire aux réponses du 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.
Ingénierie des prompts avec l'API OpenAI

Remarque finale

Les méthodes précédentes sont efficaces dans des contextes restreints Les contextes plus vastes nécessitent des techniques plus sophistiquées

Icône représentant une alerte.

Ingénierie des prompts avec l'API OpenAI

Passons à la pratique !

Ingénierie des prompts avec l'API OpenAI

Preparing Video For Download...