Famille Qwen
Les modèles de texte Tongyi Qianwen d’Alibaba Cloud, qui comprennent les séries Qwen3.8, Qwen3.7 et Qwen3.6 ainsi que Qwen Flash et Qwen Plus. Ils s’appellent via l’API compatible OpenAI ; la série Qwen3.x prend aussi en charge l’API native Anthropic. Les modèles de génération d’images sont présentés dans Qwen-Image.
Tâches courantes
Modèles
La liste complète des modèles et les prix en vigueur figurent sur la page des modèles ; vous pouvez aussi les interroger via la Models API. Le préfixe qwen/ de l’ID de modèle est facultatif.
qwen/qwen3.8-maxAccepte les images en entréeqwen/qwen3.8-flashAccepte les images en entréeqwen/qwen3.7-plusAccepte les images en entréeqwen/qwen-flashSans thinking par défaut, texte uniquementLes modèles Qwen sont servis par Alibaba Cloud Model Studio (Bailian), via deux fournisseurs : le site chinois (aliyun) et le site international (alicloud), sélectionnés automatiquement par défaut. Pour en choisir un, voir Routage des fournisseurs.
Exemples d’appel
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"])
resp = client.chat.completions.create(
model="qwen/qwen3.8-flash",
messages=[{"role": "user", "content": "Explique en une phrase ce qu’est l’idempotence."}],
extra_body={"enable_thinking": False},
)
print(resp.choices[0].message.content)Mode thinking
Lors de nos tests sur un même problème de mathématiques : Qwen3.8 Flash a produit par défaut environ 5800 tokens de thinking en environ 1 minute 30, et Qwen3.6 Flash plus de 30 000 tokens de thinking en plus de 4 minutes ; thinking désactivé, les deux répondent en quelques secondes.
Limiter la longueur du thinking
Si vous avez besoin du thinking mais souhaitez maîtriser le temps et le coût, passez thinking_budget (plafond de tokens de thinking) :
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"])
resp = client.chat.completions.create(
model="qwen/qwen3.8-flash",
messages=[{"role": "user", "content": "Trouve tous les entiers strictement positifs n inférieurs à 50 tels que n² + n + 41 ne soit pas premier."}],
extra_body={"enable_thinking": True, "thinking_budget": 1000},
)
msg = resp.choices[0].message
details = getattr(msg, "reasoning_details", None) or []
print("[Thinking]", "".join(d.get("text", "") for d in details)[:200], "…")
print("[Réponse]", msg.content)
print("Tokens de thinking :", resp.usage.completion_tokens_details.reasoning_tokens)- Lors de nos tests,
thinking_budgetest appliqué strictement : avec une valeur de 200, le thinking compte exactement 200 tokens. enable_thinkingetthinking_budgetne sont pas des paramètres standard du SDK OpenAI : placez-les dansextra_body; en requête HTTP directe, placez-les au premier niveau du corps de la requête.- Les tokens de thinking sont facturés au prix unitaire de sortie ; leur nombre figure dans
usage.completion_tokens_details.reasoning_tokens.
Lire le contenu du thinking
- Dans une réponse streamée, le contenu du thinking se trouve dans
delta.reasoning_content, comme dans l’API officielle d’Alibaba Cloud Model Studio. - Dans une réponse non streamée, le contenu du thinking se trouve dans
message.reasoning_details; concaténez letextde chaque élément dans l’ordre (voir l’exemple ci-dessus).
Images en entrée
Les modèles qui acceptent les images utilisent le bloc de contenu standard image_url :
import base64
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.ofox.io/v1", api_key=os.environ["OFOX_API_KEY"])
img_b64 = base64.b64encode(open("photo.png", "rb").read()).decode()
resp = client.chat.completions.create(
model="qwen/qwen3.8-flash",
messages=[{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_b64}"}},
{"type": "text", "text": "Décris cette image."},
]}],
extra_body={"enable_thinking": False},
)
print(resp.choices[0].message.content)Qwen3.7 Max, Qwen Plus et Qwen Flash ne prennent en charge que le texte ; utilisez l’un des modèles du tableau ci-dessus qui acceptent les images.
Utiliser avec Claude Code
La série Qwen3.x et Qwen Flash prennent en charge l’API native Anthropic, à l’adresse https://api.ofox.io/anthropic :
https://api.ofox.io/anthropicqwen/qwen3.8-max- Via l’API Anthropic, le contenu du thinking est renvoyé dans des blocs
thinking. - La série Qwen3.8 produit beaucoup de thinking : réglez un
max_tokenssuffisamment grand. Lors de nos tests, avecmax_tokensà 4000, la réponse pouvait ne contenir qu’un blocthinking, sans réponse. - Qwen Plus ne prend pas en charge l’API Anthropic ; l’appel renvoie
protocol_not_supported.
Les étapes complètes de configuration de Claude Code sont décrites dans Configuration de Claude Code.
Sortie JSON et appel d’outils
response_format accepte {"type": "json_object"} et {"type": "json_schema", ...} ; l’appel d’outils utilise le paramètre standard tools. Avec json_object, indiquez explicitement dans le prompt « Renvoie en JSON » ainsi que les champs attendus. Voir Sortie structurée et Appel de fonctions.
Mise en cache des prompts
Qwen met automatiquement en cache les préfixes de requête répétés, sans modifier la requête. Le volume concerné figure dans usage.prompt_tokens_details.cached_tokens, et cette partie est facturée au prix unitaire de lecture du cache. Le cache fonctionne au mieux : une requête au préfixe identique peut ne pas y accéder.
Erreurs courantes
Les autres erreurs générales sont décrites dans Gestion des erreurs.
Documentation officielle
- Alibaba Cloud Model Studio · Liste des modèles
- Alibaba Cloud Model Studio · Deep thinking
- Alibaba Cloud Model Studio · Compatibilité OpenAI
La documentation officielle décrit le comportement en appel direct à Alibaba Cloud Model Studio. Via OfoxAI, les ID de modèle et les adresses d’endpoint de cette page font foi.
FAQ
Comment écrire l'ID de modèle de Qwen ?
L'écriture standard est qwen/qwen3.8-flash ; vous pouvez aussi omettre le préfixe qwen/.
Comment désactiver le thinking de Qwen ?
Passez "enable_thinking": false ; avec le SDK OpenAI, placez-le dans extra_body. Les séries Qwen3.8, 3.7 et 3.6 activent le thinking par défaut ; Qwen Flash et Qwen Plus le désactivent par défaut.
Qwen répond lentement, après plusieurs minutes d’attente ?
La série Qwen3.x active le thinking par défaut, qui peut atteindre plusieurs dizaines de milliers de tokens sur une question complexe. Désactivez le thinking, ou limitez sa longueur avec thinking_budget, par exemple "thinking_budget": 1000.
Comment utiliser thinking_budget avec Qwen ?
Passez-le avec "enable_thinking": true ; sa valeur est le plafond de tokens de thinking, par exemple 1000. Lors de nos tests, il est appliqué strictement.
Quels modèles Qwen comprennent les images ?
Qwen3.8 Max, 3.8 Flash, 3.8 27B, 3.7 Plus et 3.6 Flash acceptent les images en entrée. Qwen3.7 Max, Qwen Plus et Qwen Flash ne prennent en charge que le texte.
Peut-on utiliser Qwen dans Claude Code ?
Oui. Réglez ANTHROPIC_BASE_URL sur https://api.ofox.io/anthropic et indiquez comme modèle un modèle de la série Qwen3.x, par exemple qwen/qwen3.8-max. Qwen Plus ne prend pas en charge l'API Anthropic.
Où se trouve le reasoning_content de Qwen ?
Dans une réponse streamée, il se trouve dans delta.reasoning_content ; dans une réponse non streamée, dans message.reasoning_details, dont il faut concaténer les text de chaque élément.