Knowledge Base

A knowledge base stores documents for your agents to search. Sim extracts their text, splits it into passages called chunks, and creates embeddings: numerical representations used to match a question to relevant content. The Knowledge block retrieves those chunks for an Agent to use in its answer.

Upload files for a fixed collection, or use a connector to keep content in sync with an external source. Organization Search has a separate live-provider catalog; connecting a source to a knowledge base does not enable it in Search.

Create a knowledge base

  1. Open Knowledge Base in your workspace and choose New base.
  2. Enter a name and, optionally, a description. Leave Chunking Strategy on Auto unless you need different boundaries. See chunking strategies for the settings.
  3. Add files when creating the base, or open it and choose New documents.
  4. Wait for processing to finish before searching. A successful upload starts processing; it does not mean the document is indexed yet.

Creating a base and adding documents require workspace write access and the relevant permission-group capabilities.

Supported files and limits

ContentFile extensions
PDF.pdf
Word.doc, .docx
Text and Markdown.txt, .md
HTML.html, .htm
Excel and CSV.xls, .xlsx, .csv
PowerPoint.pptx
Structured data.json, .jsonl, .yaml, .yml

Each file can be up to 100 MiB. One upload action accepts at most 20 files, with 500 MiB total. Legacy .ppt files are not supported; convert them to .pptx first.

Scanned PDFs need Azure-hosted Mistral OCR or Mistral OCR configured on the deployment. Password-protected, malformed, or overly complex files can fail processing even when they meet the upload-size limit. Read the document's error to find the required change.

Verify processing

Sim processes documents in the background:

  1. Extract text using the parser for the file type, with OCR for scanned PDFs.
  2. Chunk the text using the base's settings.
  3. Embed the chunks so a query can match them by meaning.

A document becomes eligible for search when processingStatus is completed. It and its chunks must also be enabled, included, and readable by the caller. See debugging retrieval for status and access checks.

Open a completed document to inspect its chunks. For uploaded documents, you can edit, add, disable, or delete chunks. Connector-managed chunks are read-only; change their content at the source and sync again.

Retrieve and refine

Add a Knowledge block before an Agent, then reference <knowledge.results> in the Agent's prompt. The block can retrieve by query, by tags, or by both. Its retrieval mode controls whether a query uses semantic matching alone or combines it with keyword matching.

Inspect the returned content before changing settings. Use tags to select the relevant document set, and adjust chunking when passages lose context or combine unrelated topics.

Embedding compatibility

Each base records its embedding model and dimensions at creation and retains them for later document processing. The default configuration uses text-embedding-3-small at 1,536 dimensions. Self-hosted operators can choose a supported model and width with KB_EMBEDDING_MODEL and EMBEDDING_OUTPUT_DIMS, including an embedding model on their own Ollama server.

A query search across multiple bases requires the same embedding model and dimensions in every base. Search incompatible bases separately, or rebuild them with matching configuration. Tag-only searches do not compare vectors and do not require this compatibility. Each Knowledge block selects one base; use separate blocks when a workflow needs several.