Installation#

Xinference peut être installé sur Linux, Windows et MacOS via pip. Si vous souhaitez utiliser Xinference pour l’inférence de modèles, vous pouvez spécifier différents moteurs en fonction du modèle.

Si vous souhaitez pouvoir raisonner sur tous les modèles pris en charge, vous pouvez installer toutes les dépendances nécessaires avec la commande suivante :

pip install "xinference[all]"

Modifié dans la version v1.8.1: En raison de l’incompatibilité des dépendances de packages entre vllm et sglang, nous avons retiré sglang du paquet all. Pour utiliser sglang, veuillez exécuter pip install 'xinference[sglang]'.

Certains scénarios d’utilisation nécessitent une attention particulière.

Format GGUF utilisé avec le moteur llama.cpp

Dans ce cas, il est recommandé d’installer manuellement ses dépendances en fonction de vos spécifications matérielles pour activer l’accélération. Pour plus de détails, veuillez consulter la section Moteur Llama.cpp.

Format AWQ ou GPTQ utilisés avec le moteur transformers

Cette section a été ajoutée dans la version v1.6.0.

C’est parce que les dépendances de cette phase nécessitent des options spéciales et sont difficiles à installer. Veuillez exécuter les commandes suivantes à l’avance.

pip install "xinference[transformers_quantization]" --no-build-isolation

Certaines dépendances, comme transformers, peuvent être rétrogradées. Vous pouvez ensuite exécuter pip install "xinference[all]".

Si vous souhaitez uniquement installer les dépendances nécessaires, voici les étapes détaillées pour procéder.

Moteur Transformers#

Le moteur PyTorch (transformers) prend en charge presque tous les derniers modèles. C’est le moteur par défaut utilisé pour les modèles PyTorch :

pip install "xinference[transformers]"

Remarque :

  • Le moteur Transformers prend en charge les formats pytorch / gptq / awq / bnb / fp4.

  • Le format FP4 nécessite la bibliothèque transformers prenant en charge FPQuantConfig. En cas d’erreur d’importation, veuillez mettre à niveau transformers vers une version plus récente.

Moteur vLLM#

vLLM est un moteur d’inférence de grands modèles haute performance prenant en charge une forte concurrence. Lorsque les conditions suivantes sont remplies, Xinference sélectionne automatiquement vllm comme moteur pour atteindre un débit plus élevé :

  • Le format du modèle est pytorch, gptq, awq, fp4, fp8 ou bnb.

  • Lorsque le format du modèle est pytorch, l’option de quantification doit être none.

  • Lorsque le format du modèle est awq, l’option de quantification doit être Int4.

  • Lorsque le format du modèle est gptq, l’option de quantification doit être Int3, Int4 ou Int8.

  • Le système d’exploitation est Linux et dispose d’au moins un périphérique supportant CUDA.

  • Les champs model_family des modèles personnalisés et model_name des modèles intégrés figurent dans la liste de support de vLLM.

