---
title: "The documents your agents can read"
description: "A Library holds your organization's documents so a granted agent can read them during a task without writing retrieval code."
lang: en
status: public-preview
lastUpdated: 2026-08-31
url: https://dev.duale.ai/en/docs/libraries
---

## AI-generated summary

A Library holds your documents so an agent can read them during a task. It covers document search, agent knowledge, knowledge base, and retrieval-augmented generation.

- An agent gains four tools: list, find by meaning, match exact string, and read lines.
- A resource grant names a subject and controls allow or deny access to a Library.
- A refusal grant beats every allow, and no agent widens its own reach.
- Built-in viewer and editor roles read every Library in the tenant.

Summaries were generated by AI. Generative AI is experimental.

---

A Library holds your organization's documents. You upload a file once, grant a Library to an agent, and that agent can
read the file during a task. You write no retrieval code: no text splitting, no embedding job, no vector database.

## What an agent gains

Grant a Library and the agent gets four tools that reach every document in it:

- **List** what is there.
- **Find** the passage—the piece of a page—that means what the task asked, across your working
  languages.
- **Match** an exact string, such as an invoice number or an error code, literally.
- **Read** back the lines it needs to quote.

Those four tools let an agent inspect a Library instead of relying on ranked search alone.

```mermaid
flowchart LR
    accTitle: What a Library gives an agent
    accDescr {
      You upload a file into a Library and grant that Library to an agent. The
      platform makes the file readable and reports when it is ready. During a
      task the agent lists the documents, finds a passage by meaning, matches an
      exact string, and reads back the lines it quotes. You keep the grant, so
      you decide which agent reaches which Library.
    }
    Upload[You upload a file]
    Library[Library holds the document]
    Grant[You grant the Library to an agent]
    Agent[Agent reads during a task]
    List[List documents]
    Find[Find a passage by meaning]
    Match[Match an exact string]
    Read[Read back lines to quote]
    Upload --> Library
    Library --> Grant
    Grant --> Agent
    Agent --> List
    Agent --> Find
    Agent --> Match
    Agent --> Read
```

## What you keep

A resource grant controls which subject reaches a Library while a task runs. It names an agent, a person, or a group. Its effect is
`allow` or `deny`. This section calls a `deny` grant a refusal, and a refusal beats every allow. You decide once, in one
place, which agent reaches which Library, and no agent widens its own reach while a task runs.

A grant does not isolate Library content from people who hold tenant-wide roles. The built-in viewer and editor roles
read every Library in the tenant, so use a separate tenant to keep document content away from a person.
[Access and isolation](https://dev.duale.ai/en/docs/libraries/access.md) explains what those roles can read and when to use another tenant.

## Other names for this capability

Other platforms sell this capability under other names. A reader who arrives looking for **document search**, **agent
knowledge**, a **knowledge base**, a **vector store**, or **retrieval-augmented generation (RAG)** is in the right
section. Two differences are worth stating early, because they change how you design a corpus:

- **The exact-string match is its own tool, not a setting inside search.** An invoice number is found literally, not
  approximated, because the agent asks for an exact match instead of asking for a relevant one.
- **There is no query-time attribute filter.** The Library is the scope. Put the documents that answer one kind of
  question in one Library, and grant that Library to the agent that asks it.

## Choose a Library guide

- [What agents can do with a Library](https://dev.duale.ai/en/docs/libraries/what-agents-can-do.md)—see how each tool matches, how to read
  an answer that stopped early, and how a document becomes searchable.
- [Design your Libraries](https://dev.duale.ai/en/docs/libraries/design.md)—choose how many Libraries to create, and which agent reaches each.
- [Access and isolation](https://dev.duale.ai/en/docs/libraries/access.md)—grant, refuse, and review who reaches a Library.
- [Security and data handling](https://dev.duale.ai/en/docs/libraries/security.md)—review encryption, malware scanning, deletion, and records.
- [Limits](https://dev.duale.ai/en/docs/libraries/limits.md)—look up sizes, ceilings, windows, and what the platform meters.
- [Best practices](https://dev.duale.ai/en/docs/libraries/best-practices.md)—prepare documents that index well, and keep answers complete.
- [Patterns](https://dev.duale.ai/en/docs/libraries/patterns.md)—the practical cases a team meets with real documents, and the method for each.

[Manage libraries](https://dev.duale.ai/en/docs/sdk/manage-libraries.md) covers the client calls that create a Library and upload a document,
and [Attach documents](https://dev.duale.ai/en/docs/sdk/attachments.md) covers the files one task carries.

When a document will not load, [Errors and reliability](https://dev.duale.ai/en/docs/sdk/errors.md) lists each failure code and its recovery.
When a `ready` document gives a wrong or incomplete answer, start with
[Troubleshoot a missing answer](https://dev.duale.ai/en/docs/libraries/what-agents-can-do.md#troubleshoot-a-missing-answer). If its preview
differs from the source, [report the extraction problem](https://dev.duale.ai/en/docs/libraries/patterns.md).

## Related content

- [Grant and review access to a Library](https://dev.duale.ai/en/docs/libraries/access.md)
- [Design your Libraries by reader group and agent reach](https://dev.duale.ai/en/docs/libraries/design.md)
- [Get better answers from a Library](https://dev.duale.ai/en/docs/libraries/best-practices.md)
- [How an agent finds an answer in your documents](https://dev.duale.ai/en/docs/libraries/what-agents-can-do.md)
- [Divide agent ownership and access](https://dev.duale.ai/en/docs/agents-and-access.md)
- [Manage Libraries and documents with the SDK](https://dev.duale.ai/en/docs/sdk/manage-libraries.md)

---

## Sitemap

See the full [Markdown sitemap](https://dev.duale.ai/sitemap.md) for all pages.
