Assistants IA Personnalisés en pratique : le code et les commandes qui comptent vraiment

Assistants IA Personnalisés : l'essentiel en un article — vrai code, schémas et étapes concrètes, extraits d'un cours de 44 leçons.

Assistants IA Personnalisés en pratique : le code et les commandes qui comptent vraiment

Pas de théorie interminable ici : on ouvre le terminal et on pratique. Voici l'essentiel de Assistants IA Personnalisés, extrait directement d'un cours complet de 44 leçons — avec du vrai code que tu peux copier-coller maintenant.

tl;dr
  • Introduction et Mise en Route
  • Concevoir un Assistant Efficace
  • Creer des GPTs Personnalises
  • Claude Projects et Gemini Gems
  • Actions et Outils Externes
~$ cat ./parcours.md # Assistants IA Personnalisés — 10 chapitres
01
Introduction et Mise en Route
→ Présentation du cours et panorama 2026→ Comparer GPTs / Projects / Gems / Copilot Studio+ 1 autres leçons
02
Concevoir un Assistant Efficace
→ Définir le problème et la persona cible→ Périmètre : ce que l'assistant fait et NE fait pas+ 2 autres leçons
03
Créer des GPTs Personnalisés
→ GPT Builder : interface conversationnelle vs configure→ Instructions, starters et logo professionnel+ 2 autres leçons
04
Claude Projects et Gemini Gems
→ Claude Projects : custom instructions et knowledge→ Tirer parti de la grande context window de Claude+ 2 autres leçons
05
Actions et Outils Externes
→ Actions GPT : schéma OpenAPI 3.1→ Authentification : API key, OAuth+ 2 autres leçons
06
Copilot Studio Microsoft
→ Copilot Studio : interface et concepts→ Topics et flows conversationnels+ 2 autres leçons
07
Assistants API OpenAI
→ Assistants API : architecture et concepts→ Threads, messages et runs+ 2 autres leçons
08
Sécurité et Confidentialité
→ Prompts défensifs et anti-jailbreak→ Protéger ses instructions confidentielles+ 1 autres leçons
🏁
Projet final (+ 2 chapitres en chemin)
→ Tu repars avec un projet concret et démontrable

Threads, messages et runs

NOTEObjectif — Manipuler concrètement les Threads, Messages et Runs en Python : créer une conversation, ajouter un message, lancer un Run, récupérer la réponse. Comprendre le polling et le streaming.

Objectifs pédagogiques

TIPÀ l'issue de ce module
  • Créer et gérer un Thread de conversation
  • Ajouter des messages utilisateur dans un Thread
  • Lancer un Run et gérer son cycle de vie
  • Choisir entre polling et streaming
  • Récupérer et afficher la réponse de l'assistant

Threads : qu'est-ce que c'est concrètement ?

Un Thread est un conteneur persistant qui stocke l'historique d'une conversation entre un utilisateur et un assistant. C'est OpenAI qui le persiste sur ses serveurs. Vous ne gérez que l'ID.

Bonne pratique : un Thread par session utilisateur. Par exemple, dans votre app, vous créez un Thread quand l'utilisateur commence à converser. Vous stockez le thread_id dans votre base.

StatutSignification
queuedEn file d'attente, va démarrer
in_progressL'assistant génère la réponse
requires_actionFunction call : votre code doit répondre
completedTerminé avec succès
failedÉchec, voir last_error
cancelledAnnulé manuellement
expiredTimeout (10 minutes)

Polling : attendre la fin du Run

Le pattern classique consiste à vérifier régulièrement le statut jusqu'à la complétion :

Exemple complet : conversation simple

Un Assistant global

Créez l'Assistant une seule fois et stockez son ID en config.

Un Thread par session

Créez un Thread à la connexion de l'utilisateur, stockez l'ID en BDD.

Retrouver le Thread

À chaque nouveau message, reprenez l'ID stocké pour conserver l'historique.

Limites et quotas

AspectLimite
Run timeout10 minutes
Messages par ThreadPas de limite stricte, mais à surveiller
Threads par comptePas de limite stricte
Concurrence RunsSelon tier (10-1000 simultanés)
Storage Threads30 jours par défaut, purge automatique après

File search et code interpreter

