Conception de Schema
Concevoir des JSON Schema que l'IA peut extraire de façon fiable
Le Schema que tu passes à /extract est aussi un prompt. Chaque nom de champ, description et indication de type est lu par le modèle. Un Schema bien formé améliore drastiquement la précision.
Nommage des champs
Utilise des noms qui se lisent comme de l'anglais. Le modèle est bien meilleur avec productName qu'avec pn ou name1.
{ "type": "object", "properties": {
"productName": { "type": "string" },
"currentPrice": { "type": "number" }
} }Descriptions des champs
Ajoute une description à tout ce qui est ambigu. "price" peut être le MSRP, le prix actuel ou le prix unitaire — sois explicite :
{ "currentPrice": {
"type": "number",
"description": "Final price after discount, in USD"
} }Requis vs optionnel
Marque uniquement les champs dont tu as vraiment besoin. Les champs requis font échouer toute l'extraction si le modèle ne les trouve pas — utilise-les avec parcimonie.
Imbrication
Préfère un seul niveau d'imbrication quand c'est utile (address.city). Une imbrication plus profonde (3+ niveaux) tend à dégrader la qualité d'extraction.
Pièges courants
- Utiliser des types ambigus (
stringpour des nombres comme"$19.99") — préfèrenumberet laisse le modèle parser - Des enums vagues sans description
- Des champs requis qui ne sont en réalité pas présents sur chaque page
Cette page est en cours d'enrichissement avec un cookbook de Schema — reviens bientôt.