Skip to content

Module 10 RAG OpenSearch and LiteLLM

github-actions[bot] edited this page Oct 2, 2026 · 3 revisions

📚 Module 10 · RAG, OpenSearch and LiteLLM

Retrieval done properly — chunking, hybrid search, reranking, and an evaluation gate.

Module 10 of 16 · track Ground · Estimated time: 8–10 hours · Prerequisites: Module 02. Module 06 or 08 for the agentic RAG labs.

The largest module, and the one with the most production value. Naive RAG is easy and usually bad. This module walks the whole pipeline — corpus, chunking, lexical and dense retrieval, fusion, reranking, context packing, evaluation — with a reusable ragkit library you can lift into your own work.

Open the module on GitHub ↗: the slides, notebooks, exercises and solutions are there. This page is the reading order, with the tutorial and the workbench alongside.

Read first, on the site

The lesson that frames this module is Is 82% Good Enough? How to Prove an AI Agent Meets Its Bar (6 min): the evaluation gate retrieval has to pass. Then try the acceptance bar calculator in the workbench: the same decision, with your numbers.

What you will be able to do

  • Build RAG by hand before using any managed service
  • Choose a chunking strategy from document structure rather than habit
  • Combine lexical and dense retrieval with reciprocal rank fusion
  • Add reranking and measure whether it actually helped
  • Gate a RAG release on evaluation metrics, not impressions
  • Route across model providers with LiteLLM and fail over cleanly

Concepts in this module

Portable GenAI concepts AWS-specific surface
Chunking Amazon OpenSearch Serverless
Embeddings Bedrock Knowledge Bases
Lexical vs dense retrieval Bedrock embeddings
Hybrid search and RRF Bedrock Runtime
Reranking
Context packing
RAG evaluation
Model routing

Portable concepts transfer to any stack. The AWS column is where this module touches the cloud — see docs/concepts/portability-matrix.md.

Run it in this order

# Step What it is
1 📖 slides/02_RAG_slides.md RAG fundamentals
2 📖 src/rag_by_hand.py RAG by hand — no library, no magic
3 💻 labs/rag-labs/01_foundations.ipynb Lab 1 — foundations
4 💻 labs/rag-labs/03_index_design.ipynb Lab 3 — index and chunking design
5 💻 labs/rag-labs/04_retrieval_reranking.ipynb Lab 4 — retrieval and reranking
6 ✏️ exercises/EX3_RAG_interim1.md RAG interim exercise 1
7 💻 labs/rag-labs/05_context_generation.ipynb Lab 5 — context packing and generation
8 💻 labs/rag-labs/06_evaluation_gate.ipynb Lab 6 — the evaluation gate
9 ✏️ exercises/EX5_RAG_final.md RAG final exercise
10 💻 labs/rag-labs/07_tokens_cost.ipynb Lab 7 — tokens and cost
11 💻 labs/rag-labs/08_agentic_fde_lab.ipynb Lab 8 — agentic RAG
12 📖 slides/AWS_OpenSearch_Deck_1.pptx OpenSearch, part 1
13 💻 labs/opensearch/opensearch_lab.py OpenSearch lab
14 📖 slides/01_LiteLLM_slides.md LiteLLM — provider routing
15 💻 notebooks/01_LiteLLM_notebook.ipynb LiteLLM notebook
16 ✏️ exercises/EX6_consolidated_takehome.md Consolidated take-home

📖 read   💻 run   ✏️ practise   📊 workbook   🔖 reference

Worked solutions live in solutions/. Attempt every exercise closed-book first — the solutions are written to be read after you have a wrong answer to compare against.

Project artefact

labs/rag-labs/ragkit is a complete, reusable retrieval library — chunking, fusion, reranking, evaluation, cost. Lift it into your own projects.

Common mistakes

  • Chunking by character count because it was the default. Structure beats size.
  • Reranking added without measurement — it costs latency and may not help your corpus.
  • Evaluating RAG on vibes. Build the golden set first.

When it breaks

Every error anyone has hit in this course is in the Error Index, by the exact string. Model access and region problems are in Model and Region Notes. If it is a question rather than an error, check the answered ones first, then ask in Q&A.

Field guide for this module

Frameworks

Quick reference

Recipes and procedures


← Module 09 · LLM Memory Mechanics · All modules · Module 11 · Amazon Bedrock AgentCore →

✏️ This page is generated from modules/10-rag-opensearch-litellm/README.md. To change it, edit the module README: an edit made here is replaced at the next sync.

🗺️ Navigate

🏠 Wiki Home

▶ Start

▶ Start here · 55 lessons, on the site ↗

  1. Getting started · 2
  2. Agentic PDLC fundamentals · 9
  3. Methods decoded · 7
  4. Running delivery · 13
  5. By role · 9
  6. Teams and organisation · 4
  7. Practice · 4
  8. Interviews and careers · 7

📗 Method and reference

The method
The Agentic PDLC
The Eight Loops
Gates & Governance
The Evidence Pack

The journey · end to end
Product manager
Solution architect
Engineering lead
QA lead
DevOps & platform

The method · by role
Product manager
Solution architect
Engineering lead
QA lead
DevOps and platform
Sponsor

How to
Run an NFR workshop
Design an agent on paper
Build, buy or borrow
Cut sprints into bolts
Review by risk band
Prove the bar
Control the token bill
Hold the security boundary
Run a missing-control postmortem

Reference
Mental Models
Glossary
Formulas & Calculators
Decision Trees
Scenario Library
Exercises & Answers
Anti-Patterns
Sources & Confidence
Where do I find…?


📚 Course and labs

The course companion · Labs

The 16 modules
  1. Agentic Foundations
  2. LLM Intuition and the AWS Bridge
  3. Amazon Bedrock Essentials
  4. Amazon Bedrock Agents
  5. Agent Builder, Knowledge Bases and Guardrails
  6. The Agent Loop: No Framework to Strands
  7. Strands Foundations: Tools, Memory and MCP
  8. Multi-Agent Patterns with Strands
  9. LangChain and LangGraph
  10. LLM Memory Mechanics
  11. RAG, OpenSearch and LiteLLM
  12. Amazon Bedrock AgentCore
  13. A2A and A2UI: Agent Interoperability
  14. Agentic QA and Evaluation
  15. End-to-End Production Pipeline
  16. Agentic Product Lifecycle

Learning paths · Field guide
Study Plans


🎓 Cohort kit

Cohort Kit · Session template

Eight sessions
  1. Kick-off
  2. Frame and spec
  3. Build, run and the loops
  4. Methods decoded
  5. Plan and review
  6. Prove and ship
  7. Govern and scale
  8. Practice and roles

💬 Community and maintenance

Living notes
Error Index
Community Answers
Field Notes
Model & Region Notes
Cost Log
Scoreboard 🧪

The project
Roadmap
Editing this wiki
Maintainer Runbook


📦 Elsewhere

📘 The manual · live
🛫 Ninety Days, the simulator
🧰 The workbench
👔 For leadership
🧠 Mental models
Templates · Prompts
Frameworks & acronyms
The repository · Setup

Pinned discussions
Discussion map — where to post what
Exercise & lab index
Simulator Arena — get a lab graded
Pitch an idea
All discussions →

Clone this wiki locally