Carbon-LLMDémos · Connecteurs providers
Accueil

Connecteurs auto OpenAI + Anthropic — un aperçu du flow

Plus besoin d'instrumenter chaque appel LLM dans votre code. Branchez votre clé Admin read-only — 1 minute — et le pull quotidien des tokens consommés se fait tout seul. Aucun prompt collecté, jamais.

Réponse OpenAI Admin Usage API — un bucket réel
Aggregated par jour × modèle × api_key_id. Notre connecteur pagine automatiquement (cap 60 pages/sync) et gère le rate-limit OpenAI ~60 req/min.
anonymisé
# GET https://api.openai.com/v1/organization/usage/completions
#   ?start_time=1714521600&end_time=1717113600
#   &bucket_width=1d&group_by=model,api_key_id

{
  "object": "page",
  "data": [
    {
      "start_time": 1714521600,
      "end_time": 1714608000,
      "results": [
        {
          "object": "organization.usage.completions.result",
          "input_tokens": 1_240_580,
          "output_tokens": 320_140,
          "num_model_requests": 1842,
          "model": "gpt-4o-2024-11-20",
          "api_key_id": "key_8a2f...c1d0"
        },
        {
          "object": "organization.usage.completions.result",
          "input_tokens": 580_220,
          "output_tokens": 145_680,
          "num_model_requests": 612,
          "model": "gpt-5-mini",
          "api_key_id": "key_3e9b...f7a4"
        }
      ]
    }
  ],
  "has_more": false
}
Sortie de la sync côté carbon-llm
14 événements créés dans usage_events, upsert idempotent par event_id stable, carbone calculé avec coefficients à jour Stanford AI Index 2026.
# Sync run row inserted in connector_sync_runs
{
  "id": 4827,
  "isv_id": "isv_12345678",
  "credential_id": "cred_a1b2c3d4",
  "provider": "openai",
  "period_start": "2026-04-30T00:00:00.000Z",
  "period_end": "2026-05-01T00:00:00.000Z",
  "events_pulled": 14,
  "status": "success",
  "duration_ms": 412
}

# 14 rows upserted in usage_events (1 per (model × api_key_id × day))
# event_id format : openai:cred_a1b2c3d4:2026-04-30:gpt-4o-2024-11-20:key_8a2f...c1d0
# → idempotent, re-running the sync on same period adds 0 duplicates
# → coefficients applied locally via /lib/coefficients-cache (Stanford AI Index 2026)
# → carbon snapshot ready in dashboard within seconds

Le flow d'activation — 4 étapes, < 5 minutes

  1. 1

    Créer une clé Admin read-only chez le provider

    OpenAI : platform.openai.com → Settings → Admin keys (format sk-admin-…). Anthropic : console.anthropic.com → Settings → Admin keys (format sk-ant-admin-…). 1 minute.

  2. 2

    Coller la clé dans /dashboard/connectors

    Chiffrement AES-256-GCM côté serveur avec une master key séparée (CONNECTOR_MASTER_KEY env). La clé n'est jamais retournée au navigateur. Suppression instantanée à tout moment.

  3. 3

    Cliquer Sync — événements importés en quelques secondes

    Pull groupé par (jour × modèle × api_key_id), upsert idempotent dans usage_events. Re-sync sur la même fenêtre = pas de doublons. Le carbone est calculé localement avec les coefficients à jour AI Index 2026.

  4. 4

    Cron quotidien (T3 2026)

    À venir : worker Cloudflare qui itère les credentials actifs et appelle /sync. En attendant, le sync manuel suffit pour la plupart des agences.

Providers supportés (et la roadmap)

ProviderEndpoint utiliséStatut
OpenAI Admin API/v1/organization/usage/completionsDisponible aujourd'hui
Anthropic Admin API/v1/organizations/usage_report/messagesDisponible aujourd'hui
Mistral ConsoleExport CSV manuel pour le momentConnecteur à venir T3 2026
Azure OpenAI ServiceCost Management API + Azure MonitorConnecteur à venir T3 2026
Google Vertex AICloud Billing export BigQueryConnecteur à venir T4 2026

Périmètre de mesure honnête (M365 Copilot Office desktop reste modélisé, pas mesurable directement) : /methodology#scope

Pull auto OpenAI + Anthropic, sans toucher à votre code

Inclus dans Pro 49 €/mois. Essai 14 jours gratuits. Vous êtes opérationnel en moins de 5 minutes, sans déploiement.