Upload filer til en Vektorbutik
Upload filindhold til Vector Store med batchoperationer
Eksempelanmodninger
curl -X POST \
https://api.rememberizer.ai/api/v1/vector-stores/vs_abc123/documents/upload \
-H "x-api-key: DIN_API_NØGLE" \
-F "files=@/sti/til/dokument1.pdf" \
-F "files=@/sti/til/dokument2.docx"const uploadFiles = async (vectorStoreId, files) => {
const formData = new FormData();
// Tilføj flere filer til formular data
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': 'DIN_API_NØGLE'
// Bemærk: Sæt ikke Content-Type header, den vil blive sat automatisk med den korrekte grænse
},
body: formData
});
const data = await response.json();
console.log(data);
};
// Eksempel på brug med filinput-element
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")
Opret et nyt HTTP-objekt
http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true
Opret en multipart-form anmodning
request = Net::HTTP::Post.new(uri) request['x-api-key'] = 'DIN_API_NØGLE'
Opret en multipart grænse
boundary = "RubyFormBoundary#{rand(1000000)}" request['Content-Type'] = "multipart/form-data; boundary=#{boundary}"
Byg anmodningskroppen
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
Send anmodningen
response = http.request(request)
Parse og returner svaret
JSON.parse(response.body) end
{% hint style="info" %} Erstat YOUR_API_KEY med din faktiske Vector Store API-nøgle, vs_abc123 med dit Vector Store ID, og angiv stierne til dine lokale filer. {% endhint %} {% endtab %} {% endtabs %}
Sti Parametre
vector-store-id
string
Påkrævet. ID'en på vektorbutikken, som filer skal uploades til.
Anmodningskrop
Denne endpoint accepterer en multipart/form-data anmodning med en eller flere filer i files feltet.
Svarformat
Hvis nogle filer ikke kan uploades, vil de blive listet i errors-arrayet:
Godkendelse
Denne endpoint kræver godkendelse ved hjælp af en API-nøgle i x-api-key headeren.
Understøttede filformater
PDF (
.pdf)Microsoft Word (
.doc,.docx)Microsoft Excel (
.xls,.xlsx)Microsoft PowerPoint (
.ppt,.pptx)Tekstfiler (
.txt)Markdown (
.md)JSON (
.json)HTML (
.html,.htm)
Filstørrelsesgrænser
Individuel filstørrelsesgrænse: 50MB
Total anmodningsstørrelsesgrænse: 100MB
Maksimalt antal filer pr. anmodning: 20
Fejlrespons
400
Bad Request - Ingen filer angivet eller ugyldigt anmodningsformat
401
Uautoriseret - Ugyldig eller manglende API-nøgle
404
Ikke Fundet - Vektorbutik ikke fundet
413
Payload For Stor - Filer overstiger størrelsesgrænsen
415
Uunderstøttet Mediatype - Filformat understøttes ikke
500
Intern Serverfejl
207
Multi-Status - Nogle filer blev uploadet med succes, men andre fejlede
Behandlingsstatus
Filer accepteres oprindeligt med en status på behandling. Du kan tjekke behandlingsstatus for dokumenterne ved hjælp af Hent en liste over dokumenter i en vektorbutik endpointet. Den endelige status vil være en af:
færdig: Dokumentet blev behandlet med succesfejl: Der opstod en fejl under behandlingenbehandling: Dokumentet bliver stadig behandlet
Behandlingstiden afhænger af filstørrelse og kompleksitet. Typisk behandlingstid er mellem 30 sekunder og 5 minutter pr. dokument.
Batch Operationer
For effektivt at uploade flere filer til din Vector Store, understøtter Rememberizer batch operationer. Denne tilgang hjælper med at optimere ydeevnen, når man arbejder med et stort antal dokumenter.
Batch Upload Implementering
{% tabs %} {% tab title="Python" %}
{% endtab %}
{% tab title="JavaScript" %}
{% endtab %}
{% tab title="Ruby" %}
Batch Upload Bedste Praksis
For at optimere ydeevne og pålidelighed ved upload af store mængder filer:
Håndter Batch Størrelse: Hold batch størrelser mellem 5-10 filer for optimal ydeevne. For mange filer i en enkelt anmodning øger risikoen for timeout.
Implementer Rate Limiting: Tilføj forsinkelser mellem batches (2-3 sekunder anbefales) for at undgå at ramme API rate grænser.
Tilføj Fejl Retry Logik: For produktionssystemer, implementer retry logik for mislykkede uploads med eksponentiel tilbageholdelse.
Valider Filtyper: Forfiltrer filer for at sikre, at de er understøttede typer, før upload forsøges.
Overvåg Batch Fremskridt: For brugerorienterede applikationer, giv fremskridtsfeedback om batch operationer.
Håndter Delvis Succes: API'en kan returnere en 207 statuskode for delvis succes. Tjek altid individuelle dokumentstatusser.
Ryd Op i Ressourcer: Sørg for, at alle filhåndtag er korrekt lukket, især når der opstår fejl.
Paralleliser Klogt: For meget store uploads (tusinder af filer), overvej flere samtidige batch processer, der målretter forskellige vektorbutikker, og kombiner derefter resultaterne senere, hvis nødvendigt.
Implementer Checksums: For kritiske data, verificer filintegritet før og efter upload med checksums.
Log Omfattende Resultater: Oprethold detaljerede logs over alle upload operationer til fejlfinding.
Ved at følge disse bedste praksis kan du effektivt håndtere storskala dokumentindtagelse i dine vektorbutikker.
Last updated