Skip to content

RAG Pipeline

The traitclaw-rag crate provides a modular RAG pipeline with pluggable retrievers and chunkers.

use traitclaw_rag::{RagContextManager, KeywordRetriever, FixedSizeChunker};
// 1. Chunk your documents
let chunker = FixedSizeChunker::new(512);
let chunks = chunker.chunk(&document_text);
// 2. Create a retriever
let retriever = KeywordRetriever::new(chunks);
// 3. Use as a ContextManager
let rag = RagContextManager::new(retriever);
let agent = Agent::builder()
.provider(provider)
.context_manager(rag)
.build()?;
RetrieverMethodBest For
KeywordRetrieverBM25Fast keyword matching
EmbeddingRetrieverCosine similaritySemantic search
HybridRetrieverBM25 + EmbeddingsBest of both
ChunkerStrategy
FixedSizeChunkerFixed token/char count
SentenceChunkerSplit on sentence boundaries
RecursiveChunkerHierarchical splitting