Stack Gems
Menu

Tag

RAG & retrieval tools

Retrieval, indexing, embeddings. 27 reviewed tools: 25 free or open source, 1 hosted with a real free tier, 1 paid or paid-led.

Order: free and open source first, then hosted products with a real free tier, then paid-led; catalog order inside each group, with quiet or archived repos last. Not a score, and no tool pays for its place.

27 tools

  • HaystackProduction NLP pipelines from deepset

    Free / OSS · Apache-2.0 · 26.8k GitHub stars

    VerdictThe mature choice for document-centric AI applications.

    CatchHaystack strength is also its constraint. The framework assumes pipeline-based architectures; more exotic agent patterns require workarounds.

  • LlamaIndexData framework for LLM applications

    Free / OSS · OSS/MIT · 52.6k GitHub stars

    VerdictThe best data plumbing for LLM applications.

    CatchThe abstraction layers can be confusing. Index, query engine, retriever, synthesizer—the terminology requires investment to master.

  • GraphitiApache-2.0 temporal knowledge graphs for agent memory; Zep's OSS engine

    Free / OSS · Apache-2.0 · 32.1k GitHub stars

    VerdictApache-2.0 temporal memory graphs. Free self-host; Zep Cloud is the paid path.

    CatchFramework only — you run a graph DB + ops. Zep Community Edition deprecated; full Zep SaaS is separate (Free credits then Flex ~$104/mo billed annually). Not a drop-in chat history store. Schema/ops cost vs Mem0 Docker.

  • ChromaApache-2.0 open-source embedding database for AI apps

    Free / OSS · Apache-2.0 · 29.5k GitHub stars

    VerdictApache-2.0 embedding DB. Free self-host.

    CatchHosted Chroma is commercial; self-host ops still yours. Distinct from Qdrant and Pinecone.

  • LanceDBApache-2.0 embedded multimodal vector store on Lance

    Free / OSS · Apache-2.0 · 11.7k GitHub stars

    VerdictApache-2.0 embedded vectors. Free locally.

    CatchEmbedded is not zero ops forever - disk growth still matters. Distinct from Chroma collections DX and sqlite-vec.

  • MarkItDownMIT office/PDF/media→Markdown converter for RAG pipelines

    Free / OSS · OSS/MIT · 191k GitHub stars

    VerdictMIT document converter. Free forever; use when agents need to read Office and PDF, not just code.

    CatchVs files-to-prompt/Repomix/Gitingest (code-context tools): MarkItDown is the *document converter*, not a codebase packer. Heavy formats (PDF, images, audio) need optional dependencies (pdfminer, speechrecognition, Azure services). Quality varies by source format — complex PDFs may need the vision/Azure path.

  • Jujutsu (jj)Apache-2.0 Git-compatible VCS with first-class conflicts

    Free / OSS · Apache-2.0 · 32.2k GitHub stars

    VerdictApache-2.0 Git-compatible VCS. Free forever when you want better local history ergonomics without leaving Git remotes.

    CatchNot a GitHub/GitLab host (see Forgejo). Learning curve is real: mental model differs from Git even when the on-disk store is Git. Ecosystem tooling and host UI still assume Git first. Contributions historically involve a Google CLA — product license stays Apache-2.0.

  • RivetMIT visual AI agent graph IDE + TypeScript runtime (Ironclad)

    Free / OSS · OSS/MIT · 4.7k GitHub stars

    VerdictMIT Ironclad agent-graph IDE. Visual first; embed with rivet-node.

    CatchVs LangGraph (code-first graphs) and Mastra/VoltAgent (TS frameworks): Rivet is visual-graph IDE + embed library, not a coding CLI and not LangChain. Graph quality still depends on your prompts/providers; External Calls need a host app + remote debugger. Desktop-first workflow.

  • GriptapeApache-2.0 Python agents, pipelines, RAG — MCP tools too

    Free / OSS · Apache-2.0 · 2.6k GitHub stars

    VerdictApache-2.0 Python agent/RAG framework. MCP as tools; Cloud free tier is metered, not forever.

    CatchVs LangChain/LangGraph and CrewAI: Griptape is a structured Python agent/RAG framework, not a coding CLI. Cloud Developer free tier needs a payment method on file and meters after small included quotas — pitch the OSS framework first, not Cloud as free forever.

  • Crawl4AIApache-2.0 LLM-friendly crawler — markdown for agents

    Free / OSS · Apache-2.0 · 85.9k GitHub stars

    VerdictApache-2.0 LLM crawler. Markdown-for-agents vs Scrapling/Agent Reach/Browser Use/Stagehand.

    CatchVs Scrapling (adaptive scrape/crawl + MCP), Agent Reach (public-web CLI eyes), Browser Use/Stagehand (browser agents): Crawl4AI is an LLM-oriented crawler/extraction library, not a hosted scrape API, not a site-specific eyes CLI, and not a Playwright agent. You own proxies, blockers, rate limits, and site ToS.

  • WeKnoraMIT self-host RAG/knowledge platform (Tencent)

    Free / OSS · OSS/MIT · 34.9k GitHub stars

    VerdictMIT self-host knowledge/RAG. OSS forever ≠ weknora.weixin.qq.com host; third-party notices are loud.

    CatchOptional weknora.weixin.qq.com host is a separate product surface from the MIT self-host forever path — do not treat Tencent’s hosted WeChat-adjacent portal as the license or the ops model. LICENSE ships with THIRD_PARTY_NOTICES / licenses/ for bundled deps — MIT on the project, not a free pass on every vendored component. Vs LibreChat / AnythingLLM: WeKnora is knowledge/RAG+agent+wiki platform weight, not only a multi-provider chat UI.

  • PageIndex MCPVectorless tree-index RAG over long PDFs — freemium MCP for agents

    Free / OSS · Freemium · 402 GitHub stars

    VerdictFreemium vectorless PDF RAG via MCP. Tree search over long docs; not a general agent memory store.

    CatchHosted MCP needs a PageIndex API key; self-host the core repo if you refuse the cloud. Vs Supermemory / Mem0 / classic vector RAG: this is document-tree reasoning retrieval, not long-term agent memory. Free page quota is a soft ceiling — verify current Dashboard limits before treating it as unlimited corpus ingest.

  • OpenVikingAGPL self-evolving context database for memory, RAG, and skills

    Free / OSS · AGPL-3.0 · 40.5k GitHub stars

    VerdictAGPL-3.0 self-evolving context DB. Broad memory/RAG/skills surface; network copyleft is a deployment decision, not a footnote.

    CatchAGPL-3.0 is strong copyleft, including the network-copyleft boundary when you modify OpenViking and offer it as a service. Get legal review before exposing a modified deployment over a network. Vs Mem0, Graphiti, and Letta: OpenViking is the context database spanning memory/RAG/skills, not simply a memory API, graph memory layer, or agent runtime.

  • DoclingMIT local document parser that feeds PDFs and Office files into gen-AI pipelines

    Free / OSS · OSS/MIT · 69.2k GitHub stars

    VerdictMIT document AI for agent/RAG ingest. Default when PDFs and Office files must become structured context locally.

    CatchVs MinerU and plain OCR pipelines: Docling is the broader multi-format DoclingDocument stack with gen-AI export paths — still expect GPU/CPU cost on heavy PDF batches and imperfect table recovery on ugly scans. Local models and extras increase install weight versus a thin Markdown converter.

  • Code-Graph-RAGMIT Tree-sitter→Memgraph structural RAG for monorepos

    Free / OSS · OSS/MIT · 5.3k GitHub stars

    VerdictMIT structural graph RAG when monorepo English query/edit needs Memgraph+Tree-sitter — not vector-only RAG and not a thin MCP graph.

    CatchVs LAIN (thin ★9 MCP graph): not an MCP coordinator. Vs plain vector RAG: this is structural graph+Memgraph, not chunk embeddings alone. Enterprise support upsell on the site is optional — OSS path stands alone.

  • scriptcApache-2.0 AOT TypeScript/JS → native (IR/C/LLVM/Wasm)

    Free / OSS · Apache-2.0 · 6.3k GitHub stars

    VerdictApache-2.0 AOT TS/JS→native when you want executables/Wasm without embedding Node — not Bun, not Deno, not Oxc; experimental Labs heat.

    CatchVs Bun: Bun is a runtime+pkg toolkit; scriptc is AOT compile-out. Vs Deno: Deno is a runtime; scriptc is a compiler. Vs Oxc: Oxc is parser/lint tooling substrate; scriptc emits native/Wasm. Labs experiment; requires Node ≥24; young (~2 months) — expect sharp edges and fast churn.

  • Arize PhoenixELv2 self-host AI observability & eval — traces, datasets, playground

    Free / OSS · Open-Core · 11.9k GitHub stars

    VerdictELv2 self-host AI obs/eval when Phoenix’s tracing+evals fit and you accept source-available — not Langfuse MIT, not Braintrust CI-eval.

    CatchNOT OSI open source — ELv2 forbids offering Phoenix as a competing hosted SaaS. Vs Langfuse (MIT full-stack self-host) and Braintrust (eval-first freemium): Phoenix is Arize’s ELv2 observability/eval kit with strong notebook/embedding UX, not MIT and not Braintrust’s CI-eval product. Arize cloud is the upsell when you want managed multi-tenant.

  • Open WebUISource-available Ollama/OpenAI chat UI — RAG, tools, multi-user

    Free / OSS · Open-Core · 156k GitHub stars

    VerdictSource-available Ollama/OpenAI chat UI when polished local RAG chat beats building one — branding rules are the Catch vs LibreChat MIT.

    CatchBranding lock — removing “Open WebUI” marks is forbidden above ~50 end users / 30 days without written permission or enterprise license (not OSI MIT/Apache). Vs LibreChat (MIT Agents/MCP/skills orchestration UI): LibreChat leans Agents/MCP/skills; Open WebUI leans Ollama-first chat+RAG+admin. You still BYO models, GPU, and upgrade discipline.

  • HeadroomApache context-compression layer — shrink tool dumps before the model

    Free / OSS · Apache-2.0 · 76.9k GitHub stars

    VerdictApache context compression when tool dumps eat the window — not LiteLLM proxy, not Langfuse, not Mem0; treat the star spike with caution; verify FATAL lines survive.

    Catch★74201 in about 38 weeks (~1953 a week): judge it on the compression fidelity and failure modes, not the star count. Vs litellm / langfuse / mem0: those are proxy/obs/memory lanes — Headroom’s catch is lossy/lossless-ish context compression of tool/RAG payloads. Always validate that error lines and stack traces you care about survive; pin `headroom-ai` package names (not unrelated `headroom` on PyPI).

  • PageIndexMIT self-hosted vectorless tree-RAG core — local mode with your own LLM key

    Free / OSS · OSS/MIT · 39.4k GitHub stars

    VerdictMIT self-hosted tree-RAG core for long text-heavy PDFs with your own LLM key — not the freemium pageindex-mcp; OCR, folders, metadata, MCP, and File System are cloud.

    CatchCloud: OCR and image understanding, Metadata, Folders, the MCP server, and the PageIndex File System (corpus-scale indexing) are PageIndex Cloud only — need a PageIndex API key. Local mode is text-heavy PDFs, one document tree at a time. Not a duplicate of the pageindex-mcp gem: that one is the freemium hosted MCP surface; this is the self-hosted MIT tree-RAG core you run in your own code. Your LLM key pays for every index and query — tree reasoning is token-hungry on big docs. SDK is young (0.2.x); pin it.

  • EdgeQuakeApache-2.0 GraphRAG engine in Rust, runs on local models

    Free / OSS · Apache-2.0 · 2.3k GitHub stars

    VerdictLocal-first GraphRAG in Rust — worth a try for private documents, if you can give it a capable extraction model.

    CatchPre-1.0 with a small group of contributors (about a dozen), so expect breaking changes. Graph quality depends heavily on the model you use for entity extraction — small local models produce thinner, noisier graphs, and the first local run pulls several GB of models. Vs cognee (a more established memory and knowledge-graph layer for agents): EdgeQuake is the lighter Rust option for local GraphRAG.

  • pgvectorOpen-source vector similarity search inside Postgres

    Free / OSS · OSS/MIT · 23.4k GitHub stars

    VerdictThe default first vector store if you already run Postgres — reach for a dedicated vector database only when you outgrow it.

    CatchIt is an extension, so on self-hosted Postgres you compile or package it yourself, and on managed Postgres you are limited to the version your provider ships. HNSW indexes on large tables are slow to build and need plenty of maintenance_work_mem; at hundreds of millions of vectors you will be tuning, quantizing or partitioning. Filtered queries can return fewer rows than expected with approximate indexes unless you use iterative scans (0.8+).

  • Tile38MIT in-memory geospatial database and geofencing server

    Free / OSS · OSS/MIT · 9.7k GitHub stars

    VerdictThe quickest way to add live geofencing — Redis-style simplicity for location data.

    CatchIt is mostly a one-maintainer project, and releases are a few a year. Data must fit in memory. It is a specialised geofencing engine, not a general GIS database; for complex spatial SQL, PostGIS is the tool.

  • OmnigraphMIT graph database on object storage with branching, a typed schema and graph + vector + full-text retrieval for agents

    Free / OSS · OSS/MIT · 1.5k GitHub stars

    VerdictWorth a look if several agents need one typed, versioned world model; overkill for simple chat memory.

    CatchThis is a schema-first database, not a drop-in memory layer like Cognee: you write .pg schemas and a cluster.yaml before anything is stored. It is pre-1.0 (v0.13), so expect breaking changes. Omnigraph Cloud is a private-preview waitlist; self-hosting is the free path today.

  • RagasApache-2.0 RAG/agent eval metrics — synthetic data + CI scorers

    Free / OSS · Apache-2.0 · 16.1k GitHub stars · quiet 180d+

    VerdictApache-2.0 RAG/agent eval metrics when faithfulness and context precision beat a hosted eval bill — not DeepEval pytest, not Promptfoo red-team.

    CatchVs DeepEval (pytest-native agent/chat metrics + Confident AI cloud) and Promptfoo (YAML/CLI red-team): Ragas is RAG-first metric library + synthetic data, not a full red-team harness and not Confident AI dashboards. LLM-as-judge burns provider tokens; cloud extras (if any) are optional — core library stays OSS.

  • DifyOpen-source LLM app/agent studio + cloud freemium (LangGenius)

    Free tier · Freemium · 159k GitHub stars

    VerdictOSS+cloud LLM studio. Full product workspace vs SDK-only; watch SaaS license clauses and Cloud bills.

    Catchdual OSS/cloud: self-host is free under the OSS license; Dify Cloud and edition upgrades are the paid product path — and the LICENSE adds conditions if you offer Dify as multi-tenant SaaS. Vs Mastra / LangGraph (SDK-only orchestration): Dify is a full product studio UI, not a code-first agent framework you embed. Model providers still meter either way.

  • PineconeVector database for AI applications

    Paid-led · Freemium

    VerdictThe managed vector database for production AI.

    CatchVendor lock-in for a core AI capability. Costs scale with vector count and queries. Self-hosting is not an option.

FAQ

What is the top free pick among RAG & retrieval tools?
Haystack leads the Stack Gems list for RAG & retrieval tools. Verdict: The mature choice for document-centric AI applications.
How many RAG & retrieval tools does Stack Gems review?
27: 25 free or open source, 1 hosted with a real free tier, 1 paid or paid-led. Each review has a verdict and an honest Catch; no tool pays for its spot.
Which RAG & retrieval tools can I self-host for free?
Haystack, LlamaIndex, Graphiti, Chroma, LanceDB, MarkItDown, Jujutsu (jj), Rivet and 16 more.
Which RAG & retrieval tools have the most GitHub stars?
MarkItDown (191k), Dify (159k), Open WebUI (156k), per GitHub on 2026-10-21. Stars measure attention, not fit; read the Catch.
What is the catch with Haystack?
Haystack strength is also its constraint.

Best-of lists with these tools