RAG App Development - up1/training-courses GitHub Wiki

🧠 RAG App Development Course Outline

Target Audience: Developers, AI Engineers, Solution Architects
Duration: 1–2 Days (Adjustable)
Format: Theory + Demos + Hands-on Labs


🗓️ Day 1 – Introduction & Core Concepts

🔹 Module 1: Introduction to RAG

  • What is Retrieval-Augmented Generation?
  • Why RAG? Limitations of traditional LLMs
  • RAG Architecture Overview
  • Key Components: Query, Retriever, Vector DB, Generator

🔹 Module 2: Core Components Deep Dive

  • Vector Embeddings: Converting text to vectors
    • Providers: OpenAI, Cohere, HuggingFace
  • Document Chunking & Preprocessing Techniques
  • Vector Stores: FAISS, Pinecone, ChromaDB
  • LLM Integrations: OpenAI, Claude, Ollama

🔹 Module 3: Building Blocks of a RAG App

  • Step-by-step RAG pipeline:
    • Data ingestion
    • Indexing documents
    • Query understanding
    • Retrieval
    • Generation
  • Types of RAG:
    • Retrieve-then-Generate
    • Generate-then-Retrieve

🔹 Lab 1: Build a Basic RAG App

  • Dataset: PDF/Text/Markdown
  • Embeddings + FAISS + OpenAI GPT
  • Simple frontend (Streamlit or Flask)

🗓️ Day 2 – Advanced Features & Productionizing

🔹 Module 4: Enhancing RAG Performance

  • Prompt engineering for better generation
  • Hybrid search (semantic + keyword)
  • Metadata filtering
  • Response re-ranking
  • Caching strategies

🔹 Module 5: Evaluation & Metrics

  • Groundedness & Faithfulness
  • Evaluation methods: BLEU, ROUGE, LLM-as-a-judge
  • Human-in-the-loop validation

🔹 Module 6: Scaling & Deployment

  • Using LangChain, LlamaIndex, Ragas for modular RAG
  • Integrating APIs (e.g., LangSmith)
  • Security and privacy considerations

🛠️ Tools & Libraries

  • Embeddings: OpenAI, Cohere, HuggingFace
  • Vector DBs: FAISS, ChromaDB, Pinecone
  • Frameworks: LangChain, LlamaIndex
  • Deployment: Flask, Streamlit, Docker
  • Evaluation: RAGAS, LLM-judge tools

✅ Outcomes

By the end of the workshop, participants will:

  • Understand the RAG architecture
  • Build and deploy a basic RAG-powered app
  • Explore advanced optimization techniques
  • Evaluate and improve RAG-based systems