Les SDK Anthropic fournissent un hook de « middleware » (intergiciel, ou intercepteur) qui vous permet d'exécuter du code avant l'envoi d'une requête et après la réception de la réponse. Utilisez le middleware pour des préoccupations transversales telles que la journalisation, les nouvelles tentatives personnalisées, l'annotation des requêtes et la gestion des solutions de repli en cas de refus.
Chaque middleware peut inspecter ou remplacer la requête avant d'appeler next(), et la réponse après le retour de next().
Chaque middleware est une fonction qui reçoit la requête sortante et un appelable next. Appelez next pour transmettre la requête au reste de la chaîne (ou directement au cœur du SDK s'il s'agit du dernier middleware), et retournez sa réponse. Tout ce qui précède l'appel à next s'exécute à l'aller ; tout ce qui suit s'exécute au retour.
Lorsque vous enregistrez plusieurs middlewares, ils s'appliquent dans l'ordre indiqué : le code « avant » du premier middleware s'exécute en premier, et son code « après » s'exécute en dernier. Le middleware enregistré sur le client s'exécute avant le middleware passé en tant qu'option par requête.
Dans le SDK Go, les appels répétés à option.WithMiddleware se concatènent (client d'abord, puis méthode). Dans les autres SDK, passez un tableau ; les entrées ultérieures encapsulent les entrées intérieures.
Chaque SDK accepte également un client HTTP personnalisé (pour la configuration de proxy, le TLS personnalisé ou le regroupement de connexions). Un seul client HTTP est utilisé par client SDK ; le définir remplace celui par défaut. Le client HTTP personnalisé reçoit les requêtes après l'exécution de tous les middlewares.
Les SDK incluent un middleware de repli en cas de refus qui relance automatiquement sur un modèle de repli les requêtes que Claude Fable 5 refuse. Consultez Détecter et réessayer sur un modèle de repli pour la configuration et des exemples par langage.
Was this page helpful?