انتقل إلى المحتوى

المخطط الأساسي - CllamaServer (خادم llama.cpp)

blueprint

ملخص

CllamaServer تم تطويره بناءً على وضع Server الخاص بـ llama.cpp، حيث يمكنه تشغيل خادم متوافق مع واجهة برمجة تطبيقات OpenAI محليًا، وهو يدعم مجموعة متنوعة من الميزات:

  • خدمة الاستدلال المحلية: تشغيل خادم استدلال الذكاء الاصطناعي محلياً دون الحاجة إلى واجهات برمجة التطبيقات الخارجية
  • متوافق مع واجهة برمجة تطبيقات OpenAI: استخدام تنسيق واجهة برمجة تطبيقات متوافق مع OpenAI لتسهيل الهجرة والتكامل
  • دعم متعدد للجلسات: يدعم العديد من الطلبات المتزامنة
  • استدعاء الأدوات: يدعم وظيفة استدعاء الوظائف
  • تحويل الصوت إلى نص: يدعم ميزة الصوت إلى نص (Speech-to-Text)
  • الإدارة المرئية: تتضمن الواجهة المدمجة في المحرر إدارة الخادم

الفرق بينه وبين Cllama: * Cllama: تحميل النموذج مباشرة داخل العملية للاستدلال، يمكن معالجة طلب واحد فقط في المرة الواحدة * CllamaServer: بدء تشغيل خادم HTTP مستقل قادر على معالجة طلبات متعددة متزامنة، مع توافق واجهة برمجة التطبيقات (API) مع تنسيق OpenAI

الاستعدادات

نظرًا لتشغيله محليًا، يجب عليك أولاً إعداد ملف النموذج دون اتصال، مثل تحميله من HuggingFace: Qwen1.5-1.8B-Chat-Q8_0.gguf

ضع النموذج في مجلد معين على سبيل المثال في دليل مشروع اللعبة Content/LLAMA.

إنشاء CllamaServer

إنشاء خادم باستخدام البلوبرينت

انقر بزر الماوس الأيمن في المخطط لإنشاء عقدة إنشاء خادم كلاما في العالم

guide bludprint

تهيئة معلمات الخادم

قم بإنشاء عقدة Cllama Server Param وقم بتكوين المعلمات الرئيسية:

  • النموذج: مسار ملف النموذج (مطلوب)
  • المنفذ: منفذ الخادم (0 يشير إلى التخصيص التلقائي)
  • المضيف: عنوان الاستماع، افتراضيًا 127.0.0.1
  • NGpuLayers: عدد طبقات وحدة معالجة الرسومات (1- تعني استخدام وحدة معالجة الرسومات بالكامل)

guide bludprint

ربط أحداث رد الاتصال

ربط حدث رد الخادم Server:

  • عند البدء: يتم التشغيل عند بدء تشغيل الخادم بنجاح
  • عند التوقف: يتم تشغيله عندما يتوقف الخادم
  • عند الفشل: يتم تشغيله عند فشل بدء تشغيل الخادم

guide bludprint

المخطط الكامل للإنشاء

الخطة الكاملة لإنشاء الخادم (Server) هي كما يلي:

guide bludprint

بعد تشغيل المخطط الزمني، سيؤدي بدء تشغيل الخادم بنجاح إلى تشغيل حدث On Started.

تفصيل معايير الخادم

تحتوي بنية FAIChatPlus_CllamaServerParam على المعايير التالية:

المعلمات الشائعة

البارامتر النوع القيمة الافتراضية الشرح
النموذج FString - مسار ملف النموذج (إلزامي)
المنفذ int32 0 منفذ الاستماع، 0 يعني التخصيص التلقائي
المضيف سلسلة المحارف 127.0.0.1 عنوان الاستماع
NGpuLayers int32 -1 عدد طبقات وحدة المعالجة الرسومية، -1 تعني الكل
bUseJinja قيمة منطقية خطأ استخدام قالب Jinja
MMProj FString - مسار ملف الإسقاط متعدد الوسائط
درجة الحرارة float 0.8 درجة حرارة العينة

حجج الاستدلال

المعلمة النوع القيمة الافتراضية الشرح
حجم النص السياقي عدد صحيح 32 بت 4096 حجم السياق
NPredict int32 -1 عدد التوكنات المتوقعة، -1 يعني بلا حدود
سلاسل المعالجة int32 -1 عدد سلاسل المعالجة لوحدة المعالجة المركزية، -1 تعني تلقائي
BatchSize int32 2048 حجم الدُفعة

معايير أخذ العينات

المعلمة النوع القيمة الافتراضية الشرح
نص الترجمة باللغة العربية:

| أعلى_ك | عدد_صحيح_٣٢ | ٤٠ | أخذ_العينات_أعلى_ك | TopP | عدد عائم | 0.9 | أخذ عينات Top-P | | MinP | عائم | 0.1 | أخذ عينات Min-P | | RepeatPenalty | عشري | 1.0 | عقوبة التكرار |

معلمات الخادوم

