> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brosbots.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Knowledge base

> Upload documents (price lists, terms, manuals) the agent uses during calls. Several files at once, up to 100 MB each.

## Introduction

The knowledge base holds documents the agent draws answers from during a
call. The platform splits each document into passages, and during the call it
looks up the ones that match the caller's question. That is why a document
can be long: only the passages needed go into the prompt.

This is not the same as the **Knowledge base** box in the
[template wizard](/en/voice-agent/onboarding-templates#knowledge-base-and-faq),
whose text goes into the prompt whole and is therefore limited to 2 MB.

<Note>
  The knowledge base is available on paid plans.
</Note>

## Uploading documents

1. Open **Files / Knowledge** in the menu and go to the **Upload New** tab.
2. Drag files onto the box or click **Choose files**. You can pick several
   files at once.
3. Each file gets its own progress bar in the list. Two upload at a time; the
   rest wait in the queue.

| | |
| - | - |
| **Formats** | PDF, DOCX, PPTX, XLSX, TXT, MD, HTML, CSV |
| **Size** | up to 100 MB per file |

Save older Word files (`.doc`) as DOCX first. A file in another format or over
100 MB shows up in the list with an error straight away and is not sent. If an
upload fails (a dropped connection, say), click the retry icon next to the
file.

Files go straight to file storage, without passing through the application
server, so large documents upload faster. Where your network does not allow
that, the upload automatically goes through the application server instead.
There is nothing to set up.

## Processing

After upload, the document is processed in the background: converted to
text, split into passages and indexed. This takes from a few seconds to a few
minutes. You can follow the status in the **All Files** tab:

* **Pending** / **Processing**: the document is queued or in progress,
* **Completed**: the agent can use it,
* **Failed**: for example the file is damaged, or it duplicates a document
  already in your knowledge base (the content is compared, not the name).

## How a document is split

A passage holds up to about 480 tokens, counted with the same tokenizer the
search model uses. That is roughly a page of text. The platform takes care not
to cut apart what belongs together:

* A **table** (a price list, say) goes into one passage when it fits. A longer
  one is split between rows, and every piece gets the table header, so the row
  "Oil change | 150 PLN" never loses its price column.
* A **list** and the paragraphs under one heading are merged as long as they
  fit into one passage.
* Consecutive passages of the same section **overlap** by about 15%: the end
  of one is repeated at the start of the next, so an item at the boundary is
  whole in at least one of them.

For each question the agent gets the **6 best-matching passages**. A 40-item
price list fits into two or three passages, so the agent sees all of it.

<Note>
  Documents uploaded before 19 October 2026 were split into much smaller pieces.
  We are re-indexing them on our side; you do not need to upload them again.
  Until then the agent keeps using the old split.
</Note>

## Attaching documents to an agent

Pick ready documents in the **Knowledge** tab of the
[agent editor](/en/voice-agent/agent-editor). The agent only uses the
documents attached to it.

<Tip>
  Several smaller documents on specific topics (price list, terms, manual) work
  better than one file with everything. The agent finds the right passage more
  easily.
</Tip>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.