NOTEObjectif — Activer et configurer les deux tools natifs les plus puissants de l'Assistants API : File Search pour le RAG natif, Code Interpreter pour exécuter du Python en sandbox.

Objectifs pédagogiques

TIPÀ l'issue de ce module
  • Créer un Vector Store et y uploader des fichiers
  • Attacher un Vector Store à un Assistant pour le RAG
  • Activer Code Interpreter et tester du calcul Python
  • Récupérer les fichiers générés par Code Interpreter
  • Combiner les deux tools dans un même Assistant

File Search : le RAG natif d'OpenAI

File Search est le tool de RAG natif de l'Assistants API. Vous lui donnez des fichiers, il les indexe automatiquement (chunking, embedding, vector store) et permet à l'Assistant de chercher des passages pertinents.

Différence avec un RAG custom : avec File Search, vous n'avez ni à choisir un chunker, ni à choisir un embedding model, ni à gérer un vector DB. OpenAI fait tout.

Les Vector Stores

Un Vector Store est un conteneur de fichiers indexés, réutilisable entre plusieurs Assistants. Vous le créez une fois, vous y ajoutez vos documents, puis vous l'attachez aux Assistants qui en ont besoin.

TIPRésultat : les réponses sont enrichies par votre documentation, avec des citations automatiques dans les annotations du message.

Récupérer les citations

Activer Code Interpreter

Uploader un fichier pour Code Interpreter

Function calling et tools personnalisés

NOTEObjectif — Permettre à un Assistant d'appeler vos propres fonctions Python (function calling) pour exécuter de la logique métier, lire des bases internes ou orchestrer des actions complexes au-delà des tools natifs.

Objectifs pédagogiques

TIPÀ l'issue de ce module
  • Définir une fonction custom au format JSON Schema
  • L'attacher à un Assistant comme tool
  • Gérer le statut requires_action et soumettre une réponse
  • Définir plusieurs fonctions et les laisser l'Assistant choisir
  • Construire un mini-agent qui combine plusieurs tools

Pourquoi du function calling ?

File Search et Code Interpreter sont puissants mais limités : ils accèdent uniquement aux fichiers et à Python local. Pour TOUT le reste (votre BDD interne, vos APIs custom, des actions métier spécifiques), il faut le function calling.

Principe : vous décrivez vos fonctions Python au modèle. Quand il veut les appeler, il retourne le nom de la fonction et les arguments. Vous exécutez la fonction de votre côté et soumettez le résultat.

Définir une fonction au format JSON Schema

Vous décrivez chaque fonction avec un nom, une description, et un schema des paramètres :

Gérer le statut requires_action

Quand l'Assistant décide d'appeler votre fonction, le Run passe au statut requires_action. Vous devez :

Parallélisation des tool_calls

Si l'Assistant demande plusieurs fonctions en même temps (par exemple "donne-moi la météo à Paris ET à Lyon"), vous pouvez les exécuter en parallèle pour gagner en perf :

Mini-agent : combiner tools natifs et fonctions

L'apothéose : un Assistant qui combine file_search, code_interpreter ET vos fonctions custom. Devient un véritable agent.

va-plus-loin

Cet article couvre les extraits les plus utiles — le cours complet Assistants IA Personnalisés (11 chapitres, 44 leçons, exercices corrigés et projet final) t'emmène jusqu'au bout.

./acceder-au-cours-complet cours gratuit : Ingénierie de prompts

FAQ

Combien de temps pour apprendre Assistants IA Personnalisés ?
Avec une progression structurée (11 chapitres, 44 leçons courtes et pratiques), on atteint un niveau opérationnel en quelques semaines à raison de 30 à 60 minutes par jour. L'important est de pratiquer chaque notion immédiatement.
Faut-il des prérequis ?
Des bases en informatique suffisent. Si tu sais utiliser un terminal et lire du code simple, tu es prêt.
Par où commencer concrètement ?
Reproduis les commandes de cet article, puis suis le cours complet Assistants IA Personnalisés : il enchaîne les 44 leçons dans l'ordre, avec exercices et projet final.

📬 Tu veux recevoir ce type de guide chaque semaine ? Abonne-toi gratuitement — code réel, zéro blabla.