Huggingface.js documentation
الواجهة: CommitEditFile
الواجهة: CommitEditFile
تعديل ملف موجود عن طريق استبدال نطاقات البايتات من محتواه الأصلي.
عندما يكون originalContent من نوع XetBlob (كما يُعاد بواسطة downloadFile للملفات المدعومة بواسطة xet)، فإن الأجزاء غير المعدلة من الملف لا تُحمَّل ولا تُقسَّم إلى أجزاء جديدة: إذ يوفر خادم CAS نوافذ تحرير متوافقة مع حدود الأجزاء وبيانات merkle جزئية (GET /v2/file-chunk-hashes)، لذا يتم جلب المناطق المعدلة فقط (إضافةً إلى محيط حدود الأجزاء الخاصة بها) وإعادة تقسيمها إلى أجزاء وحساب قيم التجزئة الخاصة بها.
- بالنسبة للبراميل (حيث لا يتدخل sha256)، يعني ذلك أن التعديلات والإضافات تتطلب عدم تنزيل البيانات غير المعدّلة على الإطلاق.
- بالنسبة إلى النماذج/مجموعات البيانات/المساحات، لا يزال يتم بث البيانات غير المتغيرة مرة واحدة لحساب sha256 للملف الجديد (وهو ما يتطلبه بروتوكول LFS)، بدلاً من مرتين (sha256 + التقطيع).
مع أي Blob آخر كـoriginalContent، يتم إعادة تقسيم المحتوى بالكامل محليًا، وتُستبعد التكرارات من الأجزاء غير المتغيرة مقارنةً بالنسخة البعيدة (يتم تجاوز الرفع، لكن يُقرأ المحتوى بالكامل).
الخصائص
تعديلات
• تعديلات: { content: Blob ; end: number ; start: number }[]
معرّف في
packages/hub/src/lib/commit.ts:77
عملية
• العملية: "edit"
معرّف في
packages/hub/src/lib/commit.ts:73
originalContent
• originalContent: Blob
لاحقًا، سيكون ContentSource. أما الآن، فمن الأسهل التعامل مع الكتل (blobs) فقط
معرّف في
packages/hub/src/lib/commit.ts:76
path
• path: string
معرّف في
packages/hub/src/lib/commit.ts:74
Update on GitHub