Ollama وLiteLLM: كيف تحوّل سكربت Python إلى محادثة LLM متكاملة في سطر الأوامر
في الجزء الثاني من دليل Ollama وLiteLLM يتحول سكربت Python بسيط إلى محادثة LLM في سطر الأوامر. تُضاف حلقة للتخاطب وsystem prompt ومعالجة أساسية للأخطاء، وهي الهيكل الأدنى الذي بدونه لا يبدو المساعد المحلي تطبيقًا حقيقيًا. ولم يعد الأمر طلبًا منفردًا إلى النموذج، بل أصبح قالبًا جاهزًا لواجهة حيّة ولمزيد من التجارب مع الذكاء الاصطناعي المحلي.
معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
في الجزء الثاني من دليل Python وOllama وLiteLLM ينتقل الكاتب من استدعاء النموذج مرة واحدة إلى محادثة متكاملة في سطر الأوامر. ومن السكربت البسيط يتشكل قالب جاهز لتطبيق ذكاء اصطناعي محلي، يضم حوارًا مستمرًا ودورًا نظاميًا للنموذج وحماية من الأعطال الشائعة.
من السكربت إلى المحادثة
الخطوة الأولى هنا ليست تغيير النموذج، بل تغيير سيناريو العمل. الطلب المنفرد مناسب للتأكد من أن حزمة Python وOllama وLiteLLM تستجيب أصلًا. لكن ما إن تريد طرح سؤال توضيحي أو تعديل الصياغة أو مواصلة الفكرة حتى يصطدم هذا السكربت بسقفه سريعًا.
تعالج محادثة سطر الأوامر هذه المشكلة بأبسط طريقة: لا ينتهي البرنامج بعد إجابة واحدة، بل يبقى في الحوار ويتيح التحدث مع النموذج كما يتحدث المرء مع محاور عادي في الطرفية.
وبالنسبة للمطوّر، هذه نقطة تحوّل مهمة. فبدلًا من «استدعيت الـ API — حصلت على نص» تظهر واجهة تطبيق بسيطة: مدخلات المستخدم وسجل الرسائل وردّ النموذج ومنطق تحكم يحيط بها. ويفيد LiteLLM هنا بوصفه طبقة موحّدة للتعامل مع النماذج، بينما يتولى Ollama التشغيل المحلي. والنتيجة أن مشروعًا تعليميًا صغيرًا يبدأ بالشبه بمنتج حقيقي، يمكن تشغيله واختباره وتعقيده تدريجيًا دون إعادة بناء الأساس بالكامل.
ما الذي يظهر في الكود
الطبقة التالية هي التفاصيل التي تجعل المحادثة برنامجًا خاضعًا للتحكم، لا مجرد حلقة input/output. وما يميّز هذه الأمثلة ليس «الميزات السحرية»، بل العناصر الهندسية الأساسية: من يحدد دور النموذج، وأين يُحفظ السياق، وماذا يحدث إذا تعطّل الطلب. ومن هذه العناصر يتكوّن الانطباع بأن أمامك قالبًا عمليًا لمساعد محلي، لا عرضًا تجريبيًا لخمس دقائق.
- حلقة تخاطب تستقبل الرسائل الجديدة إلى أن يُدخل المستخدم أمر الخروج
- System prompt يحدد دور النموذج ونبرته وحدود سلوكه
- قائمة رسائل تتيح للنموذج رؤية الردود السابقة والحفاظ على السياق
- تحقق أساسي من المدخلات حتى لا تُرسل طلبات فارغة
- معالجة للاستثناءات حتى لا ينهار البرنامج عند أول عطل
كل نقطة من هذه النقاط تبدو بسيطة، لكنها معًا تغيّر جودة التفاعل. فـSystem prompt ليس لإضفاء «شخصية» على الروبوت فحسب، بل يُستخدم لتثبيت قواعد الإجابة وصيغتها ولغتها وقيودها. أما سجل الرسائل فيتيح محادثة مترابطة بدلًا من إعادة شرح المهمة في كل دور. وتوفّر معالجة الأخطاء وقتًا أثناء تصحيح الأعطال: فإذا تجمّد النموذج المحلي أو لم يكن Ollama قيد التشغيل أو أعاد LiteLLM استثناءً، فلا تضيع الجلسة كلها.
الخطوات الأولى نحو تطبيق
وتبرز فكرة مستقلة عن الخطوات الأولى نحو تطبيق ذكاء اصطناعي «حي». تبدو واجهة سطر الأوامر متواضعة، لكنها أسهل وسيلة لاختبار سلوك الروبوت في حوار حقيقي، حيث يصوغ المستخدم أفكاره بصورة غير مثالية ويطرح أسئلة توضيحية ويغيّر السياق باستمرار. وتظهر نقاط الضعف هنا سريعًا: system prompt عام أكثر من اللازم، وصيغة إخراج غير مريحة، وغياب أوامر الخروج أو إعادة التشغيل، وأخطاء غير واضحة عند تحميل النموذج.
ويسهل توسيع هذا الهيكل لاحقًا دون تعقيد معماري زائد. فيمكن إضافة بث الرموز (stream) وأوامر مستقلة مثل /clear لمسح السجل، والتبديل بين النماذج، وتسجيل الحوارات، أو ربط الأدوات. لكن قيمة الخطوة الحالية في أمر آخر: يبيّن الكاتب أن الواجهة المفيدة لا تبدأ من GUI ولا من تطبيق ويب، بل من حلقة تخاطب موثوقة في الطرفية. وإذا بُنيت هذه الطبقة بعناية، يصبح النمو لاحقًا أيسر، سواء نحو منتج أو نحو مزيد من التجارب.
ماذا يعني ذلك
بالنسبة لمن يبنون أدوات ذكاء اصطناعي محلية بلغة Python، هذه المرحلة لا غنى عنها. فحزمة Ollama وLiteLLM لا تصبح مثيرة للاهتمام عند أول إجابة ناجحة، بل حين تظهر حول النموذج حلقة تخاطب سليمة. ومحادثة سطر الأوامر هي الصورة الدنيا لهذه الحلقة: بسيطة بما يكفي للبدء، ومفيدة بما يكفي لبناء الطبقة التالية من الوظائف عليها.
- 31 أكتوبر 2026تشغيل نموذج فيديو بـ22 مليار معامل على RTX 3080 بذاكرة 10 غيغابايت
- 29 أكتوبر 2026مطوّر يبني نظام RAG بالاعتماد على نماذج محلية ويرفع دقة البحث من 20% إلى 53%
- 29 أكتوبر 2026علماء يكتشفون: وكلاء الذكاء الاصطناعي يخلطون بين الحقائق القديمة والجديدة في الذاكرة حتى بعد البحث الصحيح
- 29 أكتوبر 2026Liquid AI تطلق LFM3: ست نماذج متعددة الوسائط بحجم 2B وسياق 256K
أسئلة وأجوبة حول الخبر
ما أبرز التفاصيل حول من السكربت إلى المحادثة؟
الخطوة الأولى هنا ليست تغيير النموذج، بل تغيير سيناريو العمل. الطلب المنفرد مناسب للتأكد من أن حزمة Python وOllama وLiteLLM تستجيب أصلًا. لكن ما إن تريد طرح سؤال توضيحي أو تعديل الصياغة أو مواصلة الفكرة حتى يصطدم هذا السكربت بسقفه سريعًا. تعالج محادثة سطر الأوامر هذه المشكلة بأبسط طريقة: لا ينتهي البرنامج بعد إجابة واحدة، بل يبقى في الحوار ويتيح التحدث مع النموذج كما يتحدث المرء مع محاور عادي في الطرفية. وبالنسبة للمطوّر، هذه نقطة تحوّل مهمة. فبدلًا من «استدعيت الـ API — حصلت على نص» تظهر واجهة تطبيق بسيطة: مدخلات المستخدم وسجل الرسائل وردّ النموذج ومنطق تحكم يحيط بها. ويفي
ما أبرز التفاصيل حول ما الذي يظهر في الكود؟
الطبقة التالية هي التفاصيل التي تجعل المحادثة برنامجًا خاضعًا للتحكم، لا مجرد حلقة input/output. وما يميّز هذه الأمثلة ليس «الميزات السحرية»، بل العناصر الهندسية الأساسية: من يحدد دور النموذج، وأين يُحفظ السياق، وماذا يحدث إذا تعطّل الطلب. ومن هذه العناصر يتكوّن الانطباع بأن أمامك قالبًا عمليًا لمساعد محلي، لا عرضًا تجريبيًا لخمس دقائق. حلقة تخاطب تستقبل الرسائل الجديدة إلى أن يُدخل المستخدم أمر الخروج System prompt يحدد دور النموذج ونبرته وحدود سلوكه قائمة رسائل تتيح للنموذج رؤية الردود السابقة والحفاظ على السياق تحقق أساسي من المدخلات حتى لا تُرسل طلبات فارغة معالجة للاست
ما أبرز التفاصيل حول الخطوات الأولى نحو تطبيق؟
وتبرز فكرة مستقلة عن الخطوات الأولى نحو تطبيق ذكاء اصطناعي «حي». تبدو واجهة سطر الأوامر متواضعة، لكنها أسهل وسيلة لاختبار سلوك الروبوت في حوار حقيقي، حيث يصوغ المستخدم أفكاره بصورة غير مثالية ويطرح أسئلة توضيحية ويغيّر السياق باستمرار. وتظهر نقاط الضعف هنا سريعًا: system prompt عام أكثر من اللازم، وصيغة إخراج غير مريحة، وغياب أوامر الخروج أو إعادة التشغيل، وأخطاء غير واضحة عند تحميل النموذج. ويسهل توسيع هذا الهيكل لاحقًا دون تعقيد معماري زائد. فيمكن إضافة بث الرموز (stream) وأوامر مستقلة مثل /clear لمسح السجل، والتبديل بين النماذج، وتسجيل الحوارات، أو ربط الأدوات. لكن قيمة
Build & Ship Production AI Agents Without Boilerplate Code
Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.
أهم ما في عالم الذكاء الاصطناعي — مرة كل أسبوع
سبع قصص مهمة فعلاً هذا الأسبوع، مختارة بعناية. بلا ضجيج ولا بيانات صحفية.
تم! تحقق من بريدك للتأكيد.