Highlights
- Calling LLMs from Python using the OpenAI API
- Building a conversational chatbot loop
- Embeddings and semantic search
- Vector databases and document indexing
- Retrieval-Augmented Generation (RAG)
- Adding memory to chatbots
- Turning your chatbot into a simple app
Course Details
Module 1 — Introduction to LLM ChatbotsGoal: Understand how modern chatbots work and call an LLM from Python.
Topics covered
• What Large Language Models are
• Tokens, context windows, and prompts
• Chat vs completion models
• Roles: system, user, assistant
• Temperature and determinism
• API keys and environment variables
Practical lab
• Install dependencies
• Make your first OpenAI API call
• Generate text responses from Python
Topics covered
• Chat history and message arrays
• Maintaining conversation state
• CLI chatbot architecture
• Streaming responses (optional)
• Designing system prompts
Practical lab
• Build a terminal chatbot
• Add conversation memory
• Customize chatbot behaviour with prompts
Outcome: Attendees have a working chatbot that maintains conversation context.
Module 3 — Embeddings and Semantic SearchGoal: Understand how machines “understand meaning” in text.
Topics covered
• What embeddings are
• Vector representations of text
• Cosine similarity
• Semantic search vs keyword search
• Introduction to vector databases
Practical lab
• Generate embeddings
• Compare similarity between sentences
• Implement simple semantic search
Outcome: Attendees understand the foundation of retrieval systems.
Module 4 — Document Indexing for RAGGoal: Prepare documents for retrieval.
Topics covered
• Why chunking matters
• Chunk size strategies
• Metadata storage
• Building an embedding index
• Loading text/PDF documents
• Vector storage concepts
Practical lab
• Load documents
• Split into chunks
• Generate embeddings
• Store in a vector database (e.g. Chroma)
Outcome: Attendees can build a searchable knowledge index.
Module 5 — Retrieval-Augmented Generation (RAG)Goal: Build a chatbot that answers questions using external knowledge.
Topics covered
• The RAG pipeline
• Query embedding
• Retrieving relevant chunks
• Prompt grounding
• Hallucination reduction
• Context injection patterns
Practical lab - Build a RAG chatbot that:
• accepts a question
• retrieves relevant document chunks
• generates a grounded answer
Outcome: Attendees build a real knowledge-based chatbot.
Module 6 — Conversation Memory and ImprovementsGoal: Make the chatbot feel more natural and reliable.
Topics covered
• Short-term vs long-term memory
• Conversation summarization
• Token limits and context management
• Prompt templates
• Guardrails and instruction tuning
Practical lab
• Add memory summarization
• Improve chatbot reliability
• Implement structured prompts
Outcome: Attendees can extend chatbot capabilities beyond basic RAG.
Module 7 — Deploying a Chatbot (Optional)Goal: Turn the chatbot into an application.
Topics covered
• FastAPI chatbot endpoint
• Simple web UI (Streamlit or similar)
• Session handling
• Environment configuration
• Deployment basics
Practical lab
• Build a chatbot API
• Connect a minimal UI
Outcome: Attendees deploy a working chatbot service.
Who should attend
This course is for developers with basic Python knowledge who want to build real AI applications.
You don’t need prior AI or machine learning experience. It’s ideal for:
- Python developers curious about LLMs and chatbots
- Software engineers exploring AI integration
- Backend or full-stack developers adding AI features
- Technical founders building AI products
- Students wanting practical, hands-on AI skills
If you can write basic Python scripts, you’re ready.
Feedback
4.8 out of 5 average
"Our tailored course provided a well rounded introduction and also covered some intermediate level topics that we needed to know. Clive gave us some best practice ideas and tips to take away. Fast paced but the instructor never lost any of the delegates"
Brian Leek, Data Analyst, May 2022