المعلمة النوع القيمة الافتراضية الشرح
ApiKey FString - مفتاح API (اختياري)
مهلة int32 600 وقت المهلة (بالثواني)
Parallel int32 1 عدد التسلسلات المتوازية
bNoWebUI منطقي خطأ تعطيل واجهة المستخدم على الويب
bVerbose منطقي خطأ سجل مفصّل

الدردشة باستخدام CllamaServer

إنشاء طلب محادثة

بعد نجاح تشغيل السيرفر، يمكنك استخدام العقدة Send CllamaServer Chat Request لإرسال طلب الدردشة.

guide bludprint

تهيئة خيارات الدردشة

إنشاء عقدة CllamaServer Chat Request Options، وتعيين عنوان BaseUrl ليصبح عنوان الخادم.

يمكن الحصول على معلومات الخادم من خلال العُقدة Get Server Info By ID.

guide bludprint

إنشاء رسائل

إنشاء مصفوفة الرسائل، وإضافة رسالة النظام ورسالة المستخدم.

guide bludprint

ربط ردود الافعال لمعالجة الاستجابة

اربط حدث On Message أو On Message Finished لاستقبال استجابة النموذج.

guide bludprint

الخطة الكاملة للمحادثة

المخطط الكامل للمحادثة هو كما يلي:

guide bludprint

نتيجة التشغيل

تشغيل المخطط، ستظهر الرسالة التي يعيدها النموذج على الشاشة.

إدارة الخادم

احصل على معلومات الخادم

استخدم عقدة Get Server Info للحصول على تفاصيل الخادم.

guide bludprint

معلومات الخادم تتضمن المعلومات التالية: * ServerID: معرف الخادم الفريد * المضيف: عنوان الاستماع * المنفذ (Port): منفذ الاستماع * العنوان: العنوان الكامل (host:port) * HttpAddress: عنوان HTTP (http://host:port) * bIsRunning: هل يعمل حاليًا * بارام: معلمات الخادم

إيقاف الخادم

استخدم العقدة Stop Server By ID لإيقاف الخادم الحالي.

guide bludprint

الدوال الإدارية الثابتة

يوفر AIChatPlus مجموعة من الوظائف الثابتة لإدارة جميع الخوادم Server:

الوظيفة الشرح
هل الخادم صالح (ثابت) التحقق من صلاحية الخادم
هل يعمل السيرفر (ثابت) التحقق مما إذا كان السيرفر يعمل
إيقاف الخادم بواسطة المعرف
إيقاف جميع الخوادم توقيف جميع السيرفرات
الحصول على معلومات الخادم بواسطة المعرف الحصول على معلومات الخادم من خلال المعرف
الحصول على كافة معرفات الخادم جلب جميع معرفات الخادم
Get Server By ID الحصول على مثيل الخادم عبر المعرف

guide bludprint

دعم متعدد الوسائط

يدعم CllamaServer نماذج متعددة الوسائط مثل Moondream وQwen2-VL وغيرها.

ضبط المعلمات متعددة الوسائط

في معلمة Server، قم بتعيين MMProj (مسار ملف الإسقاط متعدد الوسائط):

guide bludprint

إرسال رسالة صورة

إضافة صورة في الرسائل:

guide bludprint

Tool Calling

يدعم CllamaServer خاصية Tool Calling (استدعاء الدوال)، حيث يكون استخدامها مشابهًا لـ OpenAI.

للحصول على تفاصيل الاستخدام، يرجى الرجوع إلى Tool Callمستند.

عند استخدام CllamaServer لإجراء مكالمة الأداة (Tool Call)، تحتاج إلى: 1. ضع bUseJinja = true في معاملات الـ Server 2. تعريف الأدوات في حقل Tools ضمن خيارات الدردشة (Chat Options)

guide bludprint

محرر إدارة الخادم

يوفر AIChatPlus في أدوات المحرر واجهة رسومية لإدارة CllamaServer، مما يسهل إنشاء ومراقبة وإدارة عدة خواديم (Servers) بشكل ملائم.

افتح أداة المحرر: Tools -> AIChatPlus -> AIChat، ثم افتح علامة تبويب مدير خادم Cllama.

guide bludprint

في المحرّر يمكنك: * إنشاء خادم جديد * عرض حالة الخادم قيد التشغيل * إيقاف الخادم المحدد * تكوين معلمات الخادم * سيتم حفظ تكوين السيرفر تلقائيًا

guide bludprint

العلاقة مع واجهات برمجة التطبيقات الأخرى

نظرًا لأن CllamaServer متوافق مع صيغة واجهة برمجة التطبيقات (API) الخاصة بـ OpenAI، يمكنك أيضًا استخدام عقدة Chat Request من OpenAI للتواصل مع CllamaServer، فقط قم بتعيين BaseUrl إلى عنوان CllamaServer.

Original: https://wiki.disenone.site/ar

This post is protected by CC BY-NC-SA 4.0 agreement, should be reproduced with attribution.

هذه المشاركة مترجمة باستخدام ChatGPT، يُرجى تقديم ملاحظاتأشر إلى أي نقص ملحوظ.