DeepSeek V4.1 Flash sur ByteDance : les appels d’outil correspondent, pas la comptabilisation

AIHubMix11 min de lecture
DeepSeek V4.1 Flash sur ByteDance : les appels d’outil correspondent, pas la comptabilisation

Les 2026-11-03/04, DeepSeek V4.1 Flash 1017 a été testé chez cinq fournisseurs via AIHubMix avec la suite APB Full : les mêmes questions, paramètres et scripts de requête à chaque fois. Ce profil APB couvre uniquement le test sur ByteDance, section par section.

Les chiffres ci-dessous sont des scores, pas un classement ni une recommandation de fournisseur. Q, F, P, K et R viennent en premier ; le score global est un indice récapitulatif, pas une certification, et il n’a pas d’intervalle de confiance. Les règles de notation sont définies dans AIHubMix Provider Benchmark Standard v2.0.

Scores chez cinq fournisseurs

Overall score by provider

Le gras désigne le fournisseur de cet article. Ordre fixe des fournisseurs, pas un classement. K est un sous-score de P et compte pour 20% de celui-ci. Le score global est un indice récapitulatif sans intervalle de confiance. La différence entre le canal officiel de DeepSeek et Alibaba Cloud est de 0.37 et n’est pas significative.

En bref

  • Q 42.05. BFCL 85.20%, HLE 15.34%, AA-LCR 49.20%. L’écart avec le canal officiel est de −0.40 point de pourcentage, avec un intervalle à 95% de −1.46 à +0.66 : la différence n’est pas significative. AA-LCR a enregistré 28 échecs de requête, tous dans la fenêtre 1, comptabilisés comme des réponses incorrectes.
  • F 74.98. 124 des 174 vérifications comptabilisées ont été réussies. reasoning_effort=none ne désactive pas la réflexion. Une entrée de 10k tokens a été comptabilisée comme 10,026 tokens (comptage natif : 10,000) ; une entrée de 8 tokens a été comptabilisée comme 34.
  • P 84.37. Délai jusqu’au premier token du corps : médiane de 2.12 s à concurrence unique et de 2.10 s à 10 requêtes simultanées ; TPOT de 3.43 ms/token ; les 180 requêtes de mesure de la vitesse étaient toutes valides.
  • K 93.83. Les requêtes à chaud de 8k ont réussi 9/9 fois ; celles de 32k, 8 fois, et une requête n’a pas abouti avant l’échéance de 300 s.
  • R 100. Les 300 requêtes dédiées ont toutes réussi dès la première tentative.

Configuration du test

Élément Détail
Modèle DeepSeek V4.1 Flash 1017
ID du modèle demandé doubao-deepseek-v4.1-flash-1017
Nom du modèle renvoyé deepseek-v4-1-flash-261017
Route d’accès Via AIHubMix, avec un ID de modèle propre au fournisseur, et non via une connexion directe au compte du fournisseur
Paramètres Mode sans réflexion, temperature 1.0, max_tokens 16,384, délai d’expiration 300 s, aucune nouvelle tentative automatique
Réflexion désactivée Les requêtes de qualité des réponses, de vitesse, de cache et de stabilité utilisaient thinking.type=disabled natif (pour ce fournisseur, reasoning_effort=none ne désactivait pas la réflexion) ; les cas de fonction conservaient reasoning_effort=none afin de vérifier si le paramètre prenait effet
Période 2026-11-03 18:07 – 11-04 16:33 UTC+8 ; les cinq fournisseurs partageaient un Mac mini, un réseau et un compte
Échantillons Qualité des réponses : 4,250 instances de questions (BFCL 500 × 3, HLE 250 × 10, AA-LCR 25 × 10) ; fonctions : 60 cas × 3 fenêtres ; vitesse : 90 à concurrence unique et 90 à 10 requêtes simultanées ; stabilité : 300 ; cache : 30 (trois groupes chacun avec des préfixes de 8k et 32k)

Les requêtes passaient par la route de démarrage rapide d’AIHubMix avec un ID propre au fournisseur, et les paramètres suivent la documentation de l’API de DeepSeek ; les autres ID de fournisseurs figurent sur la page des modèles.

