vLLM
The serving engine production runs on. PagedAttention and continuous batching, on your own GPU.
vLLM is the serving engine production actually uses: PagedAttention, continuous batching, an OpenAI-compatible server on localhost:8000/v1. You bring the GPU.
`vllm serve Qwen/Qwen3-8B` and you are done. CUDA or ROCm; on a Mac reach for MLX instead. No quota, no key, nothing leaving the machine.
- Max context
- Set with --max-model-len
- Free tier
- Unlimited and private
- Requirement
- Nothing — no account
Endpoint
Base URL
http://localhost:8000/v1Rate limit
None — it is your machine- OpenAI-compatible
- text
- vision
Code examples
npm install openaiimport OpenAI from 'openai'
const client = new OpenAI({
baseURL: 'http://localhost:8000/v1',
apiKey: 'not-needed'
})
const response = await client.chat.completions.create({
model: 'Qwen/Qwen3-8B',
messages: [{ role: 'user', content: 'Explain closures in one paragraph.' }]
})
console.log(response.choices[0].message.content)pip install openaifrom openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="not-needed",
)
response = client.chat.completions.create(
model="Qwen/Qwen3-8B",
messages=[{"role": "user", "content": "Explain closures in one paragraph."}],
)
print(response.choices[0].message.content)curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen3-8B",
"messages": [{"role": "user", "content": "Explain closures in one paragraph."}]
}'Worth knowing
- Start the server first: `vllm serve Qwen/Qwen3-8B`.
- Needs a CUDA or ROCm GPU; on a Mac reach for MLX instead.
Models you get for free5
- Qwen 3
qwen3 - Llama 3.3 70B
llama-3.3-70b - GPT-OSS 120B
gpt-oss-120b - DeepSeek R1
deepseek-ai/DeepSeek-R1 - DeepSeek V4
deepseek-v4-flash