كلاود
ذكاء اصطناعي

منصة Dify على سيرفرك: ابنِ تطبيقات ذكاء اصطناعي بلا كود كثير

كلاود|٢٥ أكتوبر ٢٠٢٦|6 دقائق قراءة|١٠٠ مشاهدة
منصة Dify على سيرفرك: ابنِ تطبيقات ذكاء اصطناعي بلا كود كثير

Dify منصة مفتوحة تجمع بناء المساعدات وقواعد المعرفة والسجلات وواجهات API في لوحة واحدة، وتعمل بـDocker Compose على سيرفر بنواتين و4GB. اربطها بنموذج محلي عبر Ollama أو بنموذج سحابي، وابدأ بمساعد داخلي يجيب من سياسات شركتك.

Dify منصة مفتوحة المصدر لبناء تطبيقات النماذج اللغوية من واجهة رسومية: مساعد محادثة، أو وكيل يستخدم أدوات، أو سير عمل متعدد الخطوات، أو مولّد نصوص بقالب ثابت. الفرق بينها وبين أدوات بناء التدفقات الأخرى أنها لا تقف عند رسم التدفق، بل تعطيك منتجاً تشغيلياً كاملاً: قاعدة معرفة ترفع لها ملفات PDF وWord فتقطّعها وتضمّنها تلقائياً، وسجل لكل محادثة، وأداة لتصحيح الإجابات يدوياً، وواجهة API جاهزة لكل تطبيق بمفتاح خاص، وإدارة أعضاء فريق بأدوار مختلفة. الجواب المختصر لسؤال "هل أشغّلها على سيرفري؟": نعم إن كان عندك وثائق داخلية لا تريد رفعها لخدمة خارجية، فالتشغيل يحتاج أمرين فقط بعد نسخ المستودع، والحد الأدنى الرسمي نواتان و4GB ذاكرة، وتربطها إما بنموذج محلي عبر Ollama فلا تغادر أي كلمة سيرفرك، أو بنموذج سحابي عبر مفتاح API حين تحتاج جودة أعلى. خلال يوم عمل واحد تستطيع إطلاق مساعد داخلي يجيب الموظفين من دليل السياسات والإجراءات، مع ذكر المصدر في كل إجابة، وسجل تراجعه أسبوعياً لتحسين الأداء.

Dify مقابل Langflow وFlowise

الأدوات الثلاث مفتوحة المصدر وتبني تطبيقات ذكاء بالسحب والإفلات، لكن جمهور كل واحدة مختلف. Langflow وFlowise أقرب لمطور يريد رسم سلسلة LangChain بصرياً ثم استدعاءها كـAPI. Dify أقرب لفريق كامل فيه مطور ومسؤول محتوى ومدير يريد أن يرى السجلات، لأنها تبني حول التطبيق كل ما يحتاجه التشغيل اليومي.

المعيارDifyLangflowFlowise
قاعدة معرفة بواجهة رفع ملفاتنعم، مع تقطيع وبحث هجينعبر مكونات تبنيها بنفسكعبر مكونات تبنيها بنفسك
سجلات المحادثات وتصحيح الإجاباتمدمجةمحدودةمحدودة
إدارة أعضاء وأدوارمالك ومدير ومحرر وعضوأساسيةأساسية
واجهة محادثة جاهزة للموظفيننعم، رابط ويب لكل تطبيقواجهة اختبارودجت قابل للتضمين
الحد الأدنى للتشغيل2 vCPU / 4GB1 vCPU / 2GB1 vCPU / 2GB
المرونة البرمجيةمتوسطةعالية (Python)عالية (Node.js)

إن كان هدفك أداة داخلية يستخدمها 50 موظفاً ويديرها شخص غير مبرمج، فـDify أوفر في الوقت. إن كنت تبني منطقاً معقداً سيُدمج داخل منتجك، فـLangflow أو Flowise يعطيانك تحكماً أكبر، وكلاهما متاح كقالب جاهز ضمن استضافة الذكاء الاصطناعي.

تنبيه في الرخصة: Dify تصدر برخصة مبنية على Apache 2.0 مع شرطين إضافيين، أبرزهما منع تشغيلها كخدمة متعددة المستأجرين تبيعها لعملاء آخرين دون ترخيص تجاري. الاستخدام الداخلي في شركتك مسموح بلا قيد.