Q — qualité des réponses : 42.05

La qualité des réponses repose sur trois suites : 500 questions BFCL avec 3 tours chacune, 250 questions HLE avec 10 tours chacune et 25 questions AA-LCR avec 10 tours chacune. BFCL est évalué selon des règles automatiques ; HLE et AA-LCR sont évalués par le modèle deepseek-flash. Les cinq fournisseurs ont reçu les mêmes questions, et les trois suites sont regroupées en une seule mesure de précision. Dix réponses ont été retirées car la question ne pouvait pas être évaluée, ce qui laisse 4,240 instances de questions évaluées.

Suite Questions Correctes Précision Échecs
Appels d’outil BFCL 500 × 3 1,278/1,500 85.20% 0
Questions-réponses difficiles HLE 250 × 10 382/2,490 15.34% 7
Raisonnement sur de longs documents AA-LCR 25 × 10 123/250 49.20% 28
Combiné · intervalle à 95% : 39.70%–44.33% — 1,783/4,240 42.05% 35

Les échecs de service — échecs de requête ou sortie tronquée — restent au dénominateur et sont comptabilisés comme des réponses incorrectes. La sortie HLE a atteint la limite max_tokens 7 fois ; AA-LCR a enregistré 28 échecs de requête, tous dans la fenêtre 1. BFCL est évalué automatiquement ; HLE et AA-LCR le sont par un modèle évaluateur.

Chaque question BFCL a reçu 3 réponses ; le tableau additionne les 3 tours.

Catégorie BFCL Réussites Taux de réussite
simple_python — une fonction, appel et arguments corrects 329/360 91.39%
multiple — choisir parmi plusieurs fonctions 268/300 89.33%
parallel — appeler plusieurs fois la même fonction 271/300 90.33%
parallel_multiple — appeler plusieurs fonctions différentes 207/240 86.25%
irrelevance — aucune fonction n’est pertinente, ne pas faire d’appel 102/150 68.00%
ahm_multi_turn — chaîne d’outils en trois étapes 101/150 67.33%

Comparaison avec les quatre autres

Q answer quality by task

Différence par rapport au canal officiel, en points de pourcentage, avec l’intervalle à 95% représenté par des barres d’erreur. Si l’intervalle comprend 0, la différence est considérée comme non significative. Le modèle évaluateur de HLE et AA-LCR, deepseek-flash, appartient à la même famille DeepSeek que le modèle testé et n’a pas été calibré ; ses évaluations peuvent donc être indulgentes.

Q difference from the official channel

F — prise en charge des fonctions : 74.98

La suite de fonctions porte uniquement sur la conformité du comportement de l’interface au protocole, et non sur la qualité des réponses du modèle. Soixante cas répartis en six groupes ont été exécutés trois fois, une fois par fenêtre : 180 vérifications, évaluées selon le format documenté par chaque fournisseur. Les vérifications non applicables, invalides ou non observées sont exclues du dénominateur. ByteDance a réussi 124 des 174 vérifications comptabilisées et obtenu un score de 74.98 selon les pondérations des groupes.

Le score pondéré applique les pondérations des groupes ; il ne correspond pas au nombre de vérifications réussies divisé par 174.

Groupe Pondération Réussites Exclues Score du groupe
Streaming et protocole de messages 20% 23/27 3 85.19
Interface d’outil 20% 30/30 — 100.00
Contraintes de sortie et paramètres 20% 24/30 — 80.00
Contexte et état 15% 14/30 — 46.67
Erreurs et récupération 15% 21/30 — 70.00
Comptabilisation et protocole de cache 10% 12/27 3 44.44
Total · score pondéré — 124/174 6 74.98

« Fenêtres échouées » indique le nombre des 3 fenêtres où la vérification a échoué.

