Uploadez des documents vers Paradigm en utilisant l’API V3 Files - un processus simplifié en une seule étape avec prise en charge des uploads unitaires et par lot.
L’API V3 Files fournit un processus d’upload simplifié en une seule étape pour ajouter des documents à votre espace de travail Paradigm. Uploadez un fichier avec un seul appel API, et Paradigm s’occupe du reste - parsing, indexation et mise à disposition pour la recherche.Fonctionnalités clés :
Traitement asynchrone - Les fichiers sont mis en file d’attente et traités en arrière-plan, les uploads retournent donc immédiatement
Sessions d’upload automatiques - Les fichiers sont automatiquement regroupés en sessions pour un traitement par lot efficace
Attribution directe de tags - Organisez vos documents en leur attribuant des tags lors de l’upload
Configuration flexible - Surchargez la sélection du parser ou utilisez la détection automatique
Suivi de progression - Surveillez le statut du traitement via les endpoints GET
Vous pouvez trouver l’ID de votre espace de travail de plusieurs façons :
Depuis le panneau d’administration : Naviguez vers votre espace de travail dans l’interface d’administration et vérifiez l’URL ou les détails de l’espace de travail
Depuis l’API : Listez vos espaces de travail avec GET /api/v3/workspaces
import requestsimport os# Récupérer la clé API et l'URL de base depuis l'environnementapi_key = os.getenv("PARADIGM_API_KEY")base_url = os.getenv("PARADIGM_BASE_URL", "https://paradigm.lighton.ai")response = requests.post( f"{base_url}/api/v3/files", headers={"Authorization": f"Bearer {api_key}"}, files={"file": open("document.pdf", "rb")}, data={"workspace_id": 42})print(response.json())
Titre personnalisé pour le document (par défaut : le nom du fichier sans extension)
filename
chaîne
Surcharger le nom du fichier uploadé
parser
chaîne
Spécifier le pipeline d’ingestion (ex. “v2.2.1”, “v2.1”) - sélection automatique par défaut
tags
tableau d’entiers
IDs de tags à attribuer au document lors de l’upload (les tags doivent appartenir à votre entreprise et vous devez avoir la permission de les utiliser)
Lors de l’upload de plusieurs fichiers, Paradigm crée automatiquement une session d’upload pour regrouper vos fichiers. Les fichiers sont mis en file d’attente et traités de manière asynchrone en arrière-plan, vous permettant d’uploader des lots importants sans attendre la fin du traitement.Chaque upload de fichier retourne un upload_session_uuid que vous pouvez utiliser pour suivre tous les fichiers du lot. La session d’upload gère la limitation de débit et assure un traitement efficace de vos documents.Pour uploader de nombreux fichiers efficacement, utilisez le script d’upload par lot fourni ou implémentez votre propre logique d’upload concurrent.
# Uploader uniquement les PDF et documents Worduv run batch_upload_v3.py \ --files-dir="/chemin/vers/documents" \ --workspace-id=42 \ --include-extensions=pdf,docx,doc# Uploader tous les fichiers sauf les fichiers temporaires et systèmeuv run batch_upload_v3.py \ --files-dir="/chemin/vers/documents" \ --workspace-id=42 \ --exclude-extensions=tmp,log,.DS_Store,.gitkeep
Haut débit - uploads simultanés optimisés pour la vitesse (par défaut : 10 simultanés, max : 50)
Scan récursif - trouve automatiquement tous les fichiers dans les sous-répertoires
Suivi de progression - barre de progression en temps réel avec statistiques d’upload
Résilience aux erreurs - s’arrête après le premier échec par défaut (configurable avec --max-fails)
Gestion intelligente des erreurs - ignore automatiquement les fichiers avec des extensions non supportées et les fichiers > 100 Mo (non comptés comme échecs)
Capacité de reprise - utilisez --state-file pour reprendre les uploads interrompus
Tagging en masse - appliquer des tags à tous les fichiers uploadés automatiquement
V2 : Suivre le statut de la session avec GET /api/v2/upload-session/{uuid}V3 : Filtrer les fichiers par UUID de session d’upload :
# Récupérer l'UUID de la session d'upload depuis la réponseupload_session_uuid = response.json()["upload_session_uuid"]# Suivre tous les fichiers de ce lotfiles = requests.get( f"{base_url}/api/v3/files", headers={"Authorization": f"Bearer {api_key}"}, params={"upload_session_uuid": upload_session_uuid}).json()["results"]
L’API V3 est plus intuitive et nécessite moins de code tout en maintenant la même fiabilité et performance que la V2.