Introduction to RAG with Java
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.
Text Representation Techniques for RAG Systems with Java
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.
Scaling up RAG with Vector Databases in Java
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.
Beyond Basic RAG: Improving our Pipeline in Java
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.