Concepts

RAG & Knowledge Base

Per-project knowledge bases and the Agentic-RAG retrieval loop.

Each project can have one or more knowledge bases — collections of uploaded documents, chunked and embedded for retrieval.

Agentic-RAG, not static RAG

Retrieval is agent-initiated, not a fixed pre-processing step glued in front of every prompt. A knowledge-retrieval step in a flow (or an agent with knowledge-base access) decides whether it needs to retrieve, based on the conversation so far:

User Query


Agent decides it needs more context


Retrieval call


Embed query → search knowledge base → top matching documents


Inject retrieved context → model → response

A knowledge-retrieval step can run in on-demand mode (the agent chooses when to call it) or always mode (retrieval runs unconditionally before every generation).

Storage isolation

Every knowledge base is backed by its own dedicated, uniquely named storage partition — this prevents cross-tenant data access at the storage layer itself, not just at the query layer.

Retrieval combines vector similarity with keyword-based search for more accurate results than vector-only retrieval, plus metadata filtering (e.g. by document type) where relevant.

Document ingestion

Uploading a document triggers an asynchronous pipeline: chunking → embedding via the knowledge base's configured embedding provider → storage in the knowledge base.

On this page