Donnees structurees avec les outils
Plus tot dans ce cours, nous avons couvert l’extraction de donnees structurees avec le pre-remplissage de messages et les sequences d’arret. Cette approche fonctionne bien et est simple a mettre en place, mais les outils offrent une extraction plus fiable. La methode est plus complexe a implementer, mais fournit une meilleure coherence.
Pourquoi deux approches ?
Les outils necessitent beaucoup plus de configuration et de complexite. Avoir les deux techniques disponibles donne de la flexibilite : parfois l’approche rapide par prompt suffit, d’autres fois la fiabilite des outils est necessaire.
Comment ca marche
Le concept de base : au lieu de demander a Claude de formater sa reponse en JSON, vous creez un outil dont les parametres d’entree correspondent exactement a la structure de donnees que vous voulez extraire. Claude “appelle” cet outil avec les donnees extraites comme arguments.
Le processus :
- Ecrire un schema JSON decrivant la structure de donnees voulue
- Creer un outil avec ce schema comme specification d’entree
- Envoyer vos donnees et le schema a Claude
- Forcer Claude a utiliser l’outil avec le parametre
toolChoice - Extraire les donnees structurees des arguments de l’appel d’outil
Controler l’utilisation de l’outil
# Claude decide (defaut)
{"toolChoice": {"auto": {}}}
# Claude doit utiliser un outil, au choix
{"toolChoice": {"any": {}}}
# Claude doit utiliser cet outil precis
{"toolChoice": {"tool": {"name": "article_details"}}}
Pour l’extraction de donnees structurees, utilisez presque toujours la troisieme option.
Exemple pratique
Extraire le titre, l’auteur et les sujets cles d’un article :
article_details_schema = {
"toolSpec": {
"name": "article_details",
"description": "Extrait les informations cles d'un article",
"inputSchema": {
"json": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Le titre de l'article"
},
"author": {
"type": "string",
"description": "Le nom de l'auteur"
},
"topics": {
"type": "array",
"items": {"type": "string"},
"description": "Liste des sujets cles mentionnes"
}
},
"required": ["title", "author", "topics"]
}
}
}
}
Avantages
- Plus fiable que l’extraction par prompt
- Structure garantie correspondant au schema
- Pas besoin de pre-remplissage ni de sequences d’arret
- Validation integree via le schema de l’outil
Le compromis principal est la complexite. Mais quand vous avez besoin de sorties structurees coherentes et fiables, les outils sont la voie a suivre.