Télécharger des fichiers dans un magasin de vecteurs
Télécharger le contenu des fichiers vers le Vector Store avec des opérations par lots
Upload files to a vector store.
The ID of the vector store.
The API key for authentication.
The files to upload.
Files uploaded successfully.
Some files failed to upload.
Exemples de requêtes
curl -X POST \
https://api.rememberizer.ai/api/v1/vector-stores/vs_abc123/documents/upload \
-H "x-api-key: VOTRE_CLE_API" \
-F "files=@/chemin/vers/document1.pdf" \
-F "files=@/chemin/vers/document2.docx"const uploadFiles = async (vectorStoreId, files) => {
const formData = new FormData();
// Ajouter plusieurs fichiers aux données du formulaire
for (const file of files) {
formData.append('files', file);
}
const response = await fetch(`https://api.rememberizer.ai/api/v1/vector-stores/${vectorStoreId}/documents/upload`, {
method: 'POST',
headers: {
'x-api-key': 'VOTRE_CLE_API'
// Remarque : Ne pas définir l'en-tête Content-Type, il sera défini automatiquement avec la bonne frontière
},
body: formData
});
const data = await response.json();
console.log(data);
};
// Exemple d'utilisation avec un élément d'entrée de fichier
const fileInput = document.getElementById('fileInput');
uploadFiles('vs_abc123', fileInput.files);Méthode d'aide pour déterminer le type de contenu
def get_content_type(filename) ext = File.extname(filename).downcase case ext when '.pdf' then 'application/pdf' when '.doc' then 'application/msword' when '.docx' then 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' when '.txt' then 'text/plain' when '.md' then 'text/markdown' when '.json' then 'application/json' else 'application/octet-stream' end end
Exemple d'utilisation
result = upload_files('vs_abc123', ['/path/to/document1.pdf', '/path/to/document2.docx']) puts result
Si certains fichiers échouent à être téléchargés, ils seront listés dans le tableau errors :
Authentification
Ce point de terminaison nécessite une authentification à l'aide d'une clé API dans l'en-tête x-api-key.
Formats de fichier pris en charge
PDF (
.pdf)Microsoft Word (
.doc,.docx)Microsoft Excel (
.xls,.xlsx)Microsoft PowerPoint (
.ppt,.pptx)Fichiers texte (
.txt)Markdown (
.md)JSON (
.json)HTML (
.html,.htm)
Limites de Taille de Fichier
Limite de taille de fichier individuelle : 50 Mo
Limite de taille totale de la requête : 100 Mo
Nombre maximum de fichiers par requête : 20
Réponses d'erreur
400
Mauvaise demande - Aucun fichier fourni ou format de demande invalide
401
Non autorisé - Clé API invalide ou manquante
404
Non trouvé - Magasin de vecteurs non trouvé
413
Charge utile trop grande - Les fichiers dépassent la limite de taille
415
Type de média non pris en charge - Format de fichier non pris en charge
500
Erreur interne du serveur
207
Multi-Statut - Certains fichiers ont été téléchargés avec succès, mais d'autres ont échoué
État du traitement
Les fichiers sont initialement acceptés avec un statut de processing. Vous pouvez vérifier l'état de traitement des documents en utilisant le point de terminaison Get a List of Documents in a Vector Store. L'état final sera l'un des suivants :
done: Le document a été traité avec succèserror: Une erreur s'est produite lors du traitementprocessing: Le document est encore en cours de traitement
Le temps de traitement dépend de la taille et de la complexité du fichier. Le temps de traitement typique est compris entre 30 secondes et 5 minutes par document.
Opérations par lots
Pour télécharger efficacement plusieurs fichiers vers votre Vector Store, Rememberizer prend en charge les opérations par lots. Cette approche aide à optimiser les performances lors du traitement d'un grand nombre de documents.
Mise en œuvre du téléchargement par lots
{% tabs %} {% tab title="Python" %}
{% endtab %}
{% tab title="JavaScript" %}
{% endtab %}
{% tab title="Ruby" %}
Meilleures Pratiques pour le Téléchargement par Lots
Pour optimiser les performances et la fiabilité lors du téléchargement de grands volumes de fichiers :
Gérer la Taille des Lots : Gardez les tailles de lots entre 5 et 10 fichiers pour des performances optimales. Trop de fichiers dans une seule requête augmente le risque de délais d'attente.
Mettre en Œuvre une Limitation de Taux : Ajoutez des délais entre les lots (2-3 secondes recommandées) pour éviter d'atteindre les limites de taux de l'API.
Ajouter une Logique de Réessai d'Erreur : Pour les systèmes de production, mettez en œuvre une logique de réessai pour les téléchargements échoués avec un retour exponentiel.
Valider les Types de Fichiers : Pré-filtrez les fichiers pour vous assurer qu'ils sont des types pris en charge avant d'essayer de les télécharger.
Surveiller le Progrès des Lots : Pour les applications destinées aux utilisateurs, fournissez un retour d'information sur l'avancement des opérations par lots.
Gérer le Succès Partiel : L'API peut renvoyer un code d'état 207 pour un succès partiel. Vérifiez toujours les statuts des documents individuels.
Nettoyer les Ressources : Assurez-vous que tous les handles de fichiers sont correctement fermés, surtout en cas d'erreurs.
Paralléliser Judicieusement : Pour des téléchargements très volumineux (des milliers de fichiers), envisagez plusieurs processus de lots concurrents ciblant différents magasins de vecteurs, puis combinez les résultats plus tard si nécessaire.
Mettre en Œuvre des Checksums : Pour les données critiques, vérifiez l'intégrité des fichiers avant et après le téléchargement avec des checksums.
Consigner des Résultats Complets : Maintenez des journaux détaillés de toutes les opérations de téléchargement pour le dépannage.
En suivant ces meilleures pratiques, vous pouvez gérer efficacement l'ingestion de documents à grande échelle dans vos magasins de vecteurs.
Last updated