Skip to main content
File ingestion uses a two-step presigned upload so document bytes move directly to MinIO while the gateway retains tenant-scoped metadata and authorization.
1

Request an upload

In Knowledge → Static, choose a file and provide its title/catalog information. The gateway validates the request and returns a presigned upload target plus a file key.
2

Upload directly to storage

The console sends the file to MinIO using the presigned target. The API process does not proxy the whole document body.
3

Confirm the document

The console confirms the upload. The gateway verifies metadata and enqueues the document for ingestion.
4

Monitor status

Status progresses through queued and indexing to indexed, or to failed with an error message. Use Reindex after correcting a transient failure.

Extraction behavior

The agent streams objects from MinIO and uses source-specific parsers: pdf-parse for PDF and Mammoth for DOCX. Text is normalized and segmented before semantic chunking, then embeddings are generated in bounded concurrent batches.
Scanned image-only PDFs need OCR before upload; the current parser extracts embedded text and does not provide an OCR pipeline.

Troubleshooting

Verify that gateway and agent use the same bucket and credentials, the object key was not changed, and the public/presigned MinIO URL is reachable from the browser.
Check whether the PDF contains selectable text, whether the DOCX has content in unsupported embedded objects, and inspect reported word/chunk counts.
Confirm provider credentials, model availability, vector dimensions, and that Qdrant is healthy. Retry only after resolving the underlying mismatch.
Deleting a source removes its managed metadata and should remove its associated vectors/object according to the gateway service. Confirm backup and retention expectations before deletion.
Last modified on July 17, 2026