← ClaudeAtlas

rag-patternslisted

Retrieval-Augmented Generation architecture patterns. Chunking strategies, retrieval pipelines, re-ranking, hybrid search, evaluation, and production RAG system design. USE WHEN: user mentions "RAG", "retrieval augmented generation", "document Q&A", "knowledge base chatbot", "semantic search pipeline", "chunking strategy" DO NOT USE FOR: vector database specifics - use `vector-databases`; LangChain implementation - use `langchain`; direct LLM API calls - use Claude/OpenAI SDK skills
claude-dev-suite/claude-dev-suite · ★ 33 · AI & Automation · score 80
Install: claude install-skill claude-dev-suite/claude-dev-suite
# RAG Patterns ## Standard RAG Pipeline ``` Documents → Chunk → Embed → Store (vector DB) Query → Embed → Retrieve → Augment prompt → Generate answer ``` ## Chunking Strategies ```python from langchain_text_splitters import RecursiveCharacterTextSplitter # Recommended defaults splitter = RecursiveCharacterTextSplitter( chunk_size=800, # chars (not tokens) chunk_overlap=200, separators=["\n\n", "\n", ". ", " ", ""], ) chunks = splitter.split_documents(docs) ``` | Strategy | Best For | Chunk Size | |----------|----------|------------| | Fixed-size with overlap | General text | 500-1000 chars | | Recursive character | Structured docs | 500-1000 chars | | Semantic (by meaning) | Long-form content | Variable | | Document-aware (markdown headers) | Technical docs | Section-based | ### Metadata Enrichment ```python for chunk in chunks: chunk.metadata.update({ "source": doc.metadata["source"], "section": extract_section_title(chunk), "doc_id": doc.metadata["id"], "chunk_index": i, }) ``` ## Retrieval Strategies ### Hybrid Search (keyword + semantic) ```python from langchain.retrievers import EnsembleRetriever from langchain_community.retrievers import BM25Retriever bm25 = BM25Retriever.from_documents(docs, k=5) vector_retriever = vectorstore.as_retriever(search_kwargs={"k": 5}) hybrid = EnsembleRetriever( retrievers=[bm25, vector_retriever], weights=[0.3, 0.7], ) ``` ### Re-ranking ```python from cohere i