{
  "schema_version": 2,
  "slug": "modeles-ia",
  "label": "Modèles de langage",
  "category": "ia",
  "description": "Le modèle lui-même, pas le produit qui l’emballe. Prix au million de jetons, contexte, latence — et les scores de benchmark rangés au rayon contexte.",
  "criteria": [
    {
      "key": "prix_entree",
      "label": "Prix en entrée",
      "type": "number",
      "unit": "USD/Mtok",
      "better": "lower",
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "description": "Par million de jetons envoyés",
      "group": "Prix"
    },
    {
      "key": "prix_sortie",
      "label": "Prix en sortie",
      "type": "number",
      "unit": "USD/Mtok",
      "better": "lower",
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "description": "Par million de jetons produits — souvent le poste dominant",
      "group": "Prix"
    },
    {
      "key": "remise_cache",
      "label": "Remise sur cache",
      "type": "number",
      "unit": "%",
      "better": "higher",
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "description": "Économie sur les jetons d’entrée déjà vus",
      "group": "Prix"
    },
    {
      "key": "tarifs_constates_le",
      "label": "Tarifs constatés le",
      "type": "date",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Prix"
    },
    {
      "key": "qualite_raisonnement",
      "label": "Raisonnement",
      "type": "enum",
      "values": [
        "faible",
        "correct",
        "bon",
        "excellent"
      ],
      "order": [
        "faible",
        "correct",
        "bon",
        "excellent"
      ],
      "weight": 4,
      "facet": true,
      "role": "decisive",
      "description": "Sur vos propres cas, pas sur un classement public",
      "group": "Qualité"
    },
    {
      "key": "qualite_code",
      "label": "Code",
      "type": "enum",
      "values": [
        "faible",
        "correct",
        "bon",
        "excellent"
      ],
      "order": [
        "faible",
        "correct",
        "bon",
        "excellent"
      ],
      "weight": 4,
      "facet": true,
      "role": "decisive",
      "group": "Qualité"
    },
    {
      "key": "suivi_instructions",
      "label": "Suivi des instructions",
      "type": "enum",
      "values": [
        "approximatif",
        "correct",
        "bon",
        "excellent"
      ],
      "order": [
        "approximatif",
        "correct",
        "bon",
        "excellent"
      ],
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "description": "Ce qui casse le plus souvent une chaîne automatisée",
      "group": "Qualité"
    },
    {
      "key": "tendance_hallucination",
      "label": "Tendance à inventer",
      "type": "enum",
      "values": [
        "forte",
        "moyenne",
        "faible",
        "très faible"
      ],
      "order": [
        "forte",
        "moyenne",
        "faible",
        "très faible"
      ],
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "group": "Qualité"
    },
    {
      "key": "contexte",
      "label": "Fenêtre de contexte",
      "type": "number",
      "unit": "k tokens",
      "better": "higher",
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "group": "Capacités"
    },
    {
      "key": "sortie_max",
      "label": "Sortie maximale",
      "type": "number",
      "unit": "k tokens",
      "better": "higher",
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "group": "Capacités"
    },
    {
      "key": "appel_outils",
      "label": "Appel d’outils",
      "type": "bool",
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "description": "Indispensable dès qu’il y a un agent derrière",
      "group": "Capacités"
    },
    {
      "key": "sortie_structuree",
      "label": "Sortie structurée garantie",
      "type": "bool",
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "description": "JSON conforme à un schéma, sans post-traitement",
      "group": "Capacités"
    },
    {
      "key": "vision",
      "label": "Entrée image",
      "type": "bool",
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "group": "Capacités"
    },
    {
      "key": "raisonnement_etendu",
      "label": "Raisonnement étendu",
      "type": "bool",
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "description": "Mode « réflexion » facturé, et débrayable",
      "group": "Capacités"
    },
    {
      "key": "latence_premier_token",
      "label": "Latence du premier jeton",
      "type": "number",
      "unit": "ms",
      "better": "lower",
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "group": "Vitesse"
    },
    {
      "key": "debit",
      "label": "Débit",
      "type": "number",
      "unit": "tok/s",
      "better": "higher",
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "group": "Vitesse"
    },
    {
      "key": "editeur",
      "label": "Éditeur",
      "type": "enum",
      "values": [],
      "order": null,
      "weight": 0,
      "facet": true,
      "role": "informative",
      "group": "Contexte"
    },
    {
      "key": "famille",
      "label": "Famille",
      "type": "enum",
      "values": [],
      "order": null,
      "weight": 0,
      "facet": true,
      "role": "informative",
      "group": "Contexte"
    },
    {
      "key": "poids_ouverts",
      "label": "Poids ouverts",
      "type": "bool",
      "weight": 0,
      "facet": true,
      "role": "informative",
      "description": "Auto-hébergeable — un fait, pas une qualité en soi",
      "group": "Contexte"
    },
    {
      "key": "date_de_connaissances",
      "label": "Connaissances arrêtées le",
      "type": "date",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Contexte"
    },
    {
      "key": "score_benchmark",
      "label": "Score de benchmark",
      "type": "number",
      "unit": "pts",
      "better": null,
      "weight": 0,
      "facet": true,
      "role": "informative",
      "description": "Informatif délibérément : les classements publics mesurent la mode et le sur-apprentissage autant que la qualité",
      "group": "Contexte"
    },
    {
      "key": "points_faibles",
      "label": "Points faibles connus",
      "type": "text",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Contexte"
    },
    {
      "key": "fiche",
      "label": "Documentation du modèle",
      "type": "url",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Contexte"
    },
    {
      "key": "verdict",
      "label": "Verdict",
      "type": "text",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Contexte"
    }
  ]
}
