Chapter 4. Adding Knowledge: Syncopation
The patterns in this chapter build on the fundamentals of RAG we discussed in Chapter 3 (see Figure 3-1). We recommend that you read Chapter 3 before this one, to learn the fundamental concepts that underlie all RAG use cases. Once you gain an understanding of the possibilities, you can choose how to implement the components of your RAG pipelines based on the characteristics of your use case. We cover that in this chapter.
Pattern 9: Index-Aware Retrieval
You can improve on Basic RAG (Pattern 6) and Semantic Indexing (Patterns 7) by taking advantage of knowing what text the chunks contain and how they’ve been indexed. Which specific components of this pattern you incorporate will depend on the type of content you have.
Problem
RAG is based on the assumptions that (1) you can search a knowledge base for chunks that are similar to a question and (2) you can use the retrieved chunks to ground the answer. However, the first assumption does not hold in several situations: when the question is not present in the knowledge base, when the knowledge base uses technical language that is different from what users query for, when the answer is a fine detail hidden inside a chunk, and when the answer involves a holistic interpretation of several chunks.
Question not present in knowledge base
Unless you’re indexing FAQs, support tickets, or discussion forums, the question itself will not appear in the knowledge base. For example, you may ask this ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access