رفع الملفات إلى متجر المتجهات
تحميل محتوى الملف إلى Vector Store مع عمليات الدفعة
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.
طلبات مثال
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();
// إضافة ملفات متعددة إلى بيانات النموذج
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'
// ملاحظة: لا تقم بتعيين رأس Content-Type، سيتم تعيينه تلقائيًا مع الحدود الصحيحة
},
body: formData
});
const data = await response.json();
console.log(data);
};
// مثال على الاستخدام مع عنصر إدخال الملف
const fileInput = document.getElementById('fileInput');
uploadFiles('vs_abc123', fileInput.files);طريقة مساعدة لتحديد نوع المحتوى
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
مثال على الاستخدام
result = upload_files('vs_abc123', ['/path/to/document1.pdf', '/path/to/document2.docx']) puts result
إذا فشلت بعض الملفات في التحميل، فسيتم إدراجها في مصفوفة errors:
المصادقة
تتطلب هذه النقطة النهائية المصادقة باستخدام مفتاح API في رأس x-api-key.
تنسيقات الملفات المدعومة
PDF (
.pdf)Microsoft Word (
.doc,.docx)Microsoft Excel (
.xls,.xlsx)Microsoft PowerPoint (
.ppt,.pptx)ملفات نصية (
.txt)Markdown (
.md)JSON (
.json)HTML (
.html,.htm)
حدود حجم الملف
حد حجم الملف الفردي: 50MB
حد حجم الطلب الإجمالي: 100MB
الحد الأقصى لعدد الملفات في كل طلب: 20
ردود الخطأ
400
طلب غير صحيح - لم يتم تقديم ملفات أو تنسيق طلب غير صالح
401
غير مصرح - مفتاح API غير صالح أو مفقود
404
غير موجود - لم يتم العثور على متجر المتجهات
413
الحمولة كبيرة جدًا - الملفات تتجاوز حد الحجم
415
نوع الوسائط غير مدعوم - تنسيق الملف غير مدعوم
500
خطأ في الخادم الداخلي
207
حالة متعددة - تم تحميل بعض الملفات بنجاح، لكن فشلت أخرى
حالة المعالجة
يتم قبول الملفات في البداية بحالة processing. يمكنك التحقق من حالة معالجة الوثائق باستخدام نقطة النهاية الحصول على قائمة بالوثائق في متجر المتجهات. ستكون الحالة النهائية واحدة من:
done: تم معالجة الوثيقة بنجاحerror: حدث خطأ أثناء المعالجةprocessing: لا تزال الوثيقة قيد المعالجة
تعتمد مدة المعالجة على حجم الملف وتعقيده. تتراوح مدة المعالجة النموذجية بين 30 ثانية إلى 5 دقائق لكل وثيقة.
العمليات الدفعة
لرفع عدة ملفات إلى متجر المتجهات الخاص بك بكفاءة، يدعم Rememberizer العمليات الدفعة. تساعد هذه الطريقة في تحسين الأداء عند التعامل مع أعداد كبيرة من الوثائق.
تنفيذ تحميل دفعة
{% tabs %} {% tab title="Python" %}
{% endtab %}
{% tab title="JavaScript" %}
{% endtab %}
{% tab title="Ruby" %}
أفضل الممارسات لتحميل الدفعات
لتحسين الأداء والموثوقية عند تحميل كميات كبيرة من الملفات:
إدارة حجم الدفعة: احتفظ بأحجام الدفعات بين 5-10 ملفات لتحقيق الأداء الأمثل. عدد كبير جداً من الملفات في طلب واحد يزيد من خطر حدوث مهلات.
تنفيذ تحديد المعدل: أضف تأخيرات بين الدفعات (يوصى بـ 2-3 ثواني) لتجنب الوصول إلى حدود معدل API.
إضافة منطق إعادة المحاولة عند الخطأ: بالنسبة للأنظمة الإنتاجية، نفذ منطق إعادة المحاولة للتحميلات الفاشلة مع زيادة زمن الانتظار بشكل أسي.
التحقق من أنواع الملفات: قم بفرز الملفات مسبقاً لضمان أنها من الأنواع المدعومة قبل محاولة التحميل.
مراقبة تقدم الدفعة: بالنسبة للتطبيقات الموجهة للمستخدمين، قدم ملاحظات حول تقدم العمليات الخاصة بالدفعات.
التعامل مع النجاح الجزئي: قد يعيد API رمز الحالة 207 للنجاح الجزئي. تحقق دائماً من حالات الوثائق الفردية.
تنظيف الموارد: تأكد من إغلاق جميع مقبضات الملفات بشكل صحيح، خاصة عند حدوث أخطاء.
التوازي بحكمة: بالنسبة للتحميلات الكبيرة جداً (آلاف الملفات)، اعتبر استخدام عمليات دفعات متزامنة متعددة تستهدف متاجر متجهات مختلفة، ثم اجمع النتائج لاحقاً إذا لزم الأمر.
تنفيذ المجموعات الاختبارية: بالنسبة للبيانات الحرجة، تحقق من سلامة الملفات قبل وبعد التحميل باستخدام المجموعات الاختبارية.
تسجيل النتائج بشكل شامل: احتفظ بسجلات مفصلة لجميع عمليات التحميل لتسهيل استكشاف الأخطاء.
من خلال اتباع هذه الممارسات الجيدة، يمكنك إدارة إدخال الوثائق على نطاق واسع بكفاءة في متاجر المتجهات الخاصة بك.
Last updated