Ollama
Ollama 0.40.2 يرقّي نماذجك في الخلفية ويحتفظ بنسخها الأصلية احتياطاً
فُحص آلياً على صفحة Ollama في .
حُدِّث في .
يرقّي Ollama 0.40.2 النماذجَ التي نزّلتها بإصدارات أقدم منه، في الخلفية، في أوّل مرّة تشغّل فيها كلّ واحد منها، والغاية أداء أفضل وتوافق أفضل حين تعمل على llama.cpp. وتاريخ صفحة الإصدار 8 تشرين الأول الساعة 16:53. ولهذا الترقية ثمن ستراه على قرصك: كي يبقى الرجوع إلى إصدار أقدم آمناً، يحتفظ Ollama بالنسخة الأصلية من كلّ نموذج رقّاه نسخةً احتياطية، فيشغل هذا النموذج مكانه على القرص مرّتين في الوقت الحالي. والنسخة الاحتياطية هنا ليست إلا النموذج كما كان قبل الترقية، مركوناً جانباً كي يبقى إصدار أقدم من Ollama قادراً على استعماله. وفي هذا الإصدار تجد كيف تتخلّص من هذه النسخ، ومتى يكون الأفضل أن تُبقيها.
ما الذي تغيّر
تضع ملاحظة الإصدار الخبر تحت عنوان واحد: ترقية النماذج. فالنموذج الذي نزّلته بإصدار سابق لا يتحوّل لحظة تثبيت 0.40.2، بل يُرقّى في الخلفية أوّل مرّة تشغّله فيها، والسبب المذكور أداء أفضل وتوافق أفضل على llama.cpp، وهو المحرّك الذي يحمّل النموذج ويحسب منه الإجابات. أي أنّ التغيير يصل إلى نماذجك واحداً واحداً، كلّما استعملت واحداً منها.
وتبقى النسخة الأصلية خلفه نسخةً احتياطية، كي يكون الرجوع إلى إصدار أقدم آمناً، وما دامت باقية فالنموذج المرقّى يشغل مكاناً آخر بجانبها على القرص. والصفحة تصف هذا بأنّه مؤقّت: سيحذف إصدار قادم هذه النسخ الاحتياطية تلقائيّاً. لكنّها لا تقول أيّ إصدار.
وإن لم تُرد الانتظار، فالصفحة تعطيك أمراً يحذف النسخ الاحتياطية الآن، ويحتاج إلى jq. وjq برنامج صغير يعمل من سطر الأوامر ويقرأ JSON، وهو صيغة النصّ التي يجيب بها خادم Ollama. الأمر من أربعة أسطر، انسخه من صفحة الإصدار المذكورة تحت «المصدر» في آخر هذا الخبر، كما هو مطبوع هناك تماماً.
وهذا ما يفعله خطوة خطوة. يطلب أوّلاً من خادم Ollama على جهازك قائمة نماذجك ويأخذ اسم كلّ نموذج منها. ثمّ يطلب لكلّ اسم من الخادم وصف ذلك النموذج وينظر في ملفّات البيان الخاصّة به — وملفّ البيان (manifest) ملفّ قصير يعدّد ما يتكوّن منه النموذج المخزَّن. فإن كان للنموذج ملفّ بيان خاصّ بمشغّل llama.cpp، أي أنّه رُقّي، يختار الأمر ملفّ البيان الذي ما زال محفوظاً للمشغّل القديم ggml ويطبع بصمته (digest): وهي سلسلة تشبه البصمة تسمّي نسخة مخزَّنة واحدة بعينها دون لبس. وفي النهاية يحذف البصمات المكرّرة ويسلّم كلّ واحدة منها إلى ollama rm. والصفحة صريحة في حدود ما يمسّه: الأمر يحذف النسخ الاحتياطية وحدها. وصريحة أيضاً في ثمنه: إن رجعت لاحقاً إلى إصدار أقدم من 0.40، فستحتاج إلى تنزيل تلك النماذج من جديد.
ويأتي معه إصلاحان أصغر. لم يعد ollama listيعرض مدخلات مكرّرة للنماذج المرقّاة ، فإن رأيت نموذجاً شغّلته يظهر مرّتين في تلك القائمة، فهذا هو الإصلاح. وصارollama launch claudeيعطي النموذج كامل السياق الذي يتّسع له، أي كلّ ما يستطيع النموذج أن يأخذه دفعة واحدة.
ما كان قبل ذلك
تعرض الصفحة تغييراتها على أنّها التغييرات منذ v0.40.1 ، وهو الإصدار الذي يحمل تاريخ 7 تشرين الأول الساعة 23:22. وتجد ذلك الإصدار، ومعه انتقال 0.40 إلى تشغيل النماذج المدعومة على MLX في أجهزة Apple Silicon، في خبرناOllama 0.40 يشغّل النماذج المدعومة على MLX تلقائيّاً في أجهزة Apple Silicon.
ما معناه لك
ابدأ بمساحة القرص، لأنّها أوّل ما ستلاحظه. كلّ نموذج تشغّله بعد التحديث تصير له نسخة مرقّاة وتبقى نسخته الأصلية احتياطاً ، فتحتاج لكلّ نموذج تستعمله إلى مكان يتّسع للنسختين معاً حتى تُحذف النسخ الاحتياطية. ولا تأتي هذه الزيادة دفعة واحدة لحظة التحديث، بل نموذجاً بعد نموذج، في أوّل مرّة تشغّل فيها كلّاً منها. فإن كانت نماذجك كبيرة وقرصك يكاد يمتلئ، فانظر في المساحة الفارغة قبل أن تحدّث، ثم انظر فيها مرّة أخرى بعد أن تشغّل النماذج التي تستعملها أكثر من غيرها.
ثم قرّر ما تفعله بالنسخ الاحتياطية. عملها الوحيد أن يبقى الرجوع إلى إصدار أقدم آمناً. فإن كان وارداً أن ترجع إلى إصدار أقدم من 0.40 — لأنّ نموذجاً صار يتصرّف بشكل مختلف بعد الترقية مثلاً، أو لأنّ أداة تعتمد عليها تحتاج الإصدار الأقدم — فأبقِها: من دونها ستضطرّ إلى تنزيل تلك النماذج من جديد. أمّا إن كنت باقياً على 0.40 أو ما بعده، فحذفها لا يأخذ منك شيئاً تحتاجه ، ولك أن تنتظر الإصدار الذي سيحذفها وحده ، أو أن تشغّل الأمر الآن.
وقبل أن تشغّله، تأكّد من أمرين. الأوّل أن يكون jq مثبّتاً عندك ؛ والأمرjq --version يجيبك إن كان مثبّتاً. والثاني أن يكون خادم Ollama شغّالاً على هذا الجهاز وعلى منفذه الافتراضي، وهو العنوان المكتوب في السطرين الأوّلين، لأنّهما هما اللذان يسألانه عن نماذجك؛ وإن كنت تشغّل الخادم على عنوان آخر، فغيّره في الموضعين. وإن أردت أن ترى ما الذي سيُحذف قبل أن يُحذف أيّ شيء، فاحذف | xargs -n1 ollama rmمن السطر الأخير: عندها يكتفي الأمر بطباعة البصمات. والنموذج الذي لم تشغّله منذ التحديث ليس له بعدُ ملفّ بيان خاصّ بـllama.cpp، فيتركه الأمر كما هو، إذ لا نسخة احتياطية له تُحذف.
أمّا الإصلاحان الأصغر فلا يطلبان منك شيئاً. إن كنت تستعمل ollama launch claude، فالنموذج يأخذ كامل سياقه وحده بعد التحديث ، وollama listيعرض كلّ نموذج مرقّى مرّة واحدة.
المصدر
صفحتا الإصدار على GitHub: Ollama v0.40.2، ولما كان قبله: Ollama v0.40.1.