المخطط الأساسي - CllamaServer (خادم llama.cpp)
ملخص
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
إنشاء خادم باستخدام البلوبرينت
انقر بزر الماوس الأيمن في المخطط لإنشاء عقدة إنشاء خادم كلاما في العالم
تهيئة معلمات الخادم
قم بإنشاء عقدة Cllama Server Param وقم بتكوين المعلمات الرئيسية:
- النموذج: مسار ملف النموذج (مطلوب)
- المنفذ: منفذ الخادم (0 يشير إلى التخصيص التلقائي)
- المضيف: عنوان الاستماع، افتراضيًا
127.0.0.1 - NGpuLayers: عدد طبقات وحدة معالجة الرسومات (1- تعني استخدام وحدة معالجة الرسومات بالكامل)
ربط أحداث رد الاتصال
ربط حدث رد الخادم Server:
- عند البدء: يتم التشغيل عند بدء تشغيل الخادم بنجاح
- عند التوقف: يتم تشغيله عندما يتوقف الخادم
- عند الفشل: يتم تشغيله عند فشل بدء تشغيل الخادم
المخطط الكامل للإنشاء
الخطة الكاملة لإنشاء الخادم (Server) هي كما يلي:
بعد تشغيل المخطط الزمني، سيؤدي بدء تشغيل الخادم بنجاح إلى تشغيل حدث 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 لإرسال طلب الدردشة.
تهيئة خيارات الدردشة
إنشاء عقدة CllamaServer Chat Request Options، وتعيين عنوان BaseUrl ليصبح عنوان الخادم.
يمكن الحصول على معلومات الخادم من خلال العُقدة Get Server Info By ID.
إنشاء رسائل
إنشاء مصفوفة الرسائل، وإضافة رسالة النظام ورسالة المستخدم.
ربط ردود الافعال لمعالجة الاستجابة
اربط حدث On Message أو On Message Finished لاستقبال استجابة النموذج.
الخطة الكاملة للمحادثة
المخطط الكامل للمحادثة هو كما يلي:
نتيجة التشغيل
تشغيل المخطط، ستظهر الرسالة التي يعيدها النموذج على الشاشة.
إدارة الخادم
احصل على معلومات الخادم
استخدم عقدة Get Server Info للحصول على تفاصيل الخادم.
معلومات الخادم تتضمن المعلومات التالية: * ServerID: معرف الخادم الفريد * المضيف: عنوان الاستماع * المنفذ (Port): منفذ الاستماع * العنوان: العنوان الكامل (host:port) * HttpAddress: عنوان HTTP (http://host:port) * bIsRunning: هل يعمل حاليًا * بارام: معلمات الخادم
إيقاف الخادم
استخدم العقدة Stop Server By ID لإيقاف الخادم الحالي.
الدوال الإدارية الثابتة
يوفر AIChatPlus مجموعة من الوظائف الثابتة لإدارة جميع الخوادم Server:
| الوظيفة | الشرح |
|---|---|
هل الخادم صالح (ثابت) |
التحقق من صلاحية الخادم |
| هل يعمل السيرفر (ثابت) | التحقق مما إذا كان السيرفر يعمل |
| إيقاف الخادم بواسطة المعرف | |
إيقاف جميع الخوادم |
توقيف جميع السيرفرات |
الحصول على معلومات الخادم بواسطة المعرف |
الحصول على معلومات الخادم من خلال المعرف |
الحصول على كافة معرفات الخادم |
جلب جميع معرفات الخادم |
Get Server By ID |
الحصول على مثيل الخادم عبر المعرف |
دعم متعدد الوسائط
يدعم CllamaServer نماذج متعددة الوسائط مثل Moondream وQwen2-VL وغيرها.
ضبط المعلمات متعددة الوسائط
في معلمة Server، قم بتعيين MMProj (مسار ملف الإسقاط متعدد الوسائط):
إرسال رسالة صورة
إضافة صورة في الرسائل:
Tool Calling
يدعم CllamaServer خاصية Tool Calling (استدعاء الدوال)، حيث يكون استخدامها مشابهًا لـ OpenAI.
للحصول على تفاصيل الاستخدام، يرجى الرجوع إلى Tool Callمستند.
عند استخدام CllamaServer لإجراء مكالمة الأداة (Tool Call)، تحتاج إلى:
1. ضع bUseJinja = true في معاملات الـ Server
2. تعريف الأدوات في حقل Tools ضمن خيارات الدردشة (Chat Options)
محرر إدارة الخادم
يوفر AIChatPlus في أدوات المحرر واجهة رسومية لإدارة CllamaServer، مما يسهل إنشاء ومراقبة وإدارة عدة خواديم (Servers) بشكل ملائم.
افتح أداة المحرر: Tools -> AIChatPlus -> AIChat، ثم افتح علامة تبويب مدير خادم Cllama.
في المحرّر يمكنك: * إنشاء خادم جديد * عرض حالة الخادم قيد التشغيل * إيقاف الخادم المحدد * تكوين معلمات الخادم * سيتم حفظ تكوين السيرفر تلقائيًا
العلاقة مع واجهات برمجة التطبيقات الأخرى
نظرًا لأن 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.
Visitors. Total Visits. Page Visits.
هذه المشاركة مترجمة باستخدام ChatGPT، يُرجى تقديم ملاحظاتأشر إلى أي نقص ملحوظ.

















