HyperAI

Déployer Les Modèles De La Série Qwen3 À L'aide De vLLM+Open-webUI

GitHub
Étoiles
Licence

1. Introduction au tutoriel

Ce tutoriel utilise des ressources pour une seule carte RTX_4090.

👉 Le projet propose 5 modèles de modèles :

  • Qwen3-14B (Besoin de passer à une seule carte RTX A6000
  • Qwen3-8B (Utilisation par défaut
  • Qwen3-4B
  • Qwen3-1.7B
  • Qwen3-0.6B

Cliquez pour sauter :Déploiement en un clic du didacticiel Qwen3-30B-A3B.

Le projet Qwen3 a été lancé par l'équipe Qwen d'Alibaba en 2025. Le rapport technique correspondant est  « Qwen 3 : Réfléchissez plus profondément, agissez plus vite ».

Qwen3 est la dernière génération de grands modèles de langage de la série Qwen, fournissant des modèles denses complets et des modèles de mélange d'experts (MoE). S'appuyant sur une riche expérience de formation, Qwen3 a réalisé des progrès révolutionnaires en matière de raisonnement, de suivi des instructions, de capacités d'agent et de support multilingue. Les scénarios d’application de Qwen3 sont très larges. Il prend en charge le traitement de texte, d'image, d'audio et de vidéo et peut répondre aux besoins de création de contenu multimodal et de tâches intermodales. Dans les applications de niveau entreprise, les capacités d'agent et la prise en charge multilingue de Qwen3 lui permettent de gérer des tâches complexes telles que le diagnostic médical, l'analyse de documents juridiques et l'automatisation du service client. De plus, les petits modèles tels que Qwen3-0.6B conviennent au déploiement sur des appareils finaux tels que les téléphones mobiles, élargissant encore ses scénarios d'application.

La dernière version Qwen3 présente les fonctionnalités suivantes :

  • Modèles experts denses et mixtes pleine grandeur : 0,6B, 1,7B, 4B, 8B, 14B, 32B et 30B-A3B, 235B-A22B
  • Prend en charge la commutation transparente entre le mode de réflexion (pour le raisonnement logique complexe, les mathématiques et le codage) et le mode de non-réflexion (pour des conversations générales efficaces), garantissant des performances optimales dans divers scénarios.
  • Capacités de raisonnement considérablement améliorées, surpassant le modèle d'instruction QwQ précédent (en mode réflexion) et Qwen2.5 (en mode non réflexion) en mathématiques, génération de code et raisonnement logique de bon sens.
  • Alignement supérieur avec les préférences humaines, excelle dans l'écriture créative, les jeux de rôle, les conversations à plusieurs tours et le suivi des commandes, offrant une expérience de conversation plus naturelle, engageante et immersive.
  • Excelle dans les capacités d'agent intelligent, peut intégrer avec précision des outils externes dans les modes de réflexion et de non-réflexion, et est leader dans les modèles open source dans les tâches complexes basées sur des agents.
  • Il prend en charge plus de 100 langues et dialectes et dispose de puissantes capacités de compréhension multilingue, de raisonnement, de suivi de commandes et de génération.

2. Étapes de l'opération

1. Après avoir démarré le conteneur, cliquez sur l'adresse API pour accéder à l'interface Web

Si « Modèle » n'est pas affiché, cela signifie que le modèle est en cours d'initialisation. Étant donné que le modèle est grand, veuillez patienter environ 1 à 2 minutes et actualiser la page.

2. Après être entré sur la page Web, vous pouvez démarrer une conversation avec le modèle

Comment utiliser

Ce qui suit est une description optimisée de la méthode d'appel d'API, avec une structure plus claire et des détails pratiques ajoutés :

3. Guide d'appel d'API OpenAI

1. Obtenir la configuration de base

# 必要参数配置
BASE_URL = "<API 地址>/v1"  # 生产环境
MODEL_NAME = "Qwen3-30B-A3B"  # 默认模型名称
API_KEY = "Empty"  # 未设置 API_KEY

Obtenir l'adresse de l'API

2. Différentes méthodes d'appel

2.1 Appel Python natif

import openai
# 创建 OpenAI 客户端实例
client = openai.OpenAI(
    api_key=API_KEY,  # 请替换为你的实际 API Key
    base_url=BASE_URL  # 替换为你的实际 base_url
)
# 发送聊天消息
response = client.chat.completions.create(
    model=MODEL_NAME,
    messages=[
        {"role": "user", "content": "你好!"}
    ],
    temperature=0.7, 
)
# 输出回复内容
print(response.choices[0].message.content)
# 方法 2:requests 库(更灵活)
import requests
headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}
data = {
    "model": MODEL_NAME,
    "messages": [{"role": "user", "content": "你好!"}]
}
response = requests.post(f"{BASE_URL}/chat/completions", headers=headers, json=data)

2.2 Intégration des outils de développement

Si vous utilisez VScode pour installer la version officielle CLINE Plugins

2.3 Appel cURL

curl <BASE_URL>/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": <MODEL_NAME>,
    "messages": [{"role": "user", "content": "你好!"}]
  }'

