中文
← Back to tutorials

Deploy Llama 3.1 70B on vLLM Production Serving — High-throughput serving

Complete setup guide for running Llama 3.1 70B locally on vLLM Production Serving for high-throughput serving

By AI Skill Navigation Editorial TeamPublished April 25, 2025

Deploy Llama 3.1 70B on vLLM Production Serving

Overview

Run Llama 3.1 70B directly on vLLM Production Serving for high-throughput serving. Local inference offers privacy, zero latency, and no ongoing API costs.

Specs: NVIDIA A100 · 80GB VRAM

Installation

bash

Install Ollama — easiest local inference runtime

curl -fsSL https://ollama.com/install.sh | sh

Verify installation

ollama --version

Download Model

bash

Pull Llama 3.1 70B (downloads GGUF quantized weights automatically)

ollama pull llama-31-70b

Run interactive chat

ollama run llama-31-70b

Start API server

ollama serve

API available at http://localhost:11434

Python Integration

python
import httpx
from typing import Iterator

class LocalAI: """Interface to local Llama 3.1 70B running on vLLM Production Serving.""" BASE_URL = "http://localhost:11434" MODEL = "llama-31-70b" def chat(self, message: str, system: str = "") -> str: """Single-turn chat.""" resp = httpx.post( f"{self.BASE_URL}/api/chat", json={ "model": self.MODEL, "messages": [ {"role": "system", "content": system}, {"role": "user", "content": message} ], "stream": False }, timeout=120 ) resp.raise_for_status() return resp.json()["message"]["content"] def stream(self, message: str) -> Iterator[str]: """Streaming chat for real-time output.""" with httpx.stream( "POST", f"{self.BASE_URL}/api/chat", json={"model": self.MODEL, "messages": [{"role": "user", "content": message}], "stream": True}, timeout=120 ) as r: for line in r.iter_lines(): if line: import json chunk = json.loads(line) if not chunk.get("done"): yield chunk["message"]["content"]

Usage

ai = LocalAI() response = ai.chat("Help me with high-throughput serving") print(response)

Streaming

for token in ai.stream("Explain high-throughput serving step by step"): print(token, end="", flush=True)

Custom Modelfile

bash

Create optimized configuration for high-throughput serving

cat > Modelfile << 'MODELEOF' FROM llama-31-70b

PARAMETER num_ctx 4096 PARAMETER temperature 0.7 PARAMETER top_p 0.9

SYSTEM "You are an AI assistant specialized in high-throughput serving. You run locally on vLLM Production Serving. Be concise, accurate, and helpful." MODELEOF

ollama create high-throughput-serving-assistant -f Modelfile ollama run high-throughput-serving-assistant

Performance Profile

MetricValue

HardwareNVIDIA A100 Memory80GB VRAM Speed10-40 tokens/sec (CPU) / 40-100+ tok/s (GPU) First token<200ms (GPU) / <1s (CPU) Context4096-32768 tokens Cost$0 (after hardware)

Production Setup with FastAPI

python
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI(title="vLLM Production Serving AI API") ai = LocalAI()

class ChatRequest(BaseModel): message: str system: str = ""

class ChatResponse(BaseModel): response: str model: str device: str

@app.post("/chat", response_model=ChatResponse) async def chat_endpoint(req: ChatRequest): response = ai.chat(req.message, req.system) return ChatResponse(response=response, model="Llama 3.1 70B", device="vLLM Production Serving")

@app.get("/health") async def health(): return {"status": "ok", "model": "Llama 3.1 70B", "device": "vLLM Production Serving"}

Troubleshooting

Slow inference: Switch to Q4_K_M quantization, reduce context window Out of memory: Use smaller model or Q3_K_S quant GPU not used: Install CUDA/Metal drivers, check ollama logs High latency: Warm up model by sending a dummy request on startup

Resources

Also available in 中文.