# Sample RAG configurations
from rag_opt import SamplerType,RAGPipelineManager
from rag_opt.search_space import RAGSearchSpace
search_space = RAGSearchSpace.from_yaml("./rag_config.yaml")
manager = RAGPipelineManager(
search_space=search_space,
eager_load=False, # Load components on-demand
max_workers=5 # Parallel workers
)
configs = manager.sample(
n_samples=2,
sampler_type=SamplerType.SOBOL
)
# Each config contains:
# - chunk_size, chunk_overlap, max_tokens
# - search_type, k
# - LLM, embeddings, vector store selections
# - temperature, reranker settings