{
  "schema_version": 2,
  "slug": "fournisseurs-ia",
  "label": "Fournisseurs d’inférence",
  "category": "ia",
  "description": "Qui sert le modèle, et à quelles conditions. Le même modèle chez deux fournisseurs n’a ni le même prix, ni la même latence, ni la même politique de rétention.",
  "criteria": [
    {
      "key": "prix_entree",
      "label": "Prix en entrée",
      "type": "number",
      "unit": "USD/Mtok",
      "better": "lower",
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "group": "Prix"
    },
    {
      "key": "prix_sortie",
      "label": "Prix en sortie",
      "type": "number",
      "unit": "USD/Mtok",
      "better": "lower",
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "group": "Prix"
    },
    {
      "key": "facturation",
      "label": "Mode de facturation",
      "type": "enum",
      "values": [
        "à l’usage",
        "crédits prépayés",
        "engagement mensuel",
        "capacité réservée"
      ],
      "order": null,
      "weight": 0,
      "facet": true,
      "role": "informative",
      "group": "Prix"
    },
    {
      "key": "tarifs_constates_le",
      "label": "Tarifs constatés le",
      "type": "date",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Prix"
    },
    {
      "key": "latence_premier_token",
      "label": "Latence du premier jeton",
      "type": "number",
      "unit": "ms",
      "better": "lower",
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "group": "Tenue en production"
    },
    {
      "key": "debit",
      "label": "Débit",
      "type": "number",
      "unit": "tok/s",
      "better": "higher",
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "group": "Tenue en production"
    },
    {
      "key": "fiabilite",
      "label": "Fiabilité constatée",
      "type": "enum",
      "values": [
        "incidents fréquents",
        "incidents occasionnels",
        "stable",
        "très stable"
      ],
      "order": [
        "incidents fréquents",
        "incidents occasionnels",
        "stable",
        "très stable"
      ],
      "weight": 4,
      "facet": true,
      "role": "decisive",
      "description": "Ce qui décide vraiment en production, et qui ne se lit sur aucune page tarifaire",
      "group": "Tenue en production"
    },
    {
      "key": "limite_debit",
      "label": "Limite de débit",
      "type": "number",
      "unit": "req/min",
      "better": "higher",
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "group": "Tenue en production"
    },
    {
      "key": "sla_contractuel",
      "label": "SLA contractuel",
      "type": "bool",
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "group": "Tenue en production"
    },
    {
      "key": "retention",
      "label": "Rétention des requêtes",
      "type": "enum",
      "values": [
        "entraînement par défaut",
        "journalisation prolongée",
        "journalisation courte",
        "zéro rétention"
      ],
      "order": [
        "entraînement par défaut",
        "journalisation prolongée",
        "journalisation courte",
        "zéro rétention"
      ],
      "weight": 4,
      "facet": true,
      "role": "decisive",
      "group": "Données"
    },
    {
      "key": "residence_donnees",
      "label": "Résidence des données",
      "type": "enum",
      "values": [
        "non documentée",
        "région imposée",
        "région au choix"
      ],
      "order": [
        "non documentée",
        "région imposée",
        "région au choix"
      ],
      "weight": 3,
      "facet": true,
      "role": "decisive",
      "group": "Données"
    },
    {
      "key": "region_ue",
      "label": "Région UE disponible",
      "type": "bool",
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "group": "Données"
    },
    {
      "key": "conformite",
      "label": "Conformité",
      "type": "text",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "description": "SOC 2, ISO 27001, HDS, DPA signable…",
      "group": "Données"
    },
    {
      "key": "api_compatible_openai",
      "label": "API compatible OpenAI",
      "type": "bool",
      "weight": 2,
      "facet": true,
      "role": "decisive",
      "description": "Décide du coût de sortie : changer de fournisseur devient une variable d’environnement",
      "group": "Intégration"
    },
    {
      "key": "nb_modeles",
      "label": "Modèles au catalogue",
      "type": "number",
      "unit": null,
      "better": "higher",
      "weight": 1,
      "facet": true,
      "role": "decisive",
      "group": "Intégration"
    },
    {
      "key": "sdk_officiels",
      "label": "SDK officiels",
      "type": "bool",
      "weight": 1,
      "facet": true,
      "role": "decisive",
      "group": "Intégration"
    },
    {
      "key": "lots_asynchrones",
      "label": "Traitement par lots",
      "type": "bool",
      "weight": 1,
      "facet": true,
      "role": "decisive",
      "description": "Souvent moitié prix, pour tout ce qui n’est pas interactif",
      "group": "Intégration"
    },
    {
      "key": "modeles_phares",
      "label": "Modèles phares",
      "type": "text",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Contexte"
    },
    {
      "key": "regions",
      "label": "Régions disponibles",
      "type": "text",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Contexte"
    },
    {
      "key": "type",
      "label": "Type",
      "type": "enum",
      "values": [
        "éditeur du modèle",
        "nuage généraliste",
        "spécialiste inférence",
        "agrégateur"
      ],
      "order": null,
      "weight": 0,
      "facet": true,
      "role": "informative",
      "group": "Contexte"
    },
    {
      "key": "fiche",
      "label": "Fiche officielle",
      "type": "url",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Contexte"
    },
    {
      "key": "visuel",
      "label": "Visuel",
      "type": "image",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Contexte"
    },
    {
      "key": "verdict",
      "label": "Verdict",
      "type": "text",
      "weight": 0,
      "facet": false,
      "role": "informative",
      "group": "Contexte",
      "description": "Synthèse en une phrase, indexée par la recherche plein texte"
    }
  ]
}
