On this page
Document Upload#
A documents knowledge base lets you upload files so your chatbot can answer questions from their content. You upload a file in the Console, Gydr extracts the text, splits it into passages, and indexes those passages for retrieval. Once a sync completes, visitors can ask questions and the chatbot draws answers from the relevant passages.
Documents are well-suited for policies, guides, manuals, reports, and any long-form reference material that does not fit neatly into a structured FAQ or product catalogue.
Supported formats#
Gydr accepts twelve file formats:
| Category | Formats |
|---|---|
| Documents | PDF, DOCX, XLSX, HTML |
| Text & data | TXT, MD, CSV, JSON |
| Images | PNG, JPG, JPEG, WEBP |
File size limits#
The maximum file size depends on your plan. Larger files are uploaded in multiple parts automatically — you do not need to split them yourself.
| Plan | Max file size |
|---|---|
| Free | 10 MB |
| Starter | 25 MB |
| Growth | 250 MB |
| Scale | 500 MB |
The Console shows an estimate before you upload and warns you if your balance is insufficient. Accounts managed by an active partner may inherit a higher limit from the partner's plan.
Text extraction and OCR#
After upload, Gydr reads the file and converts it to text. The approach varies by format:
- Text-based PDFs — text is extracted directly, preserving heading structure and page layout. Headings are detected by font size and used to group content into logical sections.
- Scanned PDFs and images (PNG, JPG, JPEG, WEBP) — Gydr runs optical character recognition (OCR) to extract text. OCR is metered per page.
- DOCX, XLSX, HTML, TXT, MD, CSV, JSON — text is extracted in a single pass. No OCR step is involved.
Processing runs in the background. The Console shows the document status — processing, ready, or failed — and offers a retry button if processing fails.
How documents are split for retrieval#
Long documents are automatically split into passages so the retrieval system can surface the most relevant section for each question, rather than returning the entire file. Each passage is indexed independently.
For structured PDFs, passages carry heading and chapter context, so the chatbot can correctly answer questions like "what does section 3 say about X" even when the same term appears in multiple parts of the document.
Sync and answerable lifecycle#
A document is not answerable until processing completes and a sync runs.
Uploading a file stores it and starts processing. Once the document status shows ready, it still needs to be synced before the chatbot can retrieve from it. Syncing embeds the passages into the vector index.
You can trigger a sync from the knowledge base settings in the Console, or via the API. A single sync covers all documents in the knowledge base that have changed since the last sync — you do not need to sync each file separately.
See Sync & Embedding for details on triggering syncs and checking sync status.
Tips for well-structured documents#
The quality of retrieval depends on how well the source document is structured. A few things help:
- Use clear headings. Gydr uses heading levels to group content. A document with descriptive section titles produces more targeted answers than one with undifferentiated text.
- Prefer text-based PDFs over scanned images. OCR is less accurate than direct text extraction, especially for tables, footnotes, and technical notation.
- Keep each document focused on one topic. A single large omnibus document can work, but splitting content by topic makes it easier to update individual files later without re-syncing everything.
- Remove boilerplate before uploading. Cover pages, legal disclaimers repeated on every page, and table-of-contents pages add noise. Gydr strips running headers and page numbers automatically for PDFs, but the cleaner the source, the better the results.