API Documents & RAG¶
Endpoints de gestion des documents et recherche sémantique.
POST /documents/upload¶
Uploader un document pour le RAG.
Headers¶
Form Data¶
| Field | Type | Required | Description |
|---|---|---|---|
file | File | Yes | Document (PDF, DOCX, XLSX) |
folder_id | UUID | No | Dossier destination |
description | string | No | Description |
Formats Supportés¶
- PDF (
.pdf) - Word (
.docx) - Excel (
.xlsx) - PowerPoint (
.pptx) - Texte (
.txt,.md)
Limite: 50 MB par fichier
Response 201¶
{
"id": "uuid",
"filename": "rapport.pdf",
"mime_type": "application/pdf",
"size_bytes": 1048576,
"status": "processing",
"chunks_count": 0
}
GET /documents¶
Lister les documents de l'utilisateur.
Query Parameters¶
| Param | Type | Description |
|---|---|---|
folder_id | UUID | Filtrer par dossier |
status | string | pending, processing, ready, error |
skip | int | Offset |
limit | int | Nombre |
Response 200¶
{
"items": [
{
"id": "uuid",
"filename": "rapport.pdf",
"status": "ready",
"chunks_count": 45
}
],
"total": 10
}
POST /documents/search¶
Recherche sémantique dans les documents (RAG).
Request¶
{
"query": "Comment fonctionne le système de facturation?",
"folder_ids": ["uuid1", "uuid2"],
"top_k": 5,
"threshold": 0.7
}
Response 200¶
{
"results": [
{
"document_id": "uuid",
"document_name": "manuel_facturation.pdf",
"content": "Le système de facturation utilise...",
"score": 0.92,
"page_number": 12
}
],
"search_time_ms": 23
}
DELETE /documents/{id}¶
Supprimer un document.