End-to-End Agent Deployment
We build a FAQ chatbot from notebook to production. You start with a
Jupyter notebook that calls the OpenAI Responses API with a single
search tool. Then you wrap it in FastAPI and add a vanilla-JS
frontend with streaming (SSE). From there you containerize with Docker,
deploy to Railway, and add a GitHub Actions CI/CD pipeline.
Each step is done alongside a coding agent. The prompts are included verbatim so you can reproduce the workflow with any agent you like.
Links
Useful resources for this workshop:
- Starting notebook (gist)
- The Agentic Loop from Scratch - the same loop built by hand, without the web layer.
The app you will build
The final app looks like this:
The final app answers questions from the
DataTalks.Club Data Engineering Zoomcamp FAQ.
The model gets one tool, search(query). Everything else is the
web layer, the container, and the deploy pipeline.
Upgrade to Basic to access this workshop
- Full workshop overview
- Complete page list
- Step-by-step tutorial
- Cancel anytime
Tutorial pages
- Overview and setup
- Part 1: The starting notebook
- Part 2: Notebook to FastAPI backend
- Part 3: Vanilla-JS frontend with Vite
- Part 4: Streaming with Server-Sent Events
- Part 5: Dockerize as one container
- Part 6: Deploy to Railway via CLI
- Part 7: GitHub Actions CI/CD
- Deferred items
- Q&A: side discussions
- Appendix: file inventory
More from AI Shipping Labs
After the Interview: Offers and Negotiation
What happens after the interviews end: how to handle rejections without losing momentum, when to accept an offer, and how to negotiate salary with confidence.
September 16, 2026
The AI Engineering Field Guide
A data-driven guide to the AI engineer role: what the job involves, how the interview process works, and how to handle offers, based on 6,964 real job descriptions.
September 16, 2026
The AI Engineering Interview Process
What AI engineer interviews look like in practice: typical stages, what each round tests, how they differ from classic ML interviews, and how to prepare.
September 16, 2026