|

Utilisation de la sortie structurée dans LangChain avec JSON Schema

Illustration d'un schéma informatique coloré.

LangChain facilite la génération de sorties structurées à partir de modèles linguistiques, ce qui est crucial pour les applications nécessitant des données formatées de manière prévisible. Pour ce faire, vous pouvez définir un schéma pour la sortie attendue. LangChain prend en charge plusieurs méthodes pour spécifier ce schéma, notamment les schémas Zod et JSON Schema. Si vous utilisez les JSON Schema, LangChain s’appuie sur la spécification Draft-07 pour la validation et la structure [json-schema.org](https://json-schema.org/draft-07).

Il existe deux stratégies principales pour obtenir une sortie structurée avec LangChain:

1. **Stratégie du fournisseur (Provider Strategy)**: Certains fournisseurs de modèles (comme OpenAI, xAI (Grok), Gemini, Anthropic (Claude)) prennent en charge nativement la sortie structurée via leurs API. C’est la méthode la plus fiable lorsque disponible, car le fournisseur du modèle applique le schéma directement, garantissant une validation stricte. LangChain utilise automatiquement cette stratégie si le modèle la prend en charge et que vous fournissez un schéma directement à `createAgent.responseFormat` [js.langchain.com](https://js.langchain.com/docs/concepts/structured_outputs/).

2. **Stratégie d’appel d’outil (Tool Calling Strategy)**: Pour les modèles qui ne prennent pas en charge nativement la sortie structurée, LangChain utilise l’appel d’outil. Cette approche fonctionne avec la plupart des modèles modernes qui prennent en charge les appels d’outils. Si la sortie structurée ne correspond pas au schéma attendu, LangChain gère les erreurs de manière intelligente et propose des mécanismes de nouvelle tentative. Cela inclut la gestion des erreurs liées à de multiples sorties structurées (lorsqu’une seule est attendue) ou aux erreurs de validation du schéma [docs.langchain.com](https://docs.langchain.com/oss/javascript/langchain/structured-output).

Vous pouvez également personnaliser le contenu du message de l’outil et définir des stratégies de gestion des erreurs pour affiner la façon dont votre agent interagit et réagit aux problèmes de formatage de la sortie [docs.langchain.com](https://docs.langchain.com/oss/javascript/langchain/structured-output).

A lire aussi  Ce nouveau robot à roues impressionne avec ses backflips dignes d’un athlète

Vous aimerez aussi

7 commentaires

  1. La stratégie du fournisseur me paraît vraiment plus fiable, surtout avec OpenAI. Par contre, je me demande si la gestion des erreurs en Tool Calling est vraiment fluide en pratique.

  2. Le coup de la stratégie fournisseur qui garantit la validation stricte, c’est top ! J’avais jamais saisi que c’était intégré direct dans l’API comme ça.

  3. J’avais jamais capté que LangChain utilisait Draft-07 pour JSON Schema, c’est cool ça pour la validation rigoureuse.

  4. J’avais pas capté que LangChain pouvait gérer les erreurs de format auto avec le tool calling, trop pratique pour éviter les bugs qui traînent

  5. La gestion automatique des erreurs quand la sortie ne colle pas au schéma me paraît vraiment pratique, j’imagine que ça évite pas mal de bugs chelous en prod

Répondre à Eloi98 Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *