Servir Llama 3 com vLLM
Como instalar e configurar o vLLM para servir Llama 3 (8B ou 70B) com throughput 5x maior que Ollama via continuous batching.
O Ollama é ótimo para começar e para uso casual. Mas em produção com requests concorrentes, ele serializa as inferências — uma chamada lenta segura todas. O vLLM resolve isso com continuous batching: ele processa múltiplas requests em paralelo na mesma forward pass da GPU.
Quando trocar Ollama por vLLM
| Cenário | Use |
|---|---|
| 1-5 chamadas simultâneas | Ollama |
| Dev / experimentação | Ollama |
| 10+ chamadas concorrentes | vLLM |
| Quer API compatível OpenAI com logprobs | vLLM |
| Otimizar custo por token em produção | vLLM |
Pré-requisitos
- GPU NVIDIA com 16+ GB VRAM (A100, A6000, RTX 4090) — recomendamos GPU Estação
- CUDA 12.1+ instalado
- Python 3.9+
- Token Hugging Face com acesso ao modelo Llama 3
Instalação rápida via Docker
docker run --runtime nvidia --gpus all \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HUGGING_FACE_HUB_TOKEN=hf_seu_token" \
-p 8000:8000 \
--ipc=host \
vllm/vllm-openai:latest \
--model meta-llama/Meta-Llama-3-8B-Instruct \
--max-model-len 8192 \
--gpu-memory-utilization 0.92
Isso sobe um servidor compatível OpenAI em http://localhost:8000/v1.
Testar
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/Meta-Llama-3-8B-Instruct",
"messages": [{"role": "user", "content": "Em uma frase: por que o céu é azul?"}],
"max_tokens": 100
}'
Parâmetros importantes
--max-model-len 8192— limite de contexto. Quanto maior, mais VRAM consumido--gpu-memory-utilization 0.92— fração da VRAM usada (deixe ~8% livre para overhead)--tensor-parallel-size 2— usar 2 GPUs em paralelo (precisa interconnect NVLink ou PCIe rápido)--quantization awq— usar modelo quantizado AWQ (1/4 VRAM, perda mínima)
Servir Llama 3 70B em GPU única
Em A100 80GB, use AWQ:
docker run --runtime nvidia --gpus all \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HUGGING_FACE_HUB_TOKEN=hf_seu_token" \
-p 8000:8000 \
--ipc=host \
vllm/vllm-openai:latest \
--model casperhansen/llama-3-70b-instruct-awq \
--max-model-len 8192 \
--quantization awq \
--gpu-memory-utilization 0.95
Integrar com n8n
No HTTP Request node:
- URL:
http://seu-servidor:8000/v1/chat/completions - Header:
Authorization: Bearer dummy(vLLM não exige token, mas o n8n precisa do header) - Body: payload OpenAI-compatible
Ou use o nó nativo do OpenAI apontando a URL base para http://seu-servidor:8000/v1.
Próximos passos
- Instalar Ollama em VPS
- n8n + EvolutionAPI + OpenAI — troque o nó OpenAI pelo seu vLLM
Última atualização: