Back to Events
Past Main or above

Serving Open Models with vLLM on RunPod

June 2, 2026, 02:00 Europe/Berlin

Continue with the workshop writeup

Open the canonical pages, recording, materials, and code repo.

View workshop writeup

Serving an open-source model yourself means renting a GPU and running an inference server on it. In this workshop we take a quantized DeepSeek model and rent a GPU by the hour on RunPod. We serve it with vLLM behind an OpenAI-compatible API. Then we point a small tool-calling FAQ agent at it, the same way we would point it at OpenAI.

Most of the code is written by an AI assistant (Codex), and the prompts are quoted verbatim.

This was a freestyle session with no prep, so we also hit the dead ends:

  • A model that doesn't fit the card.
  • A full container disk.
  • An SSH session that keeps dropping.
  • A tool parser that needs a flag we didn't set.

Each one has a fix you'll want to keep.

Links

These materials are related:

The system you build

The model runs on the rented GPU, not on your laptop. Everything you write locally talks to it over HTTP, exactly the way it talks to OpenAI. Only the base URL and the API key change.

We use these pieces:

  • A GPU pod on RunPod runs the model.
  • vLLM serves it behind an OpenAI-compatible HTTP API.
  • RunPod's HTTPS proxy exposes that API, guarded by a bearer token.
  • The FAQ agent runs on your laptop and calls one search tool.

The request path looks like this:

flowchart LR AGENT["FAQ agent (your laptop)"] PROXY["RunPod HTTPS proxy <pod-id>-8000.proxy.runpod.net"] VLLM["vLLM server OpenAI-compatible API"] GPU["GPU pod DeepSeek-R1-Distill-Qwen-14B-AWQ"] FAQ["DataTalks.Club FAQ"] AGENT -->|"POST /v1/chat/completions + Bearer token"| PROXY PROXY --> VLLM VLLM --> GPU AGENT -->|search tool| FAQ

The model is stelterlab/DeepSeek-R1-Distill-Qwen-14B-AWQ, a 14-billion-parameter model quantized to fit a single 24 GB consumer GPU.

We reuse the FAQ search agent from the end-to-end agent deployment workshop. We port it from the OpenAI Responses API to vLLM's chat completions API. It answers Data Engineering Zoomcamp questions with one search tool against the course FAQ.

Workshop flow

We build the workshop in this order:

  • Rent a GPU by the hour on RunPod and connect over SSH.
  • Install vLLM and serve a quantized model.
  • Fit the model on the card, then move the caches to the pod volume.
  • Port the FAQ agent and get the open model to make tool calls.
  • Reach the model over the network with an API key.
  • Make the whole thing reproducible with a one-command deploy.
  • Shut everything down, including the storage that keeps billing after the pod is gone.

In the reproducible deploy, we recreate the part we ran out of time to finish. I learned the teardown step the hard way: stopping the pod doesn't stop the storage bill.

Hosted by

Alexey Grigorev

Alexey Grigorev

Chief Agent Officer at AI Shipping Labs

Software engineer and machine learning practitioner with 15+ years of experience building production ML systems. I focus on practical, production-grade ML and AI systems, from early prototypes to reliable systems in production.

I'm the founder of DataTalks.Club, a free community that connects tens of thousands of practitioners worldwide, and the creator of the Zoomcamp series, free, code-first programs that have reached 100,000+ learners globally.

At AI Shipping Labs, I'm building the kind of environment that would have accelerated my own career growth. After years of teaching at scale, I wanted something more focused: a space for action-oriented builders who want to turn AI ideas into real projects. The community gives members the structure, accountability, and peer support to ship practical AI products consistently, even alongside their main jobs.

alexey@aishippinglabs.com