Aller au contenu
OmniRoute source

Free Provider Rankings (Arena ELO) (Français)

OmniRoute enregistre 329 fournisseurs, dont 155 entrées du catalogue marquées comme gratuites/sans authentification (sans authentification, OAuth avec offre gratuite ou clé API avec offre gratuite — consultez le Guide des offres gratuites et le répertoire complet des offres gratuites). Le problème : la qualité des modèles varie énormément entre les fournisseurs gratuits. Un fournisseur sans authentification proposant un modèle de pointe est bien plus utile qu’un fournisseur proposant un petit modèle obsolète.

Le Classement des fournisseurs gratuits répond à la question « quel fournisseur gratuit me donne accès au meilleur modèle ? » en associant le catalogue de chaque fournisseur gratuit à des scores de qualité participatifs provenant du classement Arena AI (ELO basé sur les préférences humaines, selon le même principe que l’arène de chatbots LMArena). Les fournisseurs sont ensuite classés selon les performances de leur meilleur modèle gratuit.

Le classement est calculé à partir de trois sources réelles :

  1. Les listes de fournisseurs gratuits — NOAUTH_PROVIDERS, ainsi que les entrées OAUTH_PROVIDERS / APIKEY_PROVIDERS marquées hasFree (src/shared/constants/providers.ts).
  2. Le catalogue de modèles de chaque fournisseur, provenant du registre des fournisseurs (open-sse/config/providerRegistry.ts).
  3. Les scores d’adéquation aux tâches dérivés de l’ELO, stockés dans la table de base de données model_intelligence par le moteur de synchronisation ELO d’Arena (src/lib/arenaEloSync.ts).

La logique de jointure se trouve dans src/lib/freeProviderRankings.ts.


Ouvrez le tableau de bord et accédez à Coûts → Classement des fournisseurs gratuits, ou rendez-vous directement à l’adresse suivante :

/dashboard/free-provider-rankings

La page (src/app/(dashboard)/dashboard/free-provider-rankings/page.tsx) affiche :

  • Un podium des trois premiers (🥇 🥈 🥉) fournisseurs gratuits les mieux classés.
  • Un tableau de classement complet avec les colonnes : Rang, Fournisseur, Meilleur modèle, Score, Score moyen, Modèles, Type.
  • Des boutons de filtrage par catégorie : Toutes les catégories, Par défaut, Codage, Révision, Documentation, Débogage.

Le badge Type de chaque fournisseur indique de quelle manière son offre est gratuite :

Badge Signification
NOAUTH Toujours gratuit, aucun identifiant requis
OAUTH Fournisseur OAuth disposant d’une offre gratuite (hasFree)
APIKEY Fournisseur par clé API disposant d’une offre gratuite (hasFree)

Les scores sont affichés sous forme de libellés lisibles (par exemple Élite, Excellent, Très bon, Bon, Moyen) plutôt que sous forme de nombres bruts, car la valeur sous-jacente représente une qualité relative de classement, et non un pourcentage.

La page s’appuie sur un point de terminaison public en lecture seule (src/app/api/free-provider-rankings/route.ts) :

GET /api/free-provider-rankings
GET /api/free-provider-rankings?category=coding
GET /api/free-provider-rankings?category=coding&limit=20

Paramètres de requête (validés avec Zod) :

Paramètre Type Valeur par défaut Remarques
category string (aucune) Une valeur parmi default, coding, review, documentation, debugging. À omettre pour le classement combiné.
limit number 50 Limité à la plage 1–100.

Structure de la réponse :

{
"rankings": [
{
"id": "<provider-id>",
"name": "<provider name>",
"icon": "<icon>",
"color": "<hex color>",
"textIcon": "<short label>",
"category": "noauth | oauth | apikey",
"topModel": {
"modelId": "<registry model id>",
"modelName": "<model display name>",
"score": 0.0,
"eloRaw": 0,
"confidence": "high | medium | low",
"category": "&lt;task category&gt;"
},
"averageScore": 0.0,
"modelCount": 0
}
]
}

eloRaw correspond à la valeur ELO Arena d’origine ; score est la valeur normalisée d’adéquation à la tâche (voir ci-dessous). Les fournisseurs ne disposant d’aucun modèle évalué sont exclus de la réponse.


