
I built ragway — a Python RAG library controlled by a single YAML file
I spent the last few months building ragway , a Python RAG library where the entire pipeline is controlled by a single YAML file. The Problem Every RAG project I worked on ended up with the same messy code: branching logic to switch between LLMs, copy-pasted vectorstore setup, tightly coupled retrieval and generation. When requirements changed — swap GPT-4 for Llama, move from FAISS to Pinecone — it meant touching a lot of code that shouldn't need to change. The Solution ragway separates configuration from code completely. One YAML file describes your entire pipeline: version : " 1.0" pipeline : hybrid plugins : llm : provider : groq model : llama-3.3-70b-versatile api_key : ${GROQ_API_KEY} embedding : provider : bge model : BAAI/bge-large-en-v1.5 vectorstore : provider : qdrant index_path : .ragway/index reranker : enabled : true provider : bge chunking : strategy : recursive chunk_size : 512 Your Python code never changes: from ragway import RAG import asyncio rag = RAG . from_config
Continue reading on Dev.to
Opens in a new tab



