Souplesse d’entrée et multimodalité

Travailler avec l’API OpenAI Responses

James Chapman

AI Curriculum Manager, DataCamp

Souplesse d’entrée

Prompts sous forme de chaîne

response = client.responses.create(
    model="gpt-5-mini"
    input="Quel âge a la Terre ?",
    instructions="Répondez brièvement."
)
  • input → entrées utilisateur
  • instructions → comportement + exigences

Prompts basés sur les rôles

response = client.responses.create(
    model="gpt-5-mini"
    input=[
        {"role": "system",
         "content": "Répondez brièvement."},
        {"role": "user",
         "content": "Quel âge a la Terre ?"}
    ]
)
Travailler avec l’API OpenAI Responses

Messages basés sur les rôles

response = client.responses.create(
    model="gpt-5-mini"
    input=[
        {"role": "system", "content": "Répondez brièvement."},

{"role": "user", "content": "Quel âge a le Soleil ?"},
{"role": "assistant", "content": "4,603 milliards d’années"},
{"role": "user", "content": "Quel âge a la Terre ?"}
] )
Travailler avec l’API OpenAI Responses
sys_prompt = "Vous êtes un enseignant utile qui fournit des explications concises et personnalisées."
latest_response_id = None 

while True:
    user_input = input("You: ").strip()
    if user_input.lower() == "exit":
        break

    response = client.responses.create(
        model="gpt-5-mini",
        instructions=sys_prompt,
        input=user_input,
        previous_response_id=latest_response_id
    )

    print(f"\nAssistant: {response.output_text}\n")
    latest_response_id = response.id
Travailler avec l’API OpenAI Responses
messages = [{"role": "system"},
            {"content": "Vous êtes un enseignant utile qui fournit des explications concises et personnalisées."}]


while True: user_input = input("You: ").strip() if user_input.lower() == "exit": break messages.append({"role": "user", "content": user_input})
response = client.responses.create( model="gpt-5-mini", input=messages )
print(f"\nAssistant: {response.output_text}\n") messages.append({"role": "assistant", "content": response.output_text})
Travailler avec l’API OpenAI Responses

Des images dans les prompts !

  • Multimodal : interaction via plusieurs modalités de contenu

aapl_yahoo_finance.jpg

1 Graphique Apple, Inc. depuis yahoo!finance
Travailler avec l’API OpenAI Responses

URL d’images dans les prompts

response = client.responses.create(
    model="gpt-5-mini",
    input=[

{"role": "user", "content": [ {"type": "input_text", "text": "Interprétez brièvement ce graphique boursier."}, {"type": "input_image", "image_url": "https://...stock_performance.jpg"}]}
] )
print(response.output_text)
Travailler avec l’API OpenAI Responses

URL d’images dans les prompts

- Résumé : légère baisse — clôture à
277,18, soit -0,26 % env. vs la veille ;
après bourse en léger repli à 276,94.

aapl_yahoo_finance.jpg

1 Graphique Apple, Inc. depuis yahoo!finance
Travailler avec l’API OpenAI Responses

Images depuis des fichiers locaux

import base64
# Encoder des données binaires en texte ASCII
with open(image_path, "rb") as f:
    image_base64 = base64.b64encode(f.read()).decode("utf-8")
response = client.responses.create(
    model="gpt-5-mini",
    input=[
        {"role": "user", "content": [
          {"type": "input_text", "text": "Interprétez brièvement ce graphique boursier."},

{"type": "input_image", "image_url": f"data:image/jpeg;base64,{image_base64}"}]}
] )
Travailler avec l’API OpenAI Responses

Passons à la pratique !

Travailler avec l’API OpenAI Responses

Preparing Video For Download...