Qwen3 redéfinit les LLM ouverts grâce à des modes de thinking dynamiques, excellant dans le code, les mathématiques et le raisonnement multilingue. Propulsé par des paramètres actifs sparse de 22 milliards, il combine une vitesse fulgurante et une intelligence profonde — entièrement open-source, du modèle léger aux géants 235B.1. Utilisation de base : redirection au format compatible OpenAI. 2. Appel d’outils : les outils classiques prennent en charge le format compatible OpenAI, tandis que les MCP Tools s’appuient sur qwen-agent et nécessitent d’installer d’abord les dépendances avec la commande :
pip install -U qwen-agent mcp.
Pour plus de détails, consultez la documentation officielle Ali
from openai import OpenAIclient = OpenAI( api_key="sk-***", # 🔑 Replace it by your AiHubMix Key base_url="https://aihubmix.com/v1",)completion = client.chat.completions.create( model="Qwen/Qwen3-30B-A3B", messages=[ { "role": "user", "content": "Explain the Occam's Razor concept and provide everyday examples of it" } ], stream=True)for chunk in completion: if hasattr(chunk.choices, '__len__') and len(chunk.choices) > 0: if hasattr(chunk.choices[0].delta, 'content') and chunk.choices[0].delta.content is not None: print(chunk.choices[0].delta.content, end="")
Utilisez le format compatible OpenAI pour la redirection ; la différence est que l’appel en streaming doit extraire chunk.choices[0].delta.content, voir ci-dessous.1. QvQ, Qwen 2.5 VL : reconnaissance d’images. 2. QwQ : tâche textuelle.
from openai import OpenAIimport base64import osclient = OpenAI( api_key="sk-***", # 🔑 Replace it by your AiHubMix Key base_url="https://aihubmix.com/v1",)image_path = "yourpath/file.png"def encode_image(image_path): if not os.path.exists(image_path): raise FileNotFoundError(f"Image file does not exist: {image_path}") with open(image_path, "rb") as image_file: return base64.b64encode(image_file.read()).decode('utf-8')# Get the base64 encoding of the imagebase64_image = encode_image(image_path)completion = client.chat.completions.create( model="qwen2.5-vl-72b-instruct", #qwen2.5-vl-72b-instruct OR Qwen/QVQ-72B-Preview messages=[ { "role": "user", "content": [ {"type": "text", "text": "Please describe this image in detail"}, { "type": "image_url", "image_url": { "url": f"data:image/png;base64,{base64_image}" } } ] } ], stream=True)for chunk in completion: if hasattr(chunk.choices, '__len__') and len(chunk.choices) > 0: if hasattr(chunk.choices[0].delta, 'content') and chunk.choices[0].delta.content is not None: print(chunk.choices[0].delta.content, end="")