

Hands-On LLM Engineering with Python (Part 1)
Who is this for?
Students, developers, and anyone interested in using Large Language Models (LLMs) to build real software solutions with Python.
Tired of vibe coding with AI tools? Want to actually understand and own your code, instead of relying on black-box magic? This session shows you how to build LLM systems properly, with full control and clear engineering principles.
Who is leading the session?
The session is led by Dr. Stelios Sotiriadis, CEO of Warestack, Associate Professor and MSc Programme Director at Birkbeck, University of London, specialising in cloud computing, distributed systems, and AI engineering.
Stelios holds a PhD from the University of Derby, completed a postdoctoral fellowship at the University of Toronto, and has worked on industry and research projects with Huawei, IBM, Autodesk, and multiple startups. Since moving to London in 2018, he has been teaching at Birkbeck. In 2021, he founded Warestack, building software for startups around the world.
What we’ll cover?
A hands-on introduction to building software with LLMs using Python, Ollama, and LiteLLM, including:
How LLMs, embeddings, and agents work.
Calling local models with Ollama or cloud models (OpenAI, Gemini and more).
Using LiteLLM for custom prompts and tool-calling.
Building simple agents from scratch.
Introduction to RAG (Retrieval-Augmented Generation).
Working with vector databases (ChromaDB) and vector similarity search library (FAISS).
Storing, searching, and retrieving embeddings.
Introduction to Streamlit for interactive data apps.
End-to-end examples you can run on your own machine.
This session focuses on theory, fundamentals and real code you can re-use.
Why LiteLLM?
LiteLLM gives you low-level control to build custom LLM solutions your own way, without a heavy framework like LangChain, so you understand how everything works and design your own architecture. A dedicated LangChain session will follow for those who want to go further.
What are the requirements?
Bring a laptop with Python installed (Windows, macOS, or Linux), along with Visual Studio Code or a similar IDE, with at least 10GB of free disk space and 8GB of RAM.
This space is needed for running local models during the workshop.
If you don’t have a suitable laptop, please contact Stelios ([email protected]) before registering.
What is the format?
A 3-hour live session with:
Interactive theory blocks
Hands-on coding
Step-by-step exercises
Small group support
Three 10-minute breaks
Q&A and class quizzes
This is a highly practical, hands-on class focused on code and building working LLM systems.
What are the prerequisites?
A good understanding of programming with Python is required (basic to intermediate level). I assume you are already comfortable writing Python scripts.
What comes after?
Participants will receive an optional mini capstone project with one-to-one personalised feedback.
Is it just one session?
This is the first session in a new sequence on applied AI, covering agents, RAG systems, vector databases, and production-ready LLM workflows. Later sessions will dive deeper into topics such as embeddings with deep neural networks, LangChain, advanced retrieval, and multi-agent architectures.
You can decide afterwards whether you’d like to join future sessions.
How many participants?
To keep this interactive, only 15 spots are available. Please register as soon as possible.