متطلبات التشغيل بالأرقام

Dify تعمل كعشر حاويات تقريباً: الواجهة الأمامية، وخادم API، وعامل خلفي لمعالجة الملفات، وPostgreSQL، وRedis، وقاعدة متجهات (Weaviate افتراضياً ويمكن استبدالها بـpgvector أو Qdrant)، وصندوق رمل لتنفيذ الأكواد، ووكيل يمنع طلبات SSRF، وخدمة الإضافات، وNginx. استهلاكها الفعلي في الخمول نحو 2.5GB ذاكرة، ويرتفع أثناء فهرسة الملفات الكبيرة.

السيناريوالمواصفاتالباقةالسنوي شامل الضريبة
Dify مع نموذج سحابي، حتى 30 مستخدماً2 vCPU / 4GBنمو6,900 ريال
Dify مع نموذج سحابي وقاعدة معرفة كبيرة4 vCPU / 8GBأعمال11,500 ريال
Dify مع نموذج محلي 8B عبر Ollama8 vCPU / 24GBمؤسسة + 4 إضافات RAM20,400 ريال

حساب الصف الأخير: باقة مؤسسة 18,000 ريال مع 8GB إضافية بأربع إضافات قيمة كل منها 600 ريال، أي 2,400 ريال. نموذج بحجم 8 مليارات معامل مكمّم إلى 4 بت يحتاج نحو 5 إلى 6GB ذاكرة، ويولّد على 8 أنوية CPU تقريباً من 5 إلى 10 توكن في الثانية، وهذا مقبول لمساعد داخلي يجيب في فقرة قصيرة.

التشغيل في عشر دقائق

على خادم سحابي بـUbuntu وDocker مثبت:

git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
# غيّر SECRET_KEY وكلمات مرور قاعدة البيانات وRedis
sed -i "s|^SECRET_KEY=.*|SECRET_KEY=$(openssl rand -base64 42)|" .env
docker compose up -d
docker compose ps

افتح المتصفح على عنوان السيرفر ثم المسار /install لإنشاء حساب المالك. بعدها مباشرة ضع Nginx الخارجي بشهادة SSL أمام المنفذ 80 الداخلي، أو غيّر منفذ الحاوية واربطه على 127.0.0.1، ولا تترك لوحة الإدارة مكشوفة بلا HTTPS لأنها تحمل مفاتيح API لنماذجك.

ربط النموذج: محلي أو سحابي

نموذج محلي عبر Ollama

ثبّت Ollama على نفس السيرفر واسحب نموذجاً يدعم العربية جيداً، مثل Qwen بحجم 7B أو 8B، ثم اجعل Ollama يستمع على عنوان شبكة Docker الداخلية لا على كل الواجهات:

curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen2.5:7b
sudo systemctl edit ollama
# [Service]
# Environment="OLLAMA_HOST=172.17.0.1:11434"
sudo systemctl restart ollama

من إعدادات Dify افتح مزودي النماذج، وأضف Ollama بعنوان http://172.17.0.1:11434 واسم النموذج. أضف أيضاً نموذج تضمين محلياً مثل bge-m3 لتبقى فهرسة الوثائق داخل السيرفر.

نموذج سحابي

إن احتجت جودة أعلى في الصياغة أو التفكير، أضف مزوداً سحابياً بمفتاح API. هنا اعرف ما يخرج من السيرفر: السؤال والمقاطع المسترجعة تُرسل للمزود، أما الوثائق الكاملة وفهرس المتجهات فتبقى عندك. حل وسط عملي: نموذج محلي للأسئلة التي تمس بيانات شخصية أو عقوداً، وسحابي للصياغة العامة.

صلاحيات الفريق

Dify تنظم المستخدمين في مساحة عمل بأدوار: المالك يملك كل شيء بما فيها الفوترة والأعضاء، والمدير يدير الأعضاء والنماذج، والمحرر يبني التطبيقات ويعدّلها، والعضو يستخدم التطبيقات المنشورة فقط. القاعدة: مالك واحد، ومديران على الأكثر، ومحررون بعدد من يبني فعلاً، والبقية أعضاء. مفاتيح النماذج السحابية تُضاف مرة واحدة على مستوى مساحة العمل، فلا يحتاج المحرر رؤيتها أبداً. أما الموظف النهائي فلا يحتاج حساباً في اللوحة أصلاً، بل يفتح رابط تطبيق الويب المنشور، ويمكنك حمايته بتسجيل دخول الشركة أو بحصره على شبكة الشركة عبر Nginx.

