RAG platform round-up

Best RAG platforms for documentation and support

Last reviewed:

Every AI assistant for docs is a RAG platform underneath. The difference is what each one does at retrieval time. This is a technical comparison of the RAG stack across platforms docs and support teams often compare: hybrid vs vector-only search, reranking, abstention, citations and MCP. Where a vendor doesn't document a stage, the table says so.

Short answer

Choose OpenAI File Search if you are building your own assistant and want managed hybrid retrieval inside the OpenAI API. Choose Kapa, Inkeep, Chatbase or Brainfish if their surfaces, pricing or agent features fit your team better; each documents different parts of its retrieval. Choose Kelu if you want hybrid search, a cross-encoder reranker and an enforced abstention gate, documented end to end, with a free plan and answers in your widget, Slack, Teams, MCP and helpdesk.

At a glance

Drawn from each vendor's own documentation. "Not documented" means we found nothing either way in the vendor's own docs, not that the feature is missing.

Feature
Kelu
Kapa
Inkeep
Unified Search (Enterprise)
Chatbase
Brainfish
OpenAI File Search
Responses API
Vector retrieval
pgvector cosine, text-embedding-3-large
Yes: dense multilingual embeddings
Yes
Not documented
Yes
Yes
Full-text (keyword) search
PostgreSQL full-text search (ts_rank_cd) on every chunk
Yes: a separate keyword search tool
Yes: semantic + keyword
Not documented
Yes: full-text over article content
Yes: semantic + keyword
Fusion (RRF)
Reciprocal rank fusion of vector + full-text
Not documented; the agent calls each search tool
Hybrid; method not documented
Not documented
Hybrid; method not documented
Yes: reciprocal rank fusion with adjustable weights
LLM query rewrite (before retrieval)
Yes
Agentic planning of searches; not called a rewrite
Not documented
Not documented
Not documented
Opt-in rewrite_query on vector store search
Reranking
Yes: hosted cross-encoder set by Kelu, with an LLM reranker fallback
Yes: cross-encoder
Yes; type not documented
Not documented
Not documented
Yes: ranker and score threshold; type not documented
Abstention (refuse when uncertain)
Yes: enforced, not just prompted
Built into its fixed instructions, which you can't change
Described; prompt-driven in the agent builder
Prompt-driven fallback message
Yes: fallback when approved knowledge can't answer
None built in; you prompt for it
Source citations
Yes: numbered, and none when it abstains
Yes: inline citations in its own agents
Available
Not documented
Configurable: on, off or inline
Available: file_citation annotations
Chunking strategy
Heading-aware; PDF heading inference; code-aware for repos
Not documented in detail
Custom per source type
Not documented
Chunks per article
Fixed size: 800 tokens with 400 overlap by default; configurable
Ingest sources
24 source types
About 24 connectors: sites, docs, tickets, chat, repos
25+ data sources
Files, websites, text, Q&A, Notion, Salesforce and Zendesk tickets
Docs platforms, help centers, wikis, Drive, websites, API
File upload only
MCP server for your knowledge
Yes: per knowledge base, every plan
Yes: hosted
Yes: managed (Enterprise)
MCP for managing the workspace, not knowledge search
Yes: hosted
No hosted server; docs show how to build one
Public API + streaming
Yes: SSE and WebSocket, on every plan
Yes: chunked HTTP streaming
Yes: OpenAI-compatible API with streaming
Yes: Basic plan and up; SSE
Yes; API docs still being written
Yes: it is the API; SSE
Pricing
Free; Pro $99/month ($79 billed yearly); Enterprise custom
14-day free trial; usage-based Growth plan; Enterprise custom
No free cloud tier; Enterprise by demo
Hobby $32, Basic $120, Business $400 a month (billed yearly)
No prices on its pricing page; its help center says the Platform plan starts at $1,500/month
Pay per use: storage, tool calls and model tokens

The RAG stack, in one page

