Document intelligence

The Knowledge base reads your documents, connects them, and answers questions with citations to the exact passage.

Ask from the console, through the API, or from an AI assistant over MCP.

How a document is processed#

Figure 1. Each file goes to the reader built for its type, then becomes searchable passages with links to related documents.

Figure 1. Each file goes to the reader built for its type, then becomes searchable passages with links to related documents.

The right reader for each file#

The file type is detected from its contents, not its name.

ContentReaderNotes
Text PDFs, Word, PowerPoint, HTMLDoclingKeeps headings, tables and reading order.
Scanned PDFs and imagesPaddleOCR-VL (self-hosted)Vision OCR on our GPU server. If that server is unavailable, Docling's built-in OCR takes over.
Excel, CSV, JSON, XMLSpreadsheet parserNo model needed. Tables are split between rows with the header kept, so citations point to a sheet and cell range.
Email and ZIP filesUnpackerEach attachment goes to its own reader.
WebsitesCrawlerA bounded crawl that respects robots.txt.

Search and answers#

StageWhat it does
EmbeddingsTurns passages into vectors for meaning-based search. The model is set per workspace.
SearchQdrant combines meaning-based and keyword search.
RerankingQwen3-Reranker-4B (self-hosted) picks the best passages.
Document linksShows which documents cite each other or share terms, and flags documents that are cited but not uploaded.
AnswerThe model chosen in Settings → LLM writes the answer from the retrieved passages only.

Every citation is checked against the retrieved passages. If the evidence is missing, the Knowledge base says so instead of guessing, and logs the question for review.

Where your data goes#

Most steps run on our own servers. Two steps use an outside AI provider by default, and both can be switched to self-hosted models.

StepRuns onSent outside
Storing documentsOur serversNothing
Reading files and OCROur serversNothing
Reranking resultsOur serversNothing
Creating search vectorsOpenAI, by defaultPassage text. Choose self-hosted embeddings to keep it in.
Writing answersThe model in Settings → LLMThe question and the passages used. Choose a self-hosted model to keep it in.

Working with documents#

  • Large files are processed in the background, so uploads return straight away.
  • Uploading a new version builds it in the background, then swaps it in. The previous version is kept.
  • Each workspace has its own search index and document graph.
  • Operators, contributors and admins can add documents. Everyone in the workspace can ask questions.