> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Documenten beheren

Beheer je kennisbank vanuit het [kennisbankdashboard](https://elevenlabs.io/app/agents/knowledge-base), de CLI of de API. Lees [Kennisbank](/docs/nl/eleven-agents/customization/knowledge-base) voor meer informatie over wat een kennisbank is en hoe agents deze gebruiken.

![Hoofdinterface van de kennisbank met een lijst van
documenten](/docs/_fern-img/0887213c4d8099240b7e5a8fec86fc75f4763e8fd80a6f7a6de33545c45f37a2.webp)

## Documenten toevoegen

Je kunt documenten maken van bestanden, webpagina's of platte tekst. Koppel ze na het maken aan een agent om de inhoud beschikbaar te maken in gesprekken.

#### Dashboard

Klik in het [kennisbankdashboard](https://elevenlabs.io/app/agents/knowledge-base), of rechtstreeks vanuit de configuratie van een agent, op **Document toevoegen** en kies een bron.

#### Bestand

Upload een document in PDF-, TXT-, DOCX-, HTML-, EPUB- of Markdown-indeling, tot 20 MB per bestand.

![Interface voor het uploaden van bestanden met ondersteunde indelingen en de limiet van 20 MB](/docs/_fern-img/b428874877d6aa2b24167c0293709e6a52a096a13b02244c0a5463139d3988e4.webp)

#### URL

Importeer een webpagina door de URL te plakken. Gebruik de crawloptie om een volledige site op te nemen — crawl de hele website door links vanaf de start-URL te volgen, of importeer pagina's vanuit de sitemap van de site. Als het importeren van een pagina mislukt, controleer dan of je site de [user agent van de crawler ](#crawler-user-agent) toestaat.

![Interface voor het importeren van URL's waarin gebruikers een link naar documentatie kunnen plakken](/docs/_fern-img/8523ea5c5ae0418007eb7042d4af3e792a111ca41b74a090357df34cd5b4a369.webp)

> **Warning**
>
> Zorg dat je toestemming hebt om de inhoud van de URL's die je opgeeft te gebruiken.

#### Tekst

Voer tekst handmatig in en geef deze een naam.

![Tekstinvoerinterface waarin gebruikers aangepaste inhoud kunnen benoemen en toevoegen](/docs/_fern-img/4e44e310335dcea24b4832d38813992f1bdc55ef85b4e54353963dc47e9baa0a.webp)

#### CLI

De CLI uploadt kennisbankdocumenten niet rechtstreeks. Maak ze via het dashboard of de API en koppel de resulterende document-ID's vervolgens aan je agentconfiguratie.

#### De agentconfiguratie ophalen

```bash
elevenlabs agents pull --agent "<agent-name>"
```

#### \`agent\_configs/\<agent-name>.json\` bewerken

Stel `conversation_config.agent.prompt.knowledge_base` in:

```json
{
  "conversation_config": {
    "agent": {
      "prompt": {
        "knowledge_base": [
          {
            "type": "file",
            "name": "Unladen Swallow Facts",
            "id": "i2YYI6huwBmcgYydAXARmQJc3pmX",
            "usage_mode": "auto"
          }
        ]
      }
    }
  }
}
```

#### Je wijzigingen pushen

```bash
elevenlabs agents push --agent "<agent-name>"
```

#### API

Maak elk document en koppel de geretourneerde ID's vervolgens aan de configuratie van de agent.

```python
import os

from dotenv import load_dotenv
from elevenlabs import ElevenLabs

load_dotenv()

elevenlabs = ElevenLabs(api_key=os.getenv("ELEVENLABS_API_KEY"))

# Create a document from text
text_doc = elevenlabs.conversational_ai.knowledge_base.documents.create_from_text(
    text="The airspeed velocity of an unladen swallow (European) is 24 miles per hour, or roughly 11 meters per second.",
    name="Unladen Swallow facts",
)

# Create a document from a URL
url_doc = elevenlabs.conversational_ai.knowledge_base.documents.create_from_url(
    url="https://en.wikipedia.org/wiki/Unladen_swallow",
    name="Unladen Swallow Wikipedia page",
)

# Create a document from a file
file_doc = elevenlabs.conversational_ai.knowledge_base.documents.create_from_file(
    file=open("/path/to/unladen-swallow-facts.txt", "rb"),
    name="Unladen Swallow Facts",
)

# Attach the documents to an agent
elevenlabs.conversational_ai.agents.update(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
    conversation_config={
        "agent": {
            "prompt": {
                "knowledge_base": [
                    {"type": "text", "name": text_doc.name, "id": text_doc.id},
                    {"type": "url", "name": url_doc.name, "id": url_doc.id},
                    {"type": "file", "name": file_doc.name, "id": file_doc.id},
                ]
            }
        }
    },
)
```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import fs from "node:fs";
import "dotenv/config";

const elevenlabs = new ElevenLabsClient();

// Create a document from text
const textDoc = await elevenlabs.conversationalAi.knowledgeBase.documents.createFromText({
  name: "Unladen Swallow Facts",
  text: "The airspeed velocity of an unladen swallow (European) is 24 miles per hour, or roughly 11 meters per second.",
});

// Create a document from a URL
const urlDoc = await elevenlabs.conversationalAi.knowledgeBase.documents.createFromUrl({
  name: "Unladen Swallow Wikipedia page",
  url: "https://en.wikipedia.org/wiki/Unladen_swallow",
});

// Create a document from a file
const fileBuffer = fs.readFileSync("/path/to/unladen-swallow-facts.txt");
const file = new File([fileBuffer], "unladen-swallow-facts.txt", { type: "text/plain" });
const fileDoc = await elevenlabs.conversationalAi.knowledgeBase.documents.createFromFile({
  name: "Unladen Swallow Facts",
  file,
});

// Attach the documents to an agent
await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  conversationConfig: {
    agent: {
      prompt: {
        knowledgeBase: [
          { type: "text", name: textDoc.name, id: textDoc.id },
          { type: "url", name: urlDoc.name, id: urlDoc.id },
          { type: "file", name: fileDoc.name, id: fileDoc.id },
        ],
      },
    },
  },
});
```

Start een crawltaak om een volledige website naar een map met documenten te crawlen, in plaats van één pagina toe te voegen. Crawlen gebeurt asynchroon — gebruik de geretourneerde taak-ID om de status te controleren of de taak te annuleren.

```python
crawl = elevenlabs.conversational_ai.knowledge_base.crawl_jobs.create(
    url="https://elevenlabs.io/docs",
    max_depth=3,
    max_pages=1000,
)
```

```typescript
const crawl = await elevenlabs.conversationalAi.knowledgeBase.crawlJobs.create({
  url: "https://elevenlabs.io/docs",
  maxDepth: 3,
  maxPages: 1000,
});
```

### User agent van de crawler

URL-imports en crawltaken halen pagina's op met de user agent `ElevenlabsBot/1.0`.

> **Warning**
>
> Als je site achter een CDN, WAF of regel voor botbescherming staat, sta deze user agent dan toe zodat de crawler je pagina's kan lezen. Wanneer een request wordt geblokkeerd, wordt het document gemaakt maar kan er geen inhoud uit worden geëxtraheerd.

De crawler houdt ook rekening met `robots.txt`. Pagina's die niet zijn toegestaan voor `ElevenlabsBot` of voor alle user agents worden overgeslagen. Controleer daarom je regels als een pagina die je verwacht te indexeren ontbreekt. Zo sta je de crawler expliciet toe:

**`robots.txt`**

```txt robots.txt
User-agent: ElevenlabsBot
Allow: /
```

## Bestaande documenten aan een agent toevoegen

Documenten kunnen door meerdere agents worden hergebruikt, dus gedeelde kennis hoeft maar één keer te worden onderhouden.

1. Ga naar de [configuratie](https://elevenlabs.io/app/agents/agents) van de agent.
2. Zoek het gedeelte voor de kennisbank en klik op **Document toevoegen**.
3. Selecteer een bestaand document uit je kennisbank of upload een nieuw document.

![Interface voor het toevoegen van documenten aan een
agent](/docs/_fern-img/8e8a6a2df244ed20d1ab889c8ae5dda76aefed0d15f3dd2fe09c35b281c63673.webp)

> **Tip**
>
> Door documenten voor meerdere agents te hergebruiken, blijft kennis consistent en voorkom je dubbele uploads.

## Documenten bewerken

Je kunt de inhoud van een document rechtstreeks bewerken in plaats van het te verwijderen en opnieuw te uploaden. Als je een document bewerkt, worden automatisch de chunks voor het doorzoeken van inhoud en de RAG-embeddings opnieuw gegenereerd, zodat zoeken en het ophalen van informatie door de agent gesynchroniseerd blijven.

* **Tekst- en bestandsdocumenten**: Bewerk de inhoud inline en sla op.
* **Bestandsdocumenten**: Je kunt ook het onderliggende bestand vervangen door een nieuwe versie.
* **URL-documenten**: Bewerk de inhoud wanneer automatisch synchroniseren is uitgeschakeld. Wanneer automatisch synchroniseren is ingeschakeld, beheert de synchronisatiecyclus het document en zijn handmatige bewerkingen geblokkeerd.

![De inhoud van een document inline bewerken in de kennisbank
](/docs/_fern-img/4ea01bb2c13162f31f7610b049ae0db542e279a26da38f4c79f17fb89a8524f5.webp)

```python
# Update a document's name or content
elevenlabs.conversational_ai.knowledge_base.documents.update(
    documentation_id="i2YYI6huwBmcgYydAXARmQJc3pmX",
    name="Unladen Swallow Facts",
    content="The airspeed velocity of an unladen swallow (European) is 24 miles per hour.",
)

# Replace the underlying file of a file document

elevenlabs.conversational_ai.knowledge_base.document.update_file(
documentation_id="i2YYI6huwBmcgYydAXARmQJc3pmX",
file=open("/path/to/unladen-swallow-facts-v2.txt", "rb"),
)

```

```typescript
// Update a document's name or content
await elevenlabs.conversationalAi.knowledgeBase.documents.update("i2YYI6huwBmcgYydAXARmQJc3pmX", {
  name: "Unladen Swallow Facts",
  content: "The airspeed velocity of an unladen swallow (European) is 24 miles per hour.",
});

// Replace the underlying file of a file document
const fileBuffer = fs.readFileSync("/path/to/unladen-swallow-facts-v2.txt");
const updatedFile = new File([fileBuffer], "unladen-swallow-facts-v2.txt", { type: "text/plain" });
await elevenlabs.conversationalAi.knowledgeBase.document.updateFile("i2YYI6huwBmcgYydAXARmQJc3pmX", {
  file: updatedFile,
});
```

## URL-inhoud up-to-date houden

Documenten die vanuit een URL zijn gemaakt, kunnen worden vernieuwd om de nieuwste inhoud van hun bron opnieuw op te halen. Vernieuwen indexeert het document opnieuw, zodat agents met RAG de bijgewerkte inhoud gebruiken.

```python
elevenlabs.conversational_ai.knowledge_base.document.refresh(
    documentation_id="i2YYI6huwBmcgYydAXARmQJc3pmX",
)
```

```typescript
await elevenlabs.conversationalAi.knowledgeBase.document.refresh("i2YYI6huwBmcgYydAXARmQJc3pmX");
```

In het dashboard kun je ook automatisch synchroniseren inschakelen om URL-documenten volgens een schema automatisch te vernieuwen, zodat de inhoud zonder handmatige updates actueel blijft.

## Organiseren met mappen

Mappen groeperen gerelateerde documenten, zodat je ze eenvoudiger kunt beheren en in bulk kunt koppelen. Maak een map en verplaats er vervolgens documenten naartoe vanuit het dashboard of de API.

Een map die aan een agent is gekoppeld, maakt alle documenten daarin beschikbaar via RAG. Daarom moet RAG voor de agent zijn ingeschakeld om mappen te gebruiken.

![Een map maken en documenten ernaartoe verplaatsen
](/docs/_fern-img/8267c0d4a36282c1fcaaacf0a665e5caf8c4cf6f2908451fc5a3b1cf6a8dd2e0.webp)

```python
# Create a folder
folder = elevenlabs.conversational_ai.knowledge_base.documents.create_folder(
    name="Product documentation",
)

# Move a document into the folder

elevenlabs.conversational_ai.knowledge_base.documents.move(
document_id="i2YYI6huwBmcgYydAXARmQJc3pmX",
move_to=folder.id,
)

```

```typescript
// Create a folder
const folder = await elevenlabs.conversationalAi.knowledgeBase.documents.createFolder({
  name: "Product documentation",
});

// Move a document into the folder
await elevenlabs.conversationalAi.knowledgeBase.documents.move("i2YYI6huwBmcgYydAXARmQJc3pmX", {
  moveTo: folder.id,
});
```

## Afhankelijkheden en verwijderen

Elk document heeft een tabblad **Afhankelijke agents** met de agents die er momenteel van afhankelijk zijn.

![Detailweergave van een document met het tabblad Afhankelijke agents
](/docs/_fern-img/20ecce9f1db77d27bdf760b4a90c9bd2baacb612b48cf660e0f395c82aa3a725.webp)

Een document kan niet worden verwijderd zolang een agent ervan afhankelijk is. Verwijder het document eerst uit die agents, of gebruik geforceerd verwijderen om het in één keer los te koppelen van alle afhankelijkheden.