Set up
Add the source
Open the knowledge base, go to Sources → Add source, pick File Upload and click Continue. Enter a Display name. A Description is optional. Click Add source.
Upload files
Drop files onto the panel, click it to browse, or click Upload a folder. Then click Upload N files. Files of the wrong type or over 32 MB are set aside before anything is sent.
Supported formats
| Format | What is extracted |
|---|---|
.pdf | Text, with headings worked out from font size. Repeated headers, footers and page numbers are dropped. See PDF Extraction. |
.docx | Paragraphs and tables. Word heading styles become headings. |
.xlsx .xlsm .xltx .xltm | One section per sheet, as a table. Hidden sheets are skipped. Up to 2,000 rows per sheet. |
.csv .tsv | A table, split into short sections with the header row repeated in each. |
.html .htm | Cleaned like a crawled page. The <title> becomes the document title. |
.md .mdx .txt | Indexed as written. |
handbook/auth.pdf and sdk/auth.pdf stay two documents.
Limits
| Limit | Value |
|---|---|
| File size | 32 MB per file |
| One request | 10 files and 32 MB in total. The dashboard splits bigger batches for you. |
| PDF length | 7,000 pages. Longer PDFs are not indexed. |
Check each file
The Files tab lists every file as Indexed, Skipped or Failed, with the reason. A file that indexed but may answer badly is also counted under Need a look — for example Almost no text (a scanned PDF: run OCR and upload it again) or Very large sheet (only the first 2,000 rows were indexed). See PDF Extraction for every PDF note.Update or remove files
- Replace a file: upload the new version with the same name and folder path.
- Remove a file: on the Documents tab, click Remove from the index. The document is deleted.
- There is no Sync Now: Kelu does not keep the file once it is indexed.
Upload from a script
files. The reply is 202 with upload_id, accepted and rejected (each rejected file with its reason), 400 if no file was accepted, or 503 if too many uploads are running — wait and send the batch again.