Cas en échec Fenêtres en échec Raison
Le raisonnement ne fuit pas dans le contenu — streaming et protocole de messages 3/3 Avec reasoning_effort=none, le contenu de réflexion était tout de même renvoyé
La configuration de la réflexion est prise en compte — contraintes de sortie et paramètres 3/3 Avec reasoning_effort=none, le contenu de réflexion était tout de même renvoyé
Diversité de l’échantillonnage — contraintes de sortie et paramètres 3/3 Les sorties avec une température de 0 et de 1 n’étaient pas suffisamment différentes ; elles n’atteignaient pas le seuil prédéfini
Entrée longue de 10k — contexte et état 3/3 Entrée comptabilisée : 10,026 tokens ; le comptage natif devrait être de 10,000
Respect de la limite de contexte — contexte et état 3/3 Entrée comptabilisée : 10,026 tokens ; le comptage natif devrait être de 10,000
Entrée longue de 32k — contexte et état 3/3 Entrée comptabilisée : 10,026 tokens ; le comptage natif devrait être de 10,000
Entrée longue de 100k — contexte et état 3/3 Entrée comptabilisée : 10,026 tokens ; le comptage natif devrait être de 10,000
Dépassement de la limite de contexte — contexte et état 3/3 Échec de connexion en amont ou délai d’attente dépassé (1) ; aurait dû renvoyer une erreur de paramètre, mais a renvoyé 200 (2)
Historique de 12 tours — contexte et état 1/3 Échec de connexion en amont ou délai d’attente dépassé
Erreur de format messages — erreurs et récupération 3/3 A renvoyé 400 avec un corps vide ; aucune explication structurée de l’erreur
Résultat d’outil orphelin — erreurs et récupération 3/3 Aurait dû renvoyer une erreur de paramètre, mais a renvoyé 200
Erreur de format stream_options — erreurs et récupération 3/3 A renvoyé 400 avec un corps vide ; aucune explication structurée de l’erreur
Comptabilisation des tokens de réflexion — comptabilisation et protocole de cache 3/3 Tokens de réflexion comptabilisés alors que la réflexion était désactivée
Comptage natif de l’entrée — comptabilisation et protocole de cache 3/3 34 tokens comptabilisés ; le comptage natif devrait être de 8
Définitions d’outils incluses dans le comptage de l’entrée — comptabilisation et protocole de cache 3/3 La requête de contrôle sans outils ne correspondait déjà pas au comptage natif de l’entrée
Comptage de l’entrée cohérent avant et après le cache — comptabilisation et protocole de cache 3/3 Lorsque le même préfixe était répété, les tokens d’entrée comptabilisés ne correspondaient pas au comptage natif
Entrée cohérente en streaming et hors streaming — comptabilisation et protocole de cache 3/3 34 tokens comptabilisés dans les deux cas ; le comptage natif devrait être de 8
Texte de sortie exact — streaming et protocole de messages 1/3 Un point supplémentaire à la fin du corps ; le texte ne correspond pas exactement à celui demandé

Ces vérifications sont exclues du dénominateur ; elles ne comptent ni comme réussites ni comme échecs.

Statut Cas Nombre Raison
Non observé Séquences d’arrêt du streaming 3 Après l’étape précédente, cette requête n’a pas été envoyée ; impossible de l’évaluer
Non applicable cache_control explicite 3 Enregistré à l’avance comme non pris en charge par cette interface

Les cas d’erreur de format messages et stream_options ont échoué chez les cinq fournisseurs : les deux ont renvoyé 400 avec un corps vide, de sorte que les clients ne reçoivent aucune explication structurée de l’erreur. Un échec commun aux cinq se situe probablement au niveau de la passerelle AIHubMix et nécessite une enquête distincte. La comptabilisation des tokens de réflexion a également échoué chez les cinq, mais pour des raisons différentes : ByteDance et Fireworks ont comptabilisé des tokens de réflexion alors que celle-ci était désactivée ; les trois autres n’ont pas renvoyé de comptage des tokens de réflexion.

Comparaison avec les quatre autres

F function support

P — vitesse de réponse : 84.37

Chaque requête comportait environ 10,000 tokens d’entrée et demandait environ 1,100 tokens de texte dans le corps de la sortie. Dans chacune des trois fenêtres, 30 requêtes ont été exécutées à concurrence unique et 30 avec 10 requêtes simultanées : 180 requêtes au total.

