Skip to content
WebChat AI
HomeFeaturesHow it worksIntegrationsPricingDocs
WebChat AI

Build intelligent AI assistants trained on your website content.

Connect with us

Product

  • Features
  • How it works
  • Integrations
  • Pricing
  • Security

Resources

  • Documentation
  • API reference

Legal

  • Privacy Policy
  • Terms of Service

© 2026 WebChat AI. All rights reserved.

Get Started
OverviewQuickstart
Knowledge sourcesFile uploadsRAG & grounding
EmbedCustomizationConfigurationTesting
ConversationsAnalytics & usage
API referenceSecurityTroubleshooting
Changelog

Ready to launch?

Get Started Free
DocsKnowledgeFile Uploads

Document Uploads & Processing

Upload proprietary documents directly into your assistant's knowledge base with automated text extraction, chunking, and embedding.

WebChat AI Knowledge Base Document Management
Manage uploaded documents, inspect chunk counts, review processing status, and trigger retries.

File formats & upload constraints

Limits enforced by the backend ingestion pipeline.

Document upload limits
ConstraintLimitDetails
Supported formats.pdf, .docx, .md, .txtValidated via magic bytes and MIME types
Max files per upload batch5 filesEnforced on POST /api/knowledge/.../upload
Max file size10 MBApplies per file and per total upload batch
PDF page ceiling100 pagesLarger PDFs must be split prior to upload
Encrypted / Password PDFsRejectedDocumentPasswordProtectedError returned
Extracted characters range50 to 500,000 charsScanned image-only PDFs require OCR first
Chunk token target500–800 tokens100-token overlap between adjacent chunks

The ingestion pipeline

How files are transformed into searchable vector representations.

Upload Processing Flow

1. VALIDATION

File & Magic Bytes

Checks file extension and binary magic bytes (%PDF-, PK\x03\x04).

2. EXTRACTION

Parser Extraction

pypdf for PDF, python-docx for DOCX, native utf-8 decoder for TXT/MD.

3. CHUNKING

Semantic Slicing

500–800 tokens per chunk with 100-token overlap along sentence boundaries.

Document lifecycle statuses

Understand the status indicators shown on the Knowledge Base table.

pendingFile has been uploaded and queued for background text extraction.
processingText has been extracted and is actively undergoing chunking and vector embedding generation.
completedAll chunks have been embedded and stored in the tenant vector index. Ready for retrieval.
failedProcessing failed (e.g. corruption, password protection, or rate limit). Manual retry is available.
rate_limitedEmbedding API quota was temporarily reached. Will retry automatically with exponential backoff.

Retrying & deleting documents

How to manage knowledge over time.

Retrying a failed document

If an external embedding provider was temporarily unavailable or hit rate limits, click the Retry button next to the document in the dashboard, or call:

POST /api/knowledge/documents/{documentId}/retry

Deleting a document

Deleting a document permanently removes the document record, all associated vector chunk embeddings from the vector store, and any attached file storage. The assistant immediately stops referencing that material in future chats.

Related documentation

RAG & Retrieval Architecture

Learn how vector chunks are queried and cited during conversations.

Read guide

Knowledge Sources

Compare website crawls, document uploads, and mixed sources.

Read guide

Troubleshooting Ingestion

Diagnose upload rejections, corrupted files, and processing errors.

Read guide

PreviousKnowledge sourcesNext RAG & grounding

Ready to build?

Register a website and get a live assistant in minutes.

Get Started Free