> ## Documentation Index
> Fetch the complete documentation index at: https://phidatainc-studio-tools-doc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Knowledge Content Types

Agno Knowledge uses `content` as the building block of any piece of knowledge.
Content can be added to knowledge from different sources.

| Content Origin | Description                                                                                                                |
| -------------- | -------------------------------------------------------------------------------------------------------------------------- |
| Path           | Local files or directories containing files                                                                                |
| Url            | Direct links to files or other sites                                                                                       |
| Text           | Raw text content                                                                                                           |
| Topic          | Search topics from repositories like Arxiv or Wikipedia                                                                    |
| Remote Content | Content from [cloud storage providers](/knowledge/concepts/cloud-storage) like S3, GCS, SharePoint, GitHub, and Azure Blob |

Knowledge content needs to be read and chunked before it can be passed to any VectorDB for embedding, storage and ultimately, retrieval.
When content is added to Knowledge, a default reader is selected. Readers are used to parse content from the origin and then chunk it into smaller
pieces that will then be embedded by the VectorDB.

Custom readers or an override to the default reader and/or its settings can be passed when adding the content. In the below example, an instance of the standard `PDFReader` class is created
but we update the chunk\_size. Similarly, we can update the `chunking_strategy` and other parameters that will influence how content is ingested and processed.

```python theme={null}
from agno.knowledge.reader.pdf_reader import PDFReader

reader = PDFReader(
    chunk_size=1000,
)

knowledge_base = Knowledge(
    vector_db=vector_db,
)

asyncio.run(
        knowledge_base.ainsert(
            path="data/pdf",
            reader=reader
        )
    )
```

For more information about the different readers and their capabilities checkout the [Readers](/knowledge/concepts/readers/overview) page.

## Next Steps

<CardGroup cols={3}>
  <Card title="Search & Retrieval" icon="magnifying-glass" href="/knowledge/concepts/search-and-retrieval/overview">
    Learn how agents search and find information in your knowledge base
  </Card>

  <Card title="Readers" icon="book-open" href="/knowledge/concepts/readers/overview">
    Explore content parsing and ingestion options in detail
  </Card>

  <Card title="Chunking Strategies" icon="scissors" href="/knowledge/concepts/chunking/overview">
    Optimize how content is broken down for better search results
  </Card>

  <Card title="Vector Databases" icon="database" href="/knowledge/concepts/vector-db">
    Choose the right storage solution for your knowledge base
  </Card>
</CardGroup>