Métrique Résultat
Attente jusqu’au premier token du corps (TTFA) Médiane de 2.12 s à concurrence unique ; médiane de 2.10 s avec 10 requêtes simultanées
Vitesse de génération (TPOT) 3.43 ms/token à concurrence unique ; 3.41 ms/token avec 10 requêtes simultanées
Débit effectif 1,250.0 token/s avec 10 requêtes simultanées
Requêtes valides 90/90 à concurrence unique ; 90/90 avec 10 requêtes simultanées
Scores des composantes TTFA 48.59, TPOT 100.00, débit 100.00 ; les scores TTFA et TPOT retiennent le niveau le plus bas des deux paliers ; pondérations : 35% / 35% / 30% ; score de réponse : 82.00
Score P Score de réponse 82.00, pondéré à 80% ; cache K 93.83, pondéré à 20% ; total 84.37

Le TPOT est estimé à partir des segments diffusés en streaming ; il n’est pas mesuré token par token sur le matériel. Le débit correspond au nombre de tokens de sortie valides à concurrence de 10, divisé par la durée murale du lot.

Comparaison avec les quatre autres

Les cinq fournisseurs partageaient une machine, un réseau et un compte. Les trois fenêtres ont été planifiées fournisseur par fournisseur ; les périodes de collecte ne se chevauchent donc pas complètement. Il ne faut pas surinterpréter les petits écarts.

P response speed

K — cache : 93.83

Chaque groupe envoie cinq requêtes. La première contient un préfixe fixe d’environ 8k ou 32k tokens et amorce le cache. Les requêtes 2–4 conservent le préfixe et ne changent que la question finale, respectivement après 5 s, 30 s et 120 s. La cinquième utilise un nouveau préfixe comme contrôle à froid. Trois fenêtres et deux longueurs, avec cinq requêtes par groupe, donnent 30 requêtes. K correspond aux tokens lus depuis le cache dans les requêtes à chaud, divisés par les tokens qui devraient être réutilisables selon les règles, avec une pondération égale pour les deux longueurs ; K compte pour 20% de P.

Préfixe Fenêtre Amorçage +5 s +30 s +120 s Contrôle à froid
8k Fenêtre 1 0 7,936 7,936 7,936 0
8k Fenêtre 2 0 7,936 7,936 7,936 0
8k Fenêtre 3 0 7,936 7,936 7,936 0
32k Fenêtre 1 0 32,000 32,000 32,000 0
32k Fenêtre 2 0 32,000 32,000 échec 0
32k Fenêtre 3 0 32,000 32,000 32,000 0

Valeurs correspondant aux tokens lus depuis le cache et signalés par le serveur.

Les neuf requêtes à chaud de 8k ont toutes atteint le cache, en lisant chacune 7,936 tokens. Huit des neuf requêtes à chaud de 32k ont atteint le cache, en lisant chacune 32,000 tokens ; une requête a échoué. K est de 93.83, avec une pondération égale des deux longueurs. Les requêtes à froid n’ont lu aucun cache, ce qui distingue clairement les requêtes à chaud des requêtes à froid. La requête en échec est la quatrième du groupe 32k dans la fenêtre 2 ; elle a atteint l’échéance de 300 s sans aboutir.

Comparaison avec les quatre autres

K cache hit rate

R — stabilité du service : 100

Les 300 requêtes se répartissent en quatre types — texte court, longue entrée, appels d’outil et historique multi-tour — et ont été exécutées avec une concurrence de 1 dans trois fenêtres. Une requête ne compte comme réussie que si la première tentative renvoie une réponse valide et complète ; l’exactitude de la réponse n’est pas vérifiée et il n’y a pas de nouvelle tentative. Les échecs des sections sur la qualité des réponses et la vitesse sont comptabilisés dans Q et P, et non une seconde fois dans R.

Type de requête Succès à la première tentative
Texte court 120/120
Entrée longue de 10k 90/90
Appels d’outil 60/60
Historique multi-tour 30/30
Total · intervalle à 95% : 98.78%–100% 300/300

