Installazione#

Xinference può essere installato su Linux, Windows e MacOS tramite pip. Se è necessario utilizzare Xinference per l’inferenza del modello, è possibile specificare diversi motori in base al modello.

Se desideri poter ragionare su tutti i modelli supportati, puoi installare tutte le dipendenze necessarie con il seguente comando:

pip install "xinference[all]"

Cambiato nella versione v1.8.1: Poiché vllm e sglang non possono coesistere a causa di conflitti di dipendenze dei pacchetti, abbiamo rimosso sglang da «all». Per utilizzare sglang, eseguire pip install 'xinference[sglang]'.

Alcuni scenari di utilizzo richiedono particolare attenzione.

Formato GGUF utilizzato con il motore llama.cpp

In questo caso, si consiglia di installare manualmente le dipendenze in base alle specifiche hardware per abilitare l’accelerazione. Per maggiori dettagli, consultare la sezione Motore Llama.cpp.

Formato AWQ o GPTQ in combinazione con il motore transformers.

Questa sezione è stata aggiunta nella v1.6.0.

Questo perché in questa fase le dipendenze richiedono opzioni speciali e sono difficili da installare. Esegui in anticipo il seguente comando:

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

Alcune dipendenze, come transformers, potrebbero essere declassate, è possibile eseguire successivamente pip install "xinference[all]".

Se desideri installare solo le dipendenze necessarie, ecco i passaggi dettagliati su come procedere.

Motore Transformers#

Il motore PyTorch (transformers) supporta quasi tutti i modelli più recenti, ed è il motore predefinito utilizzato dai modelli PyTorch.

pip install "xinference[transformers]"

Nota:

  • Il motore Transformers supporta i formati pytorch / gptq / awq / bnb / fp4.

  • La libreria transformers con supporto per FPQuantConfig è necessaria per il formato FP4. In caso di errori di importazione, aggiornare transformers alla versione più recente.

Motore vLLM#

vLLM è un motore di inferenza per grandi modelli ad alte prestazioni che supporta un’alta concorrenza. Quando vengono soddisfatte le seguenti condizioni, Xinference seleziona automaticamente vllm come motore per ottenere una maggiore produttività:

  • Il formato del modello è pytorch, gptq, awq, fp4, fp8 o bnb.

  • Quando il formato del modello è pytorch, l’opzione di quantizzazione deve essere none.

  • Quando il formato del modello è awq, l’opzione di quantizzazione deve essere Int4.

  • Quando il formato del modello è gptq, l’opzione di quantizzazione deve essere Int3, Int4 o Int8.

  • Il sistema operativo è Linux e dispone almeno di un dispositivo supportato da CUDA.

  • Il campo model_family dei modelli personalizzati e il campo model_name dei modelli integrati si trovano nell’elenco dei supporti di vLLM.

Attualmente, i modelli supportati includono:

  • 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

Installazione di xinference e 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

Motore Llama.cpp#

Xinference supporta i modelli in formato gguf tramite xllamacpp. xllamacpp è stato sviluppato dal team di Xinference ed è diventato l’unico backend di llama.cpp a partire dalla v1.6.0.

Avvertimento

A partire da Xinference v1.5.0, llama-cpp-python è stato deprecato; a partire da Xinference v1.6.0, questo backend è stato rimosso.

Passaggi iniziali:

pip install "xinference[llama_cpp]"

Per ulteriori istruzioni di installazione di xllamacpp per abilitare l’accelerazione GPU, consultare: xorbitsai/xllamacpp

Motore SGLang#

SGLang dispone di un runtime di inferenza ad alte prestazioni basato su RadixAttention. Accelerando significativamente l’esecuzione di programmi LLM complessi tramite il riutilizzo automatico della cache KV tra più chiamate. Supporta inoltre altre tecniche di inferenza comuni, come il batch continuo e l’elaborazione parallela dei tensori.

Passaggi iniziali:

pip install "xinference[sglang]"

Motore MLX#

MLX-lm è utilizzato per fornire un’inferenza efficiente dei LLM sui chip Apple Silicon.

Passaggi iniziali:

pip install "xinference[mlx]"

Altre piattaforme#