A production docs RAG platform has five stages, and each one has a decision that affects accuracy: 1. Ingest and chunk. How you split a document into chunks decides what retrieval can find. Chunking by heading keeps context; fixed-size windows can cut a section in half. PDFs need their headings inferred because they carry no structure, and code needs to survive extraction so retrieval can find error strings. Kelu's ingest turns HTML into markdown, strips navigation and boilerplate, chunks by heading, and infers headings for PDFs. 2. Embed. Each chunk becomes a vector (embeddings). Kelu uses OpenAI's text-embedding-3-large. The embedding model matters, but it is rarely where accuracy is won or lost. 3. Retrieve. The most important stage. Vector-only retrieval can miss exact-match queries such as error codes, SKUs and API names. Hybrid search runs vector and keyword search together and merges the results, for example with reciprocal rank fusion, so both kinds of query are caught. Kelu uses PostgreSQL full-text search on the keyword side, and an LLM rewrites the query before search to help with paraphrased questions. 4. Rerank. A cross-encoder reranker reads the question and each candidate passage together and decides which ones actually answer it. Kelu runs a hosted cross-encoder that Kelu chooses and tunes (it is not a per-customer setting), and falls back to an LLM reranker if the cross-encoder is unavailable. 5. Ground and generate. The top passages become the context, and the model is told to answer only from it (grounding). Kelu's abstention gate withholds both the passages and the citations when retrieval finds the question isn't covered, so the reply is "I don't know" rather than a plausible guess. Most platforms document stages 1, 2 and 5 in some form. What varies, and what the table shows, is how much of stages 3 and 4 each vendor documents, and whether abstention is enforced or only prompted. Ask any vendor which stages they own and which they leave to you.

Measuring quality: how you catch a regression

Retrieval quality drifts. A big docs migration, a new source, a reranker change or a model update on the provider side can all make answers worse without anyone noticing until users complain. Automated evals catch this: a fixed set of questions with expected answers, scored for groundedness and citation quality, and tracked over time. On most platforms this is internal tooling, or something you build yourself against the API. Thumbs up and down is a noisy signal, because it only comes from users who bother to click. It is necessary but not enough. In Kelu, answer quality shows up as thumbs feedback, citation coverage and the knowledge gap report, which lists the questions your sources couldn't answer.

Got questions?

Frequently asked questions

Is hybrid retrieval really that much better than vector-only?

On paraphrased questions in common words, the difference is small. On exact-match queries (error codes, SKUs, API method names, product terms) and niche vocabulary, hybrid retrieval catches what vector-only search can miss. Which case you're in depends on your docs. Rule of thumb: the more literal and technical your content, the more it matters.

How much does reranking add?

It depends on your docs and your questions, so measure it on your own question set. A cross-encoder reads the question and each passage together, which is slower than vector search but better at telling which passage actually answers the question. That matters most when only a few passages fit in the model's context.

Why does abstention matter so much?

Because a confident wrong answer is the worst outcome for a customer-facing assistant. Prompt-only abstention ("answer only from the context, otherwise say you don't know") depends on the model following that instruction every time. An enforced gate, which decides before generation whether the sources cover the question, doesn't depend on the model's judgment.

Is OpenAI File Search vector-only?

No. OpenAI's retrieval guide describes semantic and keyword search merged with reciprocal rank fusion, plus a ranker and a score threshold. Files are split into 800-token chunks with 400-token overlap by default. It has no built-in abstention or hosted MCP server, and it reads only files you upload. The Assistants API was shut down on August 26, 2026; file search now runs through the Responses API.

Do all platforms let me measure retrieval quality independently?

Not really. Most platforms, Kelu included, show answer-level feedback and analytics. Scoring retrieval stage by stage tends to be internal tooling that customers can't run.

What's the biggest RAG mistake teams make?

Not measuring. Every retrieval change needs a way to show it improved something without breaking something else. Build a fixed set of test questions before you tune retrieval, not after.

See it on your own docs

Connect a source and get your first cited AI answer in under 5 minutes. Free plan, no credit card required.

Free to start · No credit card required · Talk to Sales →