4. Changement de modèle

Ce tutoriel utilise le modèle Qwen3-8B par défaut. Pour passer à un autre modèle, veuillez suivre les étapes ci-dessous :

1. Vérifiez les exigences de la carte graphique (configuration minimale)

  • Qwen3-14B :NVIDIA A6000
  • Qwen3-8B :RTX 4090(défaut)
  • Qwen3-4B : RTX 4090
  • Qwen3-1.7B : RTX 4090
  • Qwen3-0.6B : RTX 4090

Avis:

  • Le modèle 14B nécessite A6000 (48 Go de mémoire vidéo), assurez-vous que les ressources informatiques sont commutées.
  • Les versions 8B et inférieures peuvent fonctionner sur RTX 4090 (24 Go de VRAM).

2. Changer les étapes du modèle

2.1 Fermer le service de modèle actuel

Exécutez la commande suivante dans le terminal pour trouver vllm  Traiter et clôturer :

ps aux | grep vllm

Recherchez l'ID du processus (PID), puis exécutez :

kill -9 [PID]

2.2 Démarrer un nouveau modèle

Par exemple,Démarrer Qwen3-4B:

vllm serve /input0/Qwen3-4B \
  --tensor_parallel_size 1 \
  --host 0.0.0.0 \
  --port 8080 \
  --gpu-memory-utilization 0.95 \
  --max-num-seqs 16 \
  --served-model-name Qwen3-4B \
  --enable-reasoning \
  --reasoning-parser deepseek_r1

Notes de modification :

  • /input0/Qwen3-4B → Remplacez par le chemin de votre modèle cible (par exemple Qwen3-1.7B).
  • --served-model-name → Changer pour le nom du modèle correspondant (par exemple Qwen3-1.7B).

Une fois terminé, votre nouveau modèle est prêt à être utilisé ! 🚀

Échange et discussion

🖌️ Si vous voyez un projet de haute qualité, veuillez laisser un message en arrière-plan pour le recommander ! De plus, nous avons également créé un groupe d’échange de tutoriels. Bienvenue aux amis pour scanner le code QR et commenter [Tutoriel SD] pour rejoindre le groupe pour discuter de divers problèmes techniques et partager les résultats de l'application↓

Informations sur la citation

reconnaissant ZV-Liu  Pour la réalisation de ce tutoriel, les informations de référence du projet sont les suivantes :

@misc{glm2024chatglm,
      title={ChatGLM: A Family of Large Language Models from GLM-130B to GLM-4 All Tools},
      author={Team GLM and Aohan Zeng and Bin Xu and Bowen Wang and Chenhui Zhang and Da Yin and Diego Rojas and Guanyu Feng and Hanlin Zhao and Hanyu Lai and Hao Yu and Hongning Wang and Jiadai Sun and Jiajie Zhang and Jiale Cheng and Jiayi Gui and Jie Tang and Jing Zhang and Juanzi Li and Lei Zhao and Lindong Wu and Lucen Zhong and Mingdao Liu and Minlie Huang and Peng Zhang and Qinkai Zheng and Rui Lu and Shuaiqi Duan and Shudan Zhang and Shulin Cao and Shuxun Yang and Weng Lam Tam and Wenyi Zhao and Xiao Liu and Xiao Xia and Xiaohan Zhang and Xiaotao Gu and Xin Lv and Xinghan Liu and Xinyi Liu and Xinyue Yang and Xixuan Song and Xunkai Zhang and Yifan An and Yifan Xu and Yilin Niu and Yuantao Yang and Yueyan Li and Yushi Bai and Yuxiao Dong and Zehan Qi and Zhaoyu Wang and Zhen Yang and Zhengxiao Du and Zhenyu Hou and Zihan Wang},
      year={2024},
      eprint={2406.12793},
      archivePrefix={arXiv},
      primaryClass={id='cs.CL' full_name='Computation and Language' is_active=True alt_name='cmp-lg' in_archive='cs' is_general=False description='Covers natural language processing. Roughly includes material in ACM Subject Class I.2.7. Note that work on artificial languages (programming languages, logics, formal systems) that does not explicitly address natural-language issues broadly construed (natural-language processing, computational linguistics, speech, text retrieval, etc.) is not appropriate for this area.'}
}