Ollama وLiteLLM: كيف تحوّل سكربت Python إلى دردشة LLM متكاملة عبر سطر الأوامر
في الجزء الثاني من الدليل حول Ollama وLiteLLM، يجري تحويل سكربت Python بسيط إلى دردشة LLM عبر سطر الأوامر. تُضاف حلقة للمحادثة وsystem prompt ومعالجة أساسية…
معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
من البرنامج النصي إلى الدردشة
الخطوة الأولى هنا ليست في تغيير النموذج، بل في تغيير سيناريو الاستخدام. طلب لمرة واحدة جيد للتحقق من أن مجموعة Python و Ollama و LiteLLM تعمل بالفعل. لكن بمجرد أن تريد طرح سؤال توضيحي أو تغيير الصياغة أو متابعة فكرة، فإن مثل هذا البرنامج النصي يصطدم بسرعة بحدوده.
يحل دردشة وحدة التحكم هذه المشكلة بأكثر طريقة مباشرة: البرنامج لا ينتهي بعد إجابة واحدة، بل يبقى في الحوار ويسمح بالتواصل مع النموذج مثل شريك محادثة عادي في المحطة الطرفية. بالنسبة للمطور، هذه نقطة تحول مهمة. بدلاً من "استدعيت API - حصلت على نص" يوجد واجهة تطبيق حد أدنى: إدخال المستخدم وسجل الرسائل والاستجابة من النموذج والمنطق الذي يديرهم.
LiteLLM مريح هنا كطبقة واحدة للوصول إلى النماذج و Ollama يغطي التنفيذ المحلي. نتيجة لذلك، حتى مشروع تعليمي صغير يبدأ يشبه منتجاً حقيقياً يمكنك بالفعل تشغيله واختباره وتعقيده تدريجياً دون إعادة بناء كاملة للأساس.
ما يظهر في الكود
الطبقة التالية هي التفاصيل التي تجعل الدردشة ليست مجرد حلقة إدخال/إخراج بل برنامجاً مُدارًا. في مثل هذه الأمثلة، ما يقيّم بشكل خاص ليست الميزات "السحرية" بل عناصر الهندسة الأساسية: من يحدد دور النموذج وأين يتم تخزين السياق وما يحدث إذا فشل الطلب. من هذه العناصر تكتسب الشعور بأنك تنظر ليس إلى عرض توضيحي لمدة خمس دقائق، بل إلى قالب عملي لمساعد محلي.
- حلقة محادثة تقبل رسائل جديدة حتى أمر الخروج
- System prompt التي تحدد دور النموذج والنبرة والحدود السلوكية
- قائمة الرسائل بحيث يرى النموذج التبادلات السابقة ويحافظ على السياق
- التحقق الأساسي من الإدخال لتجنب إرسال طلبات فارغة
- معالجة الاستثناءات حتى لا يتعطل البرنامج بعد الفشل الأول
كل واحدة من هذه النقاط تبدو بسيطة، لكن معاً تغير جودة التفاعل. System prompt ضروري ليس فقط لـ"شخصية" الروبوت: من خلاله يمكنك بشكل مريح تحديد قواعد الاستجابة والصيغة واللغة والقيود. يسمح سجل الرسائل بإجراء محادثة متماسكة بدلاً من إعادة شرح المهمة في كل دور. توفير معالجة الأخطاء الوقت أثناء التصحيح: إذا تعطل النموذج المحلي أو لم يكن Ollama قيد التشغيل أو أعاد LiteLLM استثناء، فلن تُفقد الجلسة بالكامل.
الخطوات الأولى نحو التطبيق
من المهم بشكل خاص التفكير في الخطوات الأولى نحو تطبيق ذكاء اصطناعي "حي". قد تبدو واجهة وحدة التحكم متواضعة، لكنها أسهل طريقة للتحقق من سلوك الروبوت في حوار حقيقي، حيث يصيغ المستخدم الأفكار بشكل غير كامل ويطرح توضيحات ويغير السياق باستمرار. تصبح نقاط الضعف واضحة بسرعة: إشارة نظام عامة جداً وصيغة إخراج غير مريحة وعدم وجود أوامر للخروج أو إعادة التشغيل وأخطاء غير واضحة عند تحميل النموذج.
مثل هذا الإطار سهل التوسيع دون معمارية إضافية. يمكنك إضافة بث الرموز والأوامر المنفصلة مثل /clear لإعادة تعيين السجل وتبديل النماذج وتسجيل الحوارات أو دمج الأدوات. لكن قيمة الخطوة الحالية مختلفة: يوضح المؤلف أن الواجهة المفيدة لا تبدأ بـ GUI ولا بتطبيق ويب بل بحلقة اتصال موثوقة في المحطة الطرفية.
إذا تمت هذه الطبقة بعناية، يصبح من الأسهل النمو أكثر نحو منتج وأيضاً نحو التجارب.
ما يعنيه هذا
بالنسبة لأولئك الذين يبنون أدوات ذكاء اصطناعي محلية على Python، هذه المرحلة إلزامية. تصبح مجموعة Ollama و LiteLLM مثيرة للاهتمام ليس في لحظة الإجابة الناجحة الأولى بل عندما تظهر حلقة اتصال طبيعية حول النموذج. دردشة وحدة التحكم هي الشكل الأدنى لمثل هذه الحلقة: بسيطة بما يكفي للبدء ومفيدة بما يكفي لبناء طبقة الوظائف التالية فوقها.
هل تريد التوقف عن قراءة الذكاء الاصطناعي والبدء باستخدامه؟
AI News هو موجز منسق لأخبار الذكاء الاصطناعي. تعلمك Hamidun Academy استخدام الذكاء الاصطناعي في عملك.