Uploading documents
The Upload page is the filing desk — the entry point for every document that appears in your knowledge graph.
Supported formats
The processing pipeline can chunk and embed the following file types:
| Format | Extension |
|---|---|
.pdf | |
| Markdown | .md |
| Plain text | .txt |
| HTML | .html |
Other formats are rejected at the drop zone with a message indicating what is accepted.
How upload works
Document Analyser uploads bytes directly from your browser to cloud storage — the bytes never pass through the service backend. This keeps the upload fast, resumable, and independent of server load.
The steps behind a single upload:
- You select or drop a file.
- Your browser requests a resumable upload session from the backend (a short metadata call).
- The browser streams the file directly to storage in chunks, showing real-time progress.
- Once all bytes are committed, the backend verifies the size and marks the upload complete.
If your connection drops mid-upload, the session can resume from the last committed byte automatically — you do not need to start over.
Note
Large PDFs take longer to process after the upload completes. The chunker, embedder, and entity extractor run sequentially on the document content. A processing card on the upload page shows live status; the document appears in the graph once the pipeline finishes.
Batch upload
You can drop multiple files at once. The filing desk queues them and works through them in order, showing a per-file status (queued, uploading, filed, or failed). Batch uploads use the filename as the title; you can rename documents from the cabinet below the drop zone.
What happens next
Once your file lands in storage, the pipeline runs automatically:
- Chunking — the document is split into sections. Markdown and HTML use heading boundaries; plain text and PDF use paragraph and page breaks.
- Embedding — each chunk is embedded with OpenAI
text-embedding-3-smalland stored in a vector database. This is what powers semantic search. - Entity and relation extraction — a language model reads the chunks and identifies named concepts (people, places, ideas, equations) and the relationships between them. These become the nodes and edges on the knowledge graph.