مثال: مساعد يجيب من سياسات الشركة

  1. أنشئ قاعدة معرفة باسم "السياسات"، وارفع دليل الموارد البشرية ولائحة المشتريات وسياسة أمن المعلومات. اختر التقطيع التلقائي بطول نحو 500 توكن وتداخل 50، والبحث الهجين (متجهي مع كلمات مفتاحية) لأن أرقام المواد والبنود تحتاج مطابقة حرفية.
  2. أنشئ تطبيق Chatflow، واربط عقدة الاسترجاع بقاعدة "السياسات" مع جلب أعلى 5 مقاطع.
  3. اكتب تعليمة النظام: "أجب بالعربية من المقاطع المرفقة فقط، واذكر اسم الوثيقة ورقم المادة، وإن لم تجد الجواب فقل لا يوجد نص صريح وأحِل السائل لإدارة الموارد البشرية."
  4. فعّل خيار الاستشهاد بالمصادر، وانشر التطبيق كرابط ويب داخلي.
  5. بعد أسبوع افتح السجلات، وصحّح يدوياً الإجابات الخاطئة عبر خاصية التعليقات التوضيحية، فيستخدمها Dify كإجابات مرجعية حين يتكرر السؤال.

في التجربة العملية يغطي مساعد كهذا أغلب أسئلة الإجازات والانتداب وسقوف الصرف، ويخفف عن إدارة الموارد البشرية عشرات الاستفسارات المتكررة كل أسبوع.

واجهة API لكل تطبيق

كل تطبيق تنشره في Dify يحصل تلقائياً على واجهة REST بمفتاح خاص، فتستطيع استدعاء نفس المساعد من نظام الـERP أو من بوت داخلي دون إعادة بنائه. الاستدعاء بسيط:

curl -X POST https://dify.example.sa/v1/chat-messages   -H "Authorization: Bearer app-xxxxxxxx"   -H "Content-Type: application/json"   -d '{"inputs": {}, "query": "كم يوم إجازة اضطرارية يحق لي؟",
       "user": "emp-1042", "response_mode": "blocking"}'

حقل user يربط المحادثة بالموظف في السجلات، فتعرف لاحقاً من سأل وماذا أجيب. اجعل لكل نظام يستدعي الواجهة مفتاحاً مستقلاً، حتى تسحب مفتاحاً واحداً عند الحاجة دون أن تتوقف بقية التكاملات.

التشغيل اليومي: التحديث والنسخ الاحتياطي

فريق Dify يصدر تحديثات كل أسبوعين تقريباً، وبعضها يغيّر بنية قاعدة البيانات. لا تحدّث مباشرة على الإنتاج: خذ نسخة من مجلد volumes كاملاً ومن ملف .env، ثم اسحب الإصدار الجديد بـgit checkout على الوسم المحدد، وشغّل docker compose pull ثم up -d. ثلاثة أشياء يجب أن تدخل في نسختك الاحتياطية اليومية: قاعدة PostgreSQL التي تحمل التطبيقات والمحادثات، ومجلد التخزين الذي يحمل الملفات المرفوعة، وبيانات قاعدة المتجهات. إضافة النسخ الاحتياطي اليومي بـ7 أيام احتفاظ تكلّف 800 ريال سنوياً، وبـ30 يوماً 2,000 ريال، وتغطي السيرفر كاملاً إن فشل تحديث وأردت العودة لحالة الأمس.

القرار

إذا كانت وثائقك حساسة وفريقك يضم غير مبرمجين، شغّل Dify على سيرفر في الرياض بزمن استجابة نحو 8ms من مكاتبك، وابدأ بباقة نمو مع نموذج سحابي لتجربة الفكرة خلال أسبوعين، ثم انتقل لنموذج محلي حين تثبت القيمة. راجع الأسعار والباقات لتحديد الحجم المناسب.

مشاركة