Huggingface.js documentation

الواجهة: CommitEditFile

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

الواجهة: 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