← all repositories
QuivrHQ/quivr

A RAG framework that picks the stack so you don't have to

Quivr wraps retrieval-augmented generation in a Python library with YAML-configurable workflows, letting you swap LLMs and vector stores without rewriting plumbing.

quivr
Velocity · 7d
+35
★ / day
Trend
steady
star history

What it does Quivr is a Python package (quivr-core) that ingests files, indexes them, and answers questions through a configurable RAG pipeline. You instantiate a Brain, point it at PDFs or text files, and call brain.ask(). The heavy lifting—chunking, embedding, retrieval, reranking, generation—is handled behind a YAML workflow file.

The interesting bit The “opinionated” part is the real pitch. Quivr doesn’t just expose raw LangChain-style primitives; it ships a default node graph (START → filter_history → rewrite → retrieve → generate_rag → END) that you can tweak without touching Python. Swap Cohere for a local Ollama model, change the reranker, or adjust history window—all in config. It’s RAG as infrastructure, not RAG as craft project.

Key highlights

  • Pluggable LLMs: OpenAI, Anthropic, Mistral, Gemma, or local via Ollama
  • Pluggable vector stores: PGVector, Faiss (per description; README focuses on usage)
  • File ingestion through partner project Megaparse, with custom parser support
  • Workflow nodes include history filtering and query rewriting before retrieval
  • Apache 2.0 licensed, YC-backed

Caveats

  • The README’s “any vector store” claim isn’t demonstrated in the quickstart; the examples lean on default configurations without showing store selection
  • The 5-line example is slightly aspirational (tempfile boilerplate plus a typo in the question)
  • Documentation lives externally at core.quivr.com; the repo itself is sparse on deep architectural detail

Verdict Good fit if you want RAG in production without assembling twelve micro-libraries yourself. Less compelling if you need fine-grained control over embedding models or retrieval strategies—the YAML abstraction is a ceiling as much as a floor.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.