Aller au contenu

API Documents & RAG

Endpoints de gestion des documents et recherche sémantique.

POST /documents/upload

Uploader un document pour le RAG.

Headers

Content-Type: multipart/form-data
Authorization: Bearer <token>

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.

Response 200

{
  "message": "Document deleted successfully"
}