Actuellement, les modèles pris en charge incluent :

  • code-llama, code-llama-instruct, code-llama-python, deepseek, deepseek-chat, deepseek-coder, deepseek-coder-instruct, deepseek-r1-distill-llama, gorilla-openfunctions-v2, HuatuoGPT-o1-LLaMA-3.1, llama-2, llama-2-chat, llama-3, llama-3-instruct, llama-3.1, llama-3.1-instruct, llama-3.3-instruct, minicpm5-1b, tiny-llama, wizardcoder-python-v1.0, wizardmath-v1.0, Yi, Yi-1.5, Yi-1.5-chat, Yi-1.5-chat-16k, Yi-200k, Yi-chat

  • codestral-v0.1, mistral-instruct-v0.1, mistral-instruct-v0.2, mistral-instruct-v0.3, mistral-large-instruct, mistral-nemo-instruct, mistral-v0.1, openhermes-2.5, seallm_v2

  • Baichuan-M2, codeqwen1.5, codeqwen1.5-chat, deepseek-r1-distill-qwen, DianJin-R1, fin-r1, HuatuoGPT-o1-Qwen2.5, KAT-V1, marco-o1, qwen1.5-chat, qwen2-instruct, qwen2.5, qwen2.5-coder, qwen2.5-coder-instruct, qwen2.5-instruct, qwen2.5-instruct-1m, qwenLong-l1, QwQ-32B, QwQ-32B-Preview, seallms-v3, skywork-or1, skywork-or1-preview, XiYanSQL-QwenCoder-2504

  • llama-3.2-vision, llama-3.2-vision-instruct

  • baichuan-2, baichuan-2-chat

  • InternLM2ForCausalLM

  • qwen-chat

  • mixtral-8x22B-instruct-v0.1, mixtral-instruct-v0.1, mixtral-v0.1

  • cogagent

  • glm-edge-chat, glm4-chat, glm4-chat-1m

  • codegeex4, glm-4v

  • seallm_v2.5

  • orion-chat

  • qwen1.5-moe-chat, qwen2-moe-instruct

  • CohereForCausalLM

  • deepseek-v2-chat, deepseek-v2-chat-0628, deepseek-v2.5, deepseek-vl2

  • deepseek-prover-v2, deepseek-r1, deepseek-r1-0528, deepseek-v3, deepseek-v3-0324, Deepseek-V3.1, moonlight-16b-a3b-instruct

  • deepseek-r1-0528-qwen3, qwen3

  • minicpm3-4b

  • internlm3-instruct

  • gemma-3-1b-it

  • glm4-0414

  • minicpm-2b-dpo-bf16, minicpm-2b-dpo-fp16, minicpm-2b-dpo-fp32, minicpm-2b-sft-bf16, minicpm-2b-sft-fp32, minicpm4

  • Ernie4.5

  • Qwen3-Coder, Qwen3-Instruct, Qwen3-Thinking

  • glm-4.5, GLM-4.6, GLM-4.7

  • gpt-oss

  • seed-oss

  • Qwen3-Next-Instruct, Qwen3-Next-Thinking

  • DeepSeek-V3.2, DeepSeek-V3.2-Exp

  • MiniMax-M2, MiniMax-M2.5, MiniMax-M2.7

  • GLM-4.7-Flash

  • glm-5, glm-5.1

  • DeepSeek-V4-Flash, DeepSeek-V4-Pro

Installer xinference et vLLM :

pip install "xinference[vllm]"

# FlashInfer is optional but required for specific functionalities such as sliding window attention with Gemma 2.
# For CUDA 12.4 & torch 2.4 to support sliding window attention for gemma 2 and llama 3.1 style rope
pip install flashinfer -i https://flashinfer.ai/whl/cu124/torch2.4
# For other CUDA & torch versions, please check https://docs.flashinfer.ai/installation.html

Moteur Llama.cpp#

Xinference prend en charge les modèles au format gguf via xllamacpp. xllamacpp est développé par l’équipe Xinference et devient le seul backend de llama.cpp depuis la v1.6.0.

Avertissement

Depuis Xinference v1.5.0, llama-cpp-python est obsolète ; à partir de Xinference v1.6.0, ce backend a été supprimé.

Étapes initiales :

pip install "xinference[llama_cpp]"

Pour plus d’informations sur l’installation de xllamacpp afin d’activer l’accélération GPU, veuillez consulter : xorbitsai/xllamacpp

Moteur SGLang#

SGLang dispose d’un runtime d’inférence haute performance basé sur RadixAttention. Il accélère considérablement l’exécution de programmes LLM complexes en réutilisant automatiquement le cache KV entre plusieurs appels. Il prend également en charge d’autres techniques d’inférence courantes, telles que le traitement par lots continu et le parallélisme tensoriel.

Étapes initiales :

pip install "xinference[sglang]"

Moteur MLX#

MLX-lm est utilisé pour fournir une inférence LLM efficace sur les puces Apple Silicon.

Étapes initiales :

pip install "xinference[mlx]"

Autres plateformes#