Carica file in un Archivio Vettoriale
Carica il contenuto dei file nel Vector Store con operazioni in batch
Esempi di Richieste
curl -X POST \
https://api.rememberizer.ai/api/v1/vector-stores/vs_abc123/documents/upload \
-H "x-api-key: YOUR_API_KEY" \
-F "files=@/path/to/document1.pdf" \
-F "files=@/path/to/document2.docx"const uploadFiles = async (vectorStoreId, files) => {
const formData = new FormData();
// Aggiungi più file ai dati del modulo
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': 'YOUR_API_KEY'
// Nota: Non impostare l'intestazione Content-Type, verrà impostata automaticamente con il confine corretto
},
body: formData
});
const data = await response.json();
console.log(data);
};
// Esempio di utilizzo con l'elemento di input file
const fileInput = document.getElementById('fileInput');
uploadFiles('vs_abc123', fileInput.files);Metodo di aiuto per determinare il tipo di contenuto
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
Esempio di utilizzo
result = upload_files('vs_abc123', ['/path/to/document1.pdf', '/path/to/document2.docx']) puts result
Se alcuni file non riescono a essere caricati, verranno elencati nell'array errors:
Autenticazione
Questo endpoint richiede autenticazione utilizzando una chiave API nell'intestazione x-api-key.
Formati di File Supportati
PDF (
.pdf)Microsoft Word (
.doc,.docx)Microsoft Excel (
.xls,.xlsx)Microsoft PowerPoint (
.ppt,.pptx)File di testo (
.txt)Markdown (
.md)JSON (
.json)HTML (
.html,.htm)
Limiti di Dimensione dei File
Limite di dimensione per file singolo: 50MB
Limite di dimensione totale della richiesta: 100MB
Numero massimo di file per richiesta: 20
Risposte di Errore
400
Richiesta Errata - Nessun file fornito o formato di richiesta non valido
401
Non Autorizzato - Chiave API non valida o mancante
404
Non Trovato - Negozio Vettoriale non trovato
413
Carico Troppo Grande - I file superano il limite di dimensione
415
Tipo di Media Non Supportato - Formato file non supportato
500
Errore Interno del Server
207
Multi-Status - Alcuni file sono stati caricati con successo, ma altri hanno fallito
Stato di Elaborazione
I file vengono inizialmente accettati con uno stato di processing. Puoi controllare lo stato di elaborazione dei documenti utilizzando l'endpoint Get a List of Documents in a Vector Store. Lo stato finale sarà uno dei seguenti:
done: Il documento è stato elaborato con successoerror: Si è verificato un errore durante l'elaborazioneprocessing: Il documento è ancora in fase di elaborazione
Il tempo di elaborazione dipende dalle dimensioni e dalla complessità del file. Il tempo di elaborazione tipico è compreso tra 30 secondi e 5 minuti per documento.
Operazioni in Batch
Per caricare in modo efficiente più file nel tuo Vector Store, Rememberizer supporta operazioni in batch. Questo approccio aiuta a ottimizzare le prestazioni quando si gestiscono grandi quantità di documenti.
Implementazione del Caricamento Batch
{% tabs %} {% tab title="Python" %}
{% endtab %}
{% tab title="JavaScript" %}
{% endtab %}
{% tab title="Ruby" %}
Migliori Pratiche per il Caricamento Batch
Per ottimizzare le prestazioni e l'affidabilità durante il caricamento di grandi volumi di file:
Gestire la Dimensione del Batch: Mantieni le dimensioni del batch tra 5-10 file per prestazioni ottimali. Troppi file in una singola richiesta aumentano il rischio di timeout.
Implementare il Rate Limiting: Aggiungi ritardi tra i batch (2-3 secondi raccomandati) per evitare di superare i limiti di velocità dell'API.
Aggiungere Logica di Riprova per Errori: Per i sistemi di produzione, implementa una logica di riprova per i caricamenti non riusciti con backoff esponenziale.
Validare i Tipi di File: Pre-filtra i file per garantire che siano tipi supportati prima di tentare il caricamento.
Monitorare il Progresso del Batch: Per le applicazioni rivolte agli utenti, fornisci feedback sul progresso delle operazioni batch.
Gestire il Successo Parziale: L'API può restituire un codice di stato 207 per il successo parziale. Controlla sempre gli stati dei singoli documenti.
Pulire le Risorse: Assicurati che tutti i gestori di file siano chiusi correttamente, specialmente quando si verificano errori.
Parallelizzare con Saggezza: Per caricamenti molto grandi (migliaia di file), considera più processi batch concorrenti che mirano a diversi store di vettori, quindi combina i risultati in seguito se necessario.
Implementare i Checksum: Per dati critici, verifica l'integrità del file prima e dopo il caricamento con i checksum.
Registrare Risultati Completi: Mantieni registri dettagliati di tutte le operazioni di caricamento per la risoluzione dei problemi.
Seguendo queste migliori pratiche, puoi gestire in modo efficiente l'ingestione di documenti su larga scala nei tuoi store di vettori.
Last updated