Goal: Launch a real OpenAI-API-compatible vLLM inference server on a free GPU runtime, call it with the standard openai Python client, and expose it to the public internet — experiencing firsthand the client/server split that separates production inference serving from the single-user, single-machine Ollama workflow you used in Week 2. Steps:
!nvidia-smi in a cell.!pip install vllm. This will take several minutes — use the time to re-read the "vLLM Quickstart" resource linked below.vllm serve is a long-running foreground process, start it in the background from a cell using !nohup vllm serve facebook/opt-125m --port 8000 > vllm.log 2>&1 &. We're using facebook/opt-125m because it's small enough to load quickly on a T4 and is ideal for learning the mechanics rather than waiting on a large download.!tail -n 30 vllm.log) until you see the server report it is running and accepting connections on port 8000. This may take a few minutes as the model loads and the KV-cache is allocated.!pip install openai, then write a short Python script that creates an openai.OpenAI(base_url="http://localhost:8000/v1", api_key="not-needed") client and sends a chat.completions.create(...) request. Print the response.!pip install pyngrok), authenticate with your free ngrok authtoken, and run ngrok.connect(8000) to get a public HTTPS URL for your vLLM server.openai client's base_url at your public ngrok URL instead of localhost, and successfully get a completion back. This step is the payoff: it proves your inference server is now a real network service, not a notebook-local function call.Deliverables: Submit your completed Colab notebook (.ipynb, shared as a downloadable file or exported link) containing all cells and outputs from Steps 1–9, plus a short (150–250 word) written reflection comparing the vLLM client/server architecture to the Week 2 Ollama setup and noting one thing that surprised you about running a "real" inference server.