Instalação#
O Xinference pode ser instalado via pip no Linux, Windows e MacOS. Caso seja necessário usar o Xinference para inferência de modelos, é possível especificar diferentes mecanismos de acordo com o modelo.
Se você deseja inferir todos os modelos suportados, pode instalar todas as dependências necessárias com o seguinte comando:
pip install "xinference[all]"
Alterado na versão v1.8.1: Devido à incompatibilidade de dependências de pacotes entre vllm e sglang, removemos o sglang do all. Para usar o sglang, utilize pip install 'xinference[sglang]'.
Alguns cenários de uso requerem atenção especial.
Formato GGUF utilizado com o motor llama.cpp
Nesse caso, recomenda-se instalar manualmente suas dependências com base nas especificações do seu hardware para habilitar a aceleração. Para mais detalhes, consulte a seção Llama.cpp engine.
Formato AWQ ou GPTQ usado com o mecanismo transformers
O conteúdo desta seção é novo na v1.6.0.
Isso ocorre porque as dependências nesta fase exigem opções especiais e são mais difíceis de instalar. Execute o seguinte comando com antecedência:
pip install "xinference[transformers_quantization]" --no-build-isolation
Algumas dependências, como transformers, podem ser rebaixadas. Você pode executar pip install "xinference[all]" posteriormente.
Se você quiser instalar apenas as dependências necessárias, aqui estão as etapas detalhadas de como fazer isso.
Transformers engine#
PyTorch (transformers) engine suporta quase todos os modelos mais recentes, sendo este o motor padrão utilizado pelos modelos PyTorch:
pip install "xinference[transformers]"
Nota:
O mecanismo Transformers suporta os formatos
pytorch/gptq/awq/bnb/fp4.A biblioteca transformers com suporte ao FPQuantConfig é necessária para o formato FP4. Se encontrar erros de importação, atualize o transformers para uma versão mais recente.
vLLM engine#
vLLM é um motor de inferência de alto desempenho para grandes modelos, que suporta alta concorrência. Quando as seguintes condições são atendidas, o Xinference seleciona automaticamente o vllm como motor para alcançar maior taxa de transferência:
O formato do modelo é
pytorch,gptq,awq,fp4,fp8oubnb.Quando o formato do modelo for
pytorch, a opção de quantização deve sernone.Quando o formato do modelo for
awq, a opção de quantização deve serInt4.Quando o formato do modelo for
gptq, a opção de quantização deve serInt3,Int4ouInt8.O sistema operacional é Linux e possui pelo menos um dispositivo compatível com CUDA.
Os campos
model_familypara modelos personalizados emodel_namepara modelos integrados estão na lista de suporte do vLLM.
Atualmente, os modelos suportados incluem:
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-chatcodestral-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_v2Baichuan-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-2504llama-3.2-vision,llama-3.2-vision-instructbaichuan-2,baichuan-2-chatInternLM2ForCausalLMqwen-chatmixtral-8x22B-instruct-v0.1,mixtral-instruct-v0.1,mixtral-v0.1cogagentglm-edge-chat,glm4-chat,glm4-chat-1mcodegeex4,glm-4vseallm_v2.5orion-chatqwen1.5-moe-chat,qwen2-moe-instructCohereForCausalLMdeepseek-v2-chat,deepseek-v2-chat-0628,deepseek-v2.5,deepseek-vl2deepseek-prover-v2,deepseek-r1,deepseek-r1-0528,deepseek-v3,deepseek-v3-0324,Deepseek-V3.1,moonlight-16b-a3b-instructdeepseek-r1-0528-qwen3,qwen3minicpm3-4binternlm3-instructgemma-3-1b-itglm4-0414minicpm-2b-dpo-bf16,minicpm-2b-dpo-fp16,minicpm-2b-dpo-fp32,minicpm-2b-sft-bf16,minicpm-2b-sft-fp32,minicpm4Ernie4.5Qwen3-Coder,Qwen3-Instruct,Qwen3-Thinkingglm-4.5,GLM-4.6,GLM-4.7gpt-ossseed-ossQwen3-Next-Instruct,Qwen3-Next-ThinkingDeepSeek-V3.2,DeepSeek-V3.2-ExpMiniMax-M2,MiniMax-M2.5,MiniMax-M2.7GLM-4.7-Flashglm-5,glm-5.1DeepSeek-V4-Flash,DeepSeek-V4-Pro
Instale o xinference e o 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
Llama.cpp engine#
O Xinference suporta modelos no formato gguf através do xllamacpp. xllamacpp é desenvolvido pela equipe do Xinference e, a partir da v1.6.0, tornou-se o único backend do llama.cpp.
Aviso
A partir do Xinference v1.5.0, o llama-cpp-python foi descontinuado; a partir do Xinference v1.6.0, este backend foi removido.
Passos iniciais:
pip install "xinference[llama_cpp]"
Para mais instruções de instalação do xllamacpp visando ativar a aceleração por GPU, consulte: xorbitsai/xllamacpp
Mecanismo SGLang#
SGLang possui um runtime de inferência de alto desempenho baseado em RadixAttention. Ele acelera significativamente a execução de programas complexos de LLM ao reutilizar automaticamente o cache KV entre múltiplas chamadas. Também suporta outras técnicas comuns de inferência, como processamento em lote contínuo e paralelismo de tensores.
Passos iniciais:
pip install "xinference[sglang]"
MLX Engine#
MLX-lm fornece inferência eficiente de LLM em chips Apple Silicon.
Passos iniciais:
pip install "xinference[mlx]"