# All about Knowledge Management

### What is a Knowledge Base

A **Knowledge Base (KB)** is a searchable collection of documents. Upload your files - PDFs, Word documents, spreadsheets, presentations, images, ZIP archives, and more - and Blockbrain processes them so that AI agents, chat assistants, and data rooms can retrieve relevant information from them.

When you (or an AI agent) ask a question, Blockbrain doesn't re-read the raw files. Instead, it searches the processed knowledge base and returns the most relevant passages, tables, and images - each with a full citation back to the source document and page number.

#### What can a Knowledge Base be attached to?

| Attach to         | What it enables                                                      |
| ----------------- | -------------------------------------------------------------------- |
| **Conversations** | The AI assistant answers questions grounded in your documents.       |
| **Data Rooms**    | All participants and agents in the room share the same knowledge.    |
| **Bots**          | A bot always has access to a specific set of documents when invoked. |

### Creating a Knowledge Base

**Where:** **Knowledge Management** section → **My Databases** → **+ New Database Source**

<figure><img src="/files/eXcxRrheks9NKgi2NZDR" alt=""><figcaption></figcaption></figure>

#### Basic Settings

| Field                | Required | Notes                                                                                                                              |
| -------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **Name**             | Yes      | Identifies the KB in lists and chat citations.                                                                                     |
| **Description**      | No       | Helps collaborators understand the KB's purpose.                                                                                   |
| **Embedding Models** | No       | The AI model responsible for converting text into **vectors** - lists of numbers that capture the *semantic meaning* of a passage. |

### Uploading Documents

#### Supported File Types

| Type      | Formats                                                                  |
| --------- | ------------------------------------------------------------------------ |
| Documents | PDF, DOCX, DOC, PPTX, PPT, XLSX, XLS, ODT, ODS, ODP                      |
| Text      | TXT, MD, HTML, RTF, CSV                                                  |
| Images    | PNG, JPG, JPEG, GIF, TIFF, BMP, WEBP                                     |
| Archives  | ZIP *(recursively extracted — each file inside is processed separately)* |
| Notebooks | IPYNB                                                                    |
| OneNote   | ONE                                                                      |

How to Upload

1. Open the knowledge base.
2. Click **Upload** or drag files onto the upload area.
3. Optionally provide a **relative path** (e.g. `reports/q1/analysis.pdf`) to place the file inside a folder hierarchy automatically. Folders that don't exist yet are created for you.
4. The file is stored immediately. Processing happens in the background.

#### Uploading a ZIP File

When you upload a ZIP, each file inside is extracted and ingested individually. The folder structure inside the ZIP mirrors the folder structure created inside the KB. Files that cannot be processed (e.g. password-protected PDFs, unsupported formats) are marked as `failed` with an error message.

#### Duplicate Detection

Before processing begins, the pipeline checks the file's content hash against what is already stored. If the file hasn't changed, it is skipped - so re-uploading the same file has no effect and won't create duplicate chunks.

> **To force re-processing** of an unchanged file, delete the document first, then re-upload it.

### Organizing with Folders

Folders let you structure a knowledge base just like a file system. In Blockbrain, folders are **first-class entities** - they have their own identity, AI-generated summaries, and can be used as a scope for search.

#### Creating a Folder

* **From the KB browser:** Click **New Folder** and enter a name.
* **During upload:** Provide a relative path like `reports/q1/` - folders are created automatically if they don't exist.

> Folder names must be unique within their parent directory.

#### Renaming and Moving Folders

* Right-click a folder → **Rename** or **Move**.
* All documents and subfolders inside move with it.
* Conversations, data rooms, and bots attached to the folder continue to work — attachments track the folder by **ID**, not path, so renaming or moving never breaks them.

#### Deleting Folders

Deleting a folder permanently deletes all subfolders and documents inside it. Deleted documents are removed from the KB and can no longer be retrieved.

> This action is permanent and cannot be undone.

#### Folder Summaries

After all documents in a folder are processed, the pipeline generates an AI summary of the folder's content. This summary:

* Appears in the folder browser as a description.
* Is indexed as a searchable embedding — you can find folders by concept (e.g. *"folders about financial risk"*).
* Is used by agents to decide which folder to focus retrieval on.

### Browsing Your Knowledge Base

The KB browser displays the full folder and file hierarchy. From here you can:

* **Navigate** into folders.
* **Preview** a document — view its extracted text and metadata.
* **Check ingestion status** — each file shows `ready`, `processing`, `pending`, or `failed`.
* **View structured tags** — if the KB extracts structured metadata, values are shown per document.
* **Delete** individual documents.
* **Retry** failed documents

### Searching Within a Knowledge Base

#### How to Search

1. Open a KB.
2. Click the **Search** tab.
3. Type a natural-language question or keyword.

Results display ranked passages showing the source document, page number, chunk text, and a relevance indicator. If enabled, a short AI-generated summary of each passage is also shown.

### Attaching Knowledge Bases to Conversations

Attaching a KB to a conversation makes its content available to the AI assistant. When you ask a question, the assistant retrieves relevant passages from attached KBs and grounds its answer in them.

#### How to Attach

1. Open a conversation.
2. Click the **Database Sources**.
3. Toggle **Connect** for one or more knowledge bases from the list.

> Same goes for attaching Knowledge Bases to Data Rooms.

### Attaching Knowledge Bases to Bots

Bots can have knowledge bases attached as part of their configuration. Every conversation the bot participates in automatically has access to the bot's KBs — in addition to any KBs attached directly to the conversation.

#### How to Attach

1. Open the bot's configuration.
2. Go to the **Databases Sources** tab.
3. Toggle **Default** button for one or more KBs.

### Sharing a Knowledge Base

By default, a KB has Restricted access and is visible only to its creator. You can share it with other users in the same organisation.

#### How to Share

1. Open the KB settings.
2. Click on "Sharing" button next to the name of the KB.

<figure><img src="/files/FJX0rBMbWbmGtSn68tTx" alt=""><figcaption></figcaption></figure>

1. Click **Add user** → enter the user's name or email.
2. The user now sees the KB in their list and can attach it to their conversations and data rooms.

#### Revoking Access

KB settings → **Sharing** → click **×** next to the user → **Confirm removal**.

The user loses access immediately. Any conversations or data rooms where they had attached this KB continue to work until the attachment is explicitly removed.

#### Organisation-Wide KBs

Some KBs are accessible to all users in an organisation (managed by an admin). These cannot be deleted or modified by individual users.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.blockbrain.ai/for-users/all-about-knowledge-management.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
