الوحدة 5 — ملفّات Modelfile والنماذج المشتقّة
بعد أن ضبطنا معلمات الجلسة في الوحدة 3، نتساءل: كيف نُثبّت هذه الإعدادات كي لا يعيد كلّ زميل ضبطها؟ الجواب Modelfile: صيغة نصّيّة بسيطة، مستوحاة من Dockerfile، تصنع نموذجًا مشتقًّا من نموذج أساس مع رسالة نظام ومعلمات وقالب تعليمة ثابتة.
بنية Modelfile
ملفّ نصّيّ عاديّ باسم Modelfile (أو أيّ اسم آخر يُمرَّر إلى الأمر):
FROM qwen2.5:7b-instruct-q4_K_M
SYSTEM """
أنت المساعد الرسميّ لمكتب المحاماة "الأمانة".
تجيب بالعربيّة الفصحى بأسلوب رسميّ ومهنيّ.
ترفض دائمًا إفشاء معلومات موكّلين، وتُذكّر بسرّيّة المهنة.
حين تشكّ في مسألة قانونيّة، تُشير إلى وجوب التحقّق من محامٍ لا التوكّل على جوابك.
"""
PARAMETER temperature 0.2
PARAMETER num_ctx 8192
PARAMETER num_predict 512
PARAMETER stop "### النهاية"
هذا يعرّف نموذجًا جديدًا يعتمد qwen2.5:7b-instruct كأساس، مع سلوك افتراضيّ يخصّ المكتب. البناء:
ollama create amana-assistant -f Modelfile
الاستعمال بعدها كأيّ نموذج آخر:
ollama run amana-assistant
أو من Python:
ollama.chat(model="amana-assistant", messages=[{"role":"user","content":"..."}])
التعليمات المفتاحيّة
FROM
النموذج الأساس. يمكن أن يكون:
- نموذج من المكتبة (
FROM llama3.1:8b-instruct-q4_K_M). - نموذج مبنيّ محلّيًّا (
FROM amana-assistant) للاشتقاق فوق اشتقاق. - ملفّ GGUF على القرص (
FROM ./modele-affine.gguf) لاستيراد نموذج مُصقَل.