Les 300 requêtes ont toutes renvoyé une réponse valide et complète dès la première tentative. R = 100 décrit uniquement ces 300 requêtes dédiées ; cela ne signifie pas que toute la chaîne n’a connu aucun échec. La borne inférieure de l’intervalle à 95% est de 98.78% : 300 succès permettent seulement d’affirmer que le taux d’échec est probablement inférieur à 1.22%.

Comparaison avec les quatre autres

R ne couvre que ces 300 requêtes dédiées ; les échecs des sections sur la qualité des réponses et la vitesse sont comptabilisés dans Q et P, et ne sont pas comptés une seconde fois dans R.

Fournisseur Succès à la première tentative Intervalle à 95%
ByteDance 300/300 98.78%–100%
Baidu 300/300 98.78%–100%
Alibaba Cloud 300/300 98.78%–100%
DeepSeek officiel 300/300 98.78%–100%
Fireworks 300/300 98.78%–100%

FAQ

reasoning_effort=none n’a-t-il vraiment pas désactivé le mode de réflexion ?
Oui. Dans les trois fenêtres, les requêtes avec reasoning_effort=none ont tout de même renvoyé du contenu de réflexion ; le contrôle a donc échoué 3/3 fois. Les requêtes des tests de qualité des réponses, de vitesse, de cache et de stabilité ont plutôt utilisé le commutateur natif thinking.type=disabled. La suite de tests de fonctions a conservé reasoning_effort=none volontairement, afin de vérifier si le paramètre prenait effet.

La précision BFCL est de 85.20%. Pourquoi Q est-il de 42.05 ?
Q regroupe trois suites de difficultés très différentes. BFCL a contribué 1,278 réponses correctes sur 1,500, HLE 382 sur 2,490 et AA-LCR 123 sur 250. Au total, 1,783 des 4,240 instances de questions évaluées étaient correctes : 42.05%. Le résultat de 15.34% de HLE fait baisser le score global.

Les 35 échecs de requêtes de Q sont-ils inclus dans le score ?
Oui. Les échecs de requêtes et les sorties tronquées restent dans le dénominateur et comptent comme des réponses incorrectes. Sept réponses HLE ont été tronquées à max_tokens ; 28 requêtes AA-LCR ont échoué, toutes dans la fenêtre 1.

Pourquoi la comptabilisation des tokens d’entrée est-elle importante ?
Parce que la facturation doit correspondre au décompte natif du modèle. Une entrée de 10k tokens a été déclarée comme contenant 10,026 tokens (10,000 en décompte natif), et une entrée de 8 tokens a été déclarée comme en contenant 34. La requête de contrôle sans outils présentait déjà un écart, et le streaming comme le non-streaming ont tous deux déclaré 34. Les cinq contrôles de comptabilisation ont tous échoué, 3/3.

Le résultat du cache pour 32k correspond-il à un défaut de cache ou à un échec ?
À un échec. Huit des neuf requêtes à chaud de 32k ont atteint le cache et lu 32,000 tokens. Le seul défaut de cache concerne la quatrième requête de la fenêtre 2, qui a atteint l’échéance de 300 s sans aboutir. Le groupe 8k a atteint le cache 9/9 fois, avec 7,936 tokens lus.

Peut-on distinguer la qualité des réponses de ByteDance de celle du canal officiel ?
Non. La précision combinée est inférieure de 0.40 point à celle du canal officiel, avec un intervalle à 95% allant de −1.46 à +0.66. Comme l’intervalle inclut 0, les deux ne sont pas distinguables. Cela décrit uniquement ce lot et ne constitue pas un classement.

À lire ensuite : la série DeepSeek V4.1 Flash

Sources

  1. https://aihubmix.com/model/deepseek-v4.1-flash-1017
  2. https://api-docs.deepseek.com/quick_start/pricing
  3. https://docs.aihubmix.com/en/quick-start
  4. https://aihubmix.com/models
  5. https://api-docs.deepseek.com/

Une seule passerelle vers plusieurs fournisseurs d’IA. Conçue pour la production.

Découvrir AIHubMix