Dateien in einen Vektor-Speicher hochladen
Dateiinhalt in den Vektor-Speicher mit Batch-Operationen hochladen
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.
Beispielanfragen
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();
// Fügen Sie mehrere Dateien zu den Formulardaten hinzu
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'
// Hinweis: Setzen Sie den Content-Type-Header nicht, er wird automatisch mit dem richtigen Boundary gesetzt
},
body: formData
});
const data = await response.json();
console.log(data);
};
// Beispielverwendung mit einem Dateieingabeelement
const fileInput = document.getElementById('fileInput');
uploadFiles('vs_abc123', fileInput.files);```ruby require 'net/http' require 'uri' require 'json'
def upload_files(vector_store_id, file_paths) uri = URI("https://api.rememberizer.ai/api/v1/vector-stores/#{vector_store_id}/documents/upload")
Erstellen Sie ein neues HTTP-Objekt
http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true
Erstellen Sie eine Multipart-Form-Anfrage
request = Net::HTTP::Post.new(uri) request['x-api-key'] = 'YOUR_API_KEY'
Erstellen Sie ein Multipart-Boundary
boundary = "RubyFormBoundary#{rand(1000000)}" request['Content-Type'] = "multipart/form-data; boundary=#{boundary}"
Erstellen Sie den Anfragekörper
body = [] file_paths.each do |file_path| file_name = File.basename(file_path) file_content = File.read(file_path, mode: 'rb')
end body << "--#{boundary}--\r\n"
request.body = body.join
Senden Sie die Anfrage
response = http.request(request)
Analysieren und geben Sie die Antwort zurück
JSON.parse(response.body) end
{% hint style="info" %} Ersetzen Sie YOUR_API_KEY durch Ihren tatsächlichen Vector Store API-Schlüssel, vs_abc123 durch Ihre Vector Store-ID und geben Sie die Pfade zu Ihren lokalen Dateien an. {% endhint %} {% endtab %} {% endtabs %}
Pfadparameter
vector-store-id
string
Erforderlich. Die ID des Vektor-Speichers, in den Dateien hochgeladen werden sollen.
Anfragekörper
Dieser Endpunkt akzeptiert eine multipart/form-data-Anfrage mit einer oder mehreren Dateien im Feld files.
Antwortformat
Wenn einige Dateien nicht hochgeladen werden können, werden sie im errors-Array aufgelistet:
Authentifizierung
Dieser Endpunkt erfordert eine Authentifizierung mit einem API-Schlüssel im x-api-key-Header.
Unterstützte Dateiformate
PDF (
.pdf)Microsoft Word (
.doc,.docx)Microsoft Excel (
.xls,.xlsx)Microsoft PowerPoint (
.ppt,.pptx)Textdateien (
.txt)Markdown (
.md)JSON (
.json)HTML (
.html,.htm)
Dateigrößenbeschränkungen
Maximale Dateigröße pro Datei: 50MB
Maximale Gesamtgröße der Anfrage: 100MB
Maximale Anzahl von Dateien pro Anfrage: 20
Fehlerantworten
400
Ungültige Anfrage - Keine Dateien bereitgestellt oder ungültiges Anfrageformat
401
Nicht autorisiert - Ungültiger oder fehlender API-Schlüssel
404
Nicht gefunden - Vektor-Speicher nicht gefunden
413
Payload zu groß - Dateien überschreiten das Größenlimit
415
Nicht unterstützter Medientyp - Dateiformat wird nicht unterstützt
500
Interner Serverfehler
207
Multi-Status - Einige Dateien wurden erfolgreich hochgeladen, andere sind fehlgeschlagen
Verarbeitungsstatus
Dateien werden zunächst mit dem Status processing akzeptiert. Sie können den Verarbeitungsstatus der Dokumente über den Get a List of Documents in a Vector Store Endpunkt überprüfen. Der endgültige Status wird einer der folgenden sein:
done: Dokument wurde erfolgreich verarbeiteterror: Während der Verarbeitung ist ein Fehler aufgetretenprocessing: Dokument wird noch verarbeitet
Die Verarbeitungszeit hängt von der Dateigröße und -komplexität ab. Die typische Verarbeitungszeit liegt zwischen 30 Sekunden und 5 Minuten pro Dokument.
Batch-Operationen
Um mehrere Dateien effizient in Ihren Vector Store hochzuladen, unterstützt Rememberizer Batch-Operationen. Dieser Ansatz hilft, die Leistung beim Umgang mit einer großen Anzahl von Dokumenten zu optimieren.
Batch-Upload-Implementierung
{% tabs %} {% tab title="Python" %}
{% endtab %}
{% tab title="JavaScript" %}
{% endtab %}
{% tab title="Ruby" %}
Batch-Upload-Best Practices
Um die Leistung und Zuverlässigkeit beim Hochladen großer Dateimengen zu optimieren:
Batch-Größe verwalten: Halten Sie die Batch-Größen zwischen 5-10 Dateien für optimale Leistung. Zu viele Dateien in einer einzigen Anfrage erhöhen das Risiko von Zeitüberschreitungen.
Ratenbegrenzung implementieren: Fügen Sie zwischen den Batches Verzögerungen hinzu (2-3 Sekunden empfohlen), um API-Ratenlimits zu vermeiden.
Fehler-Wiederholungslogik hinzufügen: Implementieren Sie für Produktionssysteme eine Wiederholungslogik für fehlgeschlagene Uploads mit exponentiellem Backoff.
Dateitypen validieren: Filtern Sie Dateien vorab, um sicherzustellen, dass es sich um unterstützte Typen handelt, bevor Sie den Upload versuchen.
Batch-Fortschritt überwachen: Bieten Sie für benutzerorientierte Anwendungen Rückmeldungen zum Fortschritt bei Batch-Operationen.
Teilweise Erfolge behandeln: Die API kann einen Statuscode 207 für teilweise Erfolge zurückgeben. Überprüfen Sie immer die Status einzelner Dokumente.
Ressourcen bereinigen: Stellen Sie sicher, dass alle Dateihandles ordnungsgemäß geschlossen werden, insbesondere wenn Fehler auftreten.
Weise parallelisieren: Bei sehr großen Uploads (Tausende von Dateien) sollten Sie mehrere gleichzeitige Batch-Prozesse in verschiedene Vektor-Speicher anvisieren und die Ergebnisse später bei Bedarf kombinieren.
Prüfziffern implementieren: Überprüfen Sie für kritische Daten die Dateiintegrität vor und nach dem Upload mit Prüfziffern.
Umfassende Ergebnisse protokollieren: Führen Sie detaillierte Protokolle aller Upload-Operationen zur Fehlersuche.
Durch die Befolgung dieser Best Practices können Sie die großflächige Dokumentenaufnahme in Ihre Vektor-Speicher effizient verwalten.
Last updated