> 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.

# Hantera dokument

Hantera din kunskapsbas från [kunskapsbasens instrumentpanel](https://elevenlabs.io/app/agents/knowledge-base), CLI eller API. Information om vad en kunskapsbas är och hur agenter använder den finns i [Kunskapsbas](/docs/sv/eleven-agents/customization/knowledge-base).

![Kunskapsbasens huvudgränssnitt som visar en lista över
dokument](/docs/_fern-img/0887213c4d8099240b7e5a8fec86fc75f4763e8fd80a6f7a6de33545c45f37a2.webp)

## Lägg till dokument

Dokument kan skapas från filer, webbsidor eller vanlig text. När de har skapats kopplar du dem till en agent för att göra innehållet tillgängligt i samtal.

#### Instrumentpanel

På [kunskapsbasens instrumentpanel](https://elevenlabs.io/app/agents/knowledge-base), eller direkt från en agents konfiguration, klickar du på **Lägg till dokument** och väljer en källa.

#### Fil

Ladda upp ett dokument i PDF-, TXT-, DOCX-, HTML-, EPUB- eller Markdown-format, upp till 20 MB per fil.

![Filuppladdningsgränssnitt som visar format som stöds och storleksgränsen på 20 MB](/docs/_fern-img/b428874877d6aa2b24167c0293709e6a52a096a13b02244c0a5463139d3988e4.webp)

#### URL

Importera en webbsida genom att klistra in dess URL. Om du vill importera en hel webbplats använder du genomsökningsalternativet — antingen
genomsöker du hela webbplatsen genom att följa länkar från start-URL:en, eller importerar sidor från
webbplatsens webbplatskarta. Om en sida inte kan importeras kontrollerar du att din webbplats tillåter [crawlers användaragent](#crawler-user-agent).

![Gränssnitt för URL-import där användare kan klistra in en länk till dokumentation](/docs/_fern-img/8523ea5c5ae0418007eb7042d4af3e792a111ca41b74a090357df34cd5b4a369.webp)

> **Warning**
>
> Se till att du har tillstånd att använda innehållet från de URL:er du anger.

#### Text

Ange text manuellt och ge den ett namn.

![Textinmatningsgränssnitt där användare kan namnge och lägga till eget innehåll](/docs/_fern-img/4e44e310335dcea24b4832d38813992f1bdc55ef85b4e54353963dc47e9baa0a.webp)

#### CLI

CLI laddar inte upp dokument till kunskapsbasen direkt. Skapa dem via instrumentpanelen eller API:et och koppla sedan de resulterande dokument-ID:na till din agents konfiguration.

#### Hämta agentkonfigurationen

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

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

Ange `conversation_config.agent.prompt.knowledge_base`:

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

#### Skicka dina ändringar

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

#### API

Skapa varje dokument och koppla sedan de returnerade ID:na till agentens konfiguration.

```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 },
        ],
      },
    },
  },
});
```

För att genomsöka en hel webbplats till en mapp med dokument i stället för att lägga till en enda sida startar du ett genomsökningsjobb. Genomsökningen körs asynkront — använd det returnerade jobb-ID:t för att kontrollera status eller avbryta jobbet.

```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,
});
```

### Crawlers användaragent

URL-importer och genomsökningsjobb hämtar sidor med användaragenten `ElevenlabsBot/1.0`.

> **Warning**
>
> Om din webbplats ligger bakom ett CDN, WAF eller en regel för botskydd måste du tillåta denna användaragent så att crawlern
> kan läsa dina sidor. När en begäran blockeras skapas dokumentet, men inget innehåll kan
> extraheras från det.

Crawlern respekterar även `robots.txt`. Sidor som inte tillåts för `ElevenlabsBot` eller för alla användaragenter hoppas över, så kontrollera dina regler om en sida som du förväntar dig ska indexeras saknas. Så här tillåter du crawlern uttryckligen:

**`robots.txt`**

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

## Lägg till befintliga dokument i en agent

Dokument kan återanvändas mellan agenter, så delad kunskap behöver bara underhållas en gång.

1. Gå till agentens [konfiguration](https://elevenlabs.io/app/agents/agents).
2. Hitta avsnittet för kunskapsbasen och klicka på **Lägg till dokument**.
3. Välj ett befintligt dokument från din kunskapsbas eller ladda upp ett nytt.

![Gränssnitt för att lägga till dokument i en
agent](/docs/_fern-img/8e8a6a2df244ed20d1ab889c8ae5dda76aefed0d15f3dd2fe09c35b281c63673.webp)

> **Tip**
>
> Genom att återanvända dokument mellan agenter hålls kunskapen konsekvent och du slipper duplicera uppladdningar.

## Redigera dokument

Du kan redigera ett dokuments innehåll direkt i stället för att ta bort och ladda upp det igen. När du redigerar ett dokument återskapas automatiskt dess segment för innehållssökning och RAG-inbäddningar, så att sökning och agenthämtning hålls synkroniserade.

* **Text- och fildokument**: Redigera innehållet direkt och spara.
* **Fildokument**: Du kan även ersätta den underliggande filen med en ny version.
* **URL-dokument**: Redigera innehållet när automatisk synkronisering är avstängd. När automatisk synkronisering är aktiverad hanterar synkroniseringscykeln dokumentet och manuella redigeringar blockeras.

![Redigering av ett dokuments innehåll direkt i kunskaps-
basen](/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,
});
```

## Håll URL-innehåll uppdaterat

Dokument som skapats från en URL kan uppdateras för att hämta det senaste innehållet från sin källa igen. Uppdateringen indexerar om dokumentet så att agenter med RAG aktiverat använder det uppdaterade innehållet.

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

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

I instrumentpanelen kan du också aktivera automatisk synkronisering för att uppdatera URL-dokument automatiskt enligt ett schema, så att innehållet hålls aktuellt utan manuella uppdateringar.

## Organisera med mappar

Mappar grupperar relaterade dokument så att de blir enklare att hantera och koppla i grupp. Skapa en mapp och flytta sedan dokument till den från instrumentpanelen eller API:et.

En mapp som är kopplad till en agent gör alla dess dokument tillgängliga via RAG, så agenten måste ha RAG aktiverat för att använda mappar.

![Skapa en mapp och flytta dokument till
den](/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,
});
```

## Beroenden och borttagning

Varje dokument har en flik för **Beroende agenter** som visar de agenter som för närvarande är beroende av det.

![Dokumentets detaljvy som visar fliken Beroende agenter
](/docs/_fern-img/20ecce9f1db77d27bdf760b4a90c9bd2baacb612b48cf660e0f395c82aa3a725.webp)

Ett dokument kan inte tas bort så länge en agent är beroende av det. Ta först bort dokumentet från dessa agenter, eller använd tvångsborttagning för att koppla bort det från alla beroenden på en gång.