Overview
This Java-based path teaches RAG fundamentals, showing how to combine retrieval and LLMs for accurate, context-rich generation. Learn RAG basics, use vector databases, apply embeddings for semantic search, and build a complete end-to-end RAG pipeline in Java.
Syllabus
- Course 1: Introduction to RAG with Java
- Course 2: Text Representation Techniques for RAG Systems with Java
- Course 3: Scaling up RAG with Vector Databases in Java
- Course 4: Beyond Basic RAG: Improving our Pipeline in Java
Courses
-
Learn what Retrieval-Augmented Generation (RAG) is, why combining retrieval with generation can reduce hallucinations, and how a basic RAG workflow contrasts with naive prompting. This course is mostly informational, setting the stage for more hands-on work in later courses.
-
Learn how to represent text effectively for Retrieval-Augmented Generation (RAG). Explore the importance of text representation, compare Bag-of-Words and embeddings, visualize embeddings with t-SNE, and assess their performance in document retrieval and semantic search.
-
Scale your RAG system with a vector database. Learn to preprocess documents, store embeddings in ChromaDB, retrieve chunks using filters and weights, and build prompts for multi-chunk context. Also, manage updates and handle large-scale ingestion with batch strategies.
-
Enhance your RAG pipeline with advanced retrieval techniques. Combine BM25 with embeddings, refine queries iteratively, build final context, and constrain LLMs to use only retrieved data. Optionally, summarize multiple chunks into a concise context to improve accuracy and responses.