Le moteur de synchronisation ELO d’Arena (src/lib/arenaEloSync.ts) récupère deux classements — text et code — depuis l’API du classement Arena AI (https://api.wulong.dev/arena-ai-leaderboards/v1/leaderboard). Chaque entrée du classement comprend un nom de modèle, un fournisseur, un score ELO, un intervalle de confiance et un nombre de votes.

Les catégories du classement correspondent aux catégories de tâches OmniRoute :

Classement Arena Catégories de tâches OmniRoute
text default, review, documentation, debugging
code coding

Normalisation (score d’adéquation à la tâche)

Section intitulée « Normalisation (score d’adéquation à la tâche) »

Les scores ELO bruts sont normalisés par classement en une valeur d’adéquation à la tâche comprise dans [0.4, 0.98] :

taskFit = 0.4 + 0.58 * ((elo - minElo) / (maxElo - minElo))

Le score n’atteint jamais 0 ni 1, ce qui laisse une marge pour les remplacements définis par l’utilisateur. Il s’agit du champ score visible dans la réponse de l’API et du libellé affiché dans le tableau de bord.

Chaque entrée reçoit un niveau de confiance basé sur le nombre de votes Arena :

Confiance Votes
high ≥ 5 000
medium ≥ 1 000
low < 1 000

Les entrées normalisées sont écrites dans la table de base de données model_intelligence avec source = "arena_elo" (src/lib/db/modelIntelligence.ts). Les entrées expirent après 7 jours. Ainsi, un fournisseur qui cesse de se synchroniser finit par disparaître au lieu de fournir des données obsolètes.

La synchronisation est activée par défaut :

  • Elle s’exécute une fois au démarrage du serveur, puis selon une minuterie périodique (src/lib/arenaEloSync.ts, configurée depuis src/instrumentation-node.ts).
  • Elle est non bloquante et jamais fatale : si la récupération en amont échoue, OmniRoute continue de fonctionner et les classements affichent simplement les dernières données valides (ou un état vide).

Deux variables d’environnement permettent de la contrôler (documentées dans docs/reference/ENVIRONMENT.md) :

Variable Valeur par défaut Fonction
ARENA_ELO_SYNC_ENABLED true Définissez-la sur false pour désactiver la synchronisation sortante.
ARENA_ELO_SYNC_INTERVAL 86400 (24 h) Intervalle de synchronisation, en secondes.

Pour les opérateurs, un point de terminaison de gestion authentifié permet un contrôle manuel (src/app/api/intelligence/sync/route.ts — nécessite une authentification de gestion) :

GET /api/intelligence/sync # état actuel de la synchronisation (enabled, lastSync, nextSync, intervalMs)
POST /api/intelligence/sync # déclencher une synchronisation manuelle ; corps : { "dryRun": true } pour prévisualiser sans écrire
DELETE /api/intelligence/sync # effacer toutes les entrées de renseignements arena_elo synchronisées

Si la page des classements est vide, une requête manuelle POST /api/intelligence/sync (ou simplement un redémarrage du serveur) la remplit à nouveau.

Les identifiants de modèles du registre et les noms de modèles Arena ne correspondent pas toujours exactement. Le classement utilise une correspondance flexible (findMatchingIntelligence dans src/lib/freeProviderRankings.ts) :

  1. Correspondance exacte avec l’identifiant normalisé du modèle.
  2. Correspondance après suppression d’un suffixe de version final (par exemple, kimi-k2.6 → kimi-k2).
  3. Correspondance par préfixe (un nom de modèle du classement est un préfixe de l’identifiant du registre).

Côté synchronisation, les préfixes de fournisseurs connus (anthropic/, openai/, google/, …) sont supprimés et une petite table d’alias développe les noms canoniques en variantes utilisées par OmniRoute en interne, afin que les modèles restent accessibles sous n’importe quel nom.

Pour chaque fournisseur gratuit, le moteur évalue tous les modèles de son catalogue, puis :

  • Meilleur modèle = le modèle du fournisseur ayant obtenu le score le plus élevé.
  • Score moyen = la moyenne des scores de tous les modèles évalués de ce fournisseur.
  • Modèles = le nombre de modèles du fournisseur disposant d’un score Arena.

Les fournisseurs sont d’abord triés par score du meilleur modèle, puis par score moyen. Cela favorise un fournisseur qui propose au moins un modèle gratuit performant.


Utiliser ces données pour choisir des fournisseurs gratuits

Section intitulée « Utiliser ces données pour choisir des fournisseurs gratuits »
  1. Choisissez la bonne catégorie. Utilisez le filtre Coding pour les charges de travail agentiques ou liées au code, ou laissez All Categories / Default pour les conversations générales. Un même fournisseur peut être classé différemment selon les catégories, car son meilleur modèle varie d’un classement à l’autre.
  2. Privilégiez le podium pour les configurations simples. Si vous souhaitez uniquement connecter un ou deux fournisseurs gratuits, commencez par les mieux classés dans votre catégorie.
  3. Vérifiez le badge Type. Les fournisseurs NOAUTH sont les plus rapides à connecter (aucun identifiant requis). Les offres gratuites OAUTH / APIKEY nécessitent une inscription rapide, mais donnent souvent accès à des modèles plus performants. Consultez le Guide des offres gratuites pour connaître les étapes de connexion.
  4. Connectez-en plusieurs et laissez Auto-Combo décider. Les mêmes données Arena ELO qui alimentent cette page servent également au facteur d’adéquation à la tâche du moteur de notation Auto-Combo (open-sse/services/autoCombo/taskFitness.ts, ordre de résolution : user_override → arena_elo → models_dev_tier → static table). Ainsi, après avoir connecté les meilleurs fournisseurs gratuits, le routage avec model: "auto" (par exemple, auto/coding) privilégiera automatiquement, pour chaque requête, les modèles gratuits de meilleure qualité. Consultez Auto-Combo pour découvrir l’intégralité des 16 facteurs de notation.


Code source d’OmniRoute (a58000c7685f)

HagiCode

HagiCode est un espace de développement agentique qui associe workflows structurés, exécution multi-agent et vues Hero Dungeon.

Transformez vos idées en logiciels utiles grâce à un workflow agentique plus intelligent, rapide et agréable.

Interface principale de HagiCode en thème clair
  • SmartDes workflows structurés transforment une intention en parcours exécutable, de l’idée à la livraison.
  • EfficientLes workflows multi-agents font avancer recherche, réalisation et revue en parallèle.
  • FunHero Dungeon rend les longues sessions de code plus visuelles et collaboratives.
Visiter HagiCode