Créer une session
Quand réutiliser une session
Réutilisez la même session si :- vous êtes dans une conversation multi-tours
- la tâche reste la même
- le contexte précédent est encore utile
Quand créer une nouvelle session
Créez une nouvelle session si :- vous changez de tâche
- vous changez de rôle ou d’instructions
- le contexte précédent n’aide plus
- la conversation est devenue trop longue
Un bon pattern avec un view model
transcript
La session maintient un transcript. Il peut être utile pour :
- inspecter la conversation
- debugger le comportement
- comprendre pourquoi une réponse a été influencée par le contexte précédent
init(model:tools:transcript:) pour réhydrater une session à partir d’un historique existant.
isResponding
La propriété isResponding est la façon la plus simple de protéger votre UI contre les doubles envois :
prewarm
Le prewarming sert à réduire le coût du premier appel quand vous savez qu’une fonctionnalité IA va être utilisée.
prewarm(promptPrefix:) pour un cas plus précis : charger les ressources de la session tout en mettant en cache un début de prompt commun.
Vous pouvez l’utiliser :
- quand une vue IA va s’ouvrir
- quand l’utilisateur se prépare à interagir
- quand la feature fait partie du parcours principal
Le piège le plus courant
Le mauvais réflexe consiste à partager une seule session dans toute l’app. Cela crée vite :- un contexte pollué
- des responsabilités floues
- des collisions entre features
- une session par conversation
- ou une session par feature clairement identifiée