إذا كنت تريد بناء تطبيق LLM أو وكيل ذكاء اصطناعي دون ربط كل مكون يدويًا في Python، فـ Flowise يعطيك لوحة مرئية منخفضة التعليمات البرمجية: تسحب العقد، تصلها ببعضها، ثم تحصل في النهاية على سير عمل AI قابل للاستدعاء عبر REST API. في هذا الدليل ستتعرف عمليًا على Flowise، الفرق بين Chatflows و Agentflows و Assistants، طريقة تشغيله، وكيف تختبر نقطة نهاية التنبؤ والـ APIs التي يعتمد عليها التدفق. إذا كنت قرأت شرحنا عن LangGraph، فـ Flowise يقع في الجهة المقابلة: مرئي أولًا بدلًا من الكود أولًا. يمكنك أيضًا الرجوع إلى README للمشروع على GitHub للمصدر.
ما هو Flowise
Flowise منصة مفتوحة المصدر لبناء وكلاء الذكاء الاصطناعي وسير عمل نماذج اللغة الكبيرة LLM. تم إصدارها بترخيص Apache 2.0، لذلك يمكنك تشغيلها محليًا، استضافتها ذاتيًا، أو عمل fork لها.
الفكرة الأساسية بسيطة: كل شيء يتم على لوحة عقد. كل عقدة تمثل مكونًا مثل:
- نموذج دردشة
- مخزن متجهات
- محمل مستندات
- ذاكرة محادثة
- مسترجع
- أداة خارجية
- كود مخصص
تقوم بسحب العقد إلى اللوحة، توصيل المخرجات بالمدخلات، ثم يحول Flowise التدفق إلى REST API يمكنك استدعاؤها من أي تطبيق.
تحت الغطاء، يربط Flowise مكونات من أطر مثل LangChain و LlamaIndex. لذلك ستجد مفاهيم مألوفة مثل السلاسل، الوكلاء، مخازن المتجهات، ومحركات الاستعلام. الفرق أنك تجمعها بصريًا بدلًا من كتابة كل عمليات الربط يدويًا.
اختر نوع البناء الصحيح: Assistant أو Chatflow أو Agentflow
يوفر Flowise ثلاثة أنواع رئيسية من البناة. اختيار النوع المناسب من البداية يجعل التصميم أبسط وأسهل في الاختبار.
| نوع البناء | الأفضل لـ | النطاق |
|---|---|---|
| Assistant | مساعد دردشة سريع يتبع التعليمات، يستخدم أدوات، وينفذ RAG على ملفات مرفوعة | الأضيق والأكثر توجيهًا |
| Chatflow | روبوتات دردشة، RAG، تدفقات LLM بسيطة، أنظمة وكيل واحد | وكيل واحد |
| Agentflow | أنظمة متعددة الوكلاء، تفريع، تكرار، توجيه، وتنسيق معقد | الأوسع |
متى تستخدم Assistant؟
استخدم Assistant عندما تريد أسرع طريق إلى مساعد عملي. تعطيه التعليمات، تضيف أدوات أو ملفات، ثم تختبره مباشرة. هذا مناسب للنماذج الأولية السريعة أو مساعد داخلي بسيط.
متى تستخدم Chatflow؟
استخدم Chatflow عندما يكون لديك مسار منطقي واحد، مثل:
- استقبال سؤال المستخدم.
- استرداد سياق من قاعدة معرفة.
- تمرير السياق إلى نموذج LLM.
- إرجاع إجابة.
هذا النوع مناسب لمعظم روبوتات الدردشة ذات الوكيل الواحد وتطبيقات RAG.
متى تستخدم Agentflow؟
استخدم Agentflow عندما يصبح التدفق أكثر من مجرد سؤال وجواب. مثلًا:
- وكيل يبحث في المستندات
- وكيل آخر يلخص النتائج
- وكيل ثالث يقرر هل يحتاج إلى استدعاء أداة خارجية
- تفريع حسب نوع الطلب
- تكرار حتى تكتمل المهمة
إذا كان لديك عدة وكلاء ينسقون العمل بينهم، فابدأ بـ Agentflow.
بناء تدفق عملي على لوحة Flowise
سير العمل المعتاد في Flowise يكون كالتالي:
- أنشئ Chatflow جديدًا.
- أضف عقدة نموذج دردشة واختر المزود، مثل OpenAI أو Anthropic أو نموذج محلي.
- أضف Document Loader إذا كنت تحتاج تحميل مستندات.
- أضف Vector Store لتخزين embeddings والاسترجاع.
- أضف Memory إذا كنت تريد أن يتذكر التدفق سياق المحادثة.
- صِل المخرجات بالمدخلات حسب اتجاه البيانات.
- احفظ التدفق.
- افتح نافذة الدردشة لاختباره يدويًا.
مثال لتصميم RAG بسيط:
User Question
↓
Retriever
↓
Prompt Template
↓
Chat Model
↓
Answer
إذا احتجت منطقًا خاصًا، يمكنك استخدام عقدة كود مخصصة بدلًا من إخراج التدفق بالكامل إلى كود. بهذه الطريقة يبقى الجزء الأكبر من التصميم مرئيًا، مع إضافة منطق مخصص فقط عند الحاجة.
تشغيل Flowise محليًا
يعمل Flowise كتطبيق Node.js على المنفذ 3000 افتراضيًا.
أسرع طريقة للتجربة:
npm install -g flowise
npx flowise start
# افتح:
# http://localhost:3000
للتشغيل عبر Docker:
docker run -d --name flowise -p 3000:3000 flowiseai/flowise
بعد التشغيل، افتح المتصفح على:
http://localhost:3000
ثم أنشئ التدفق من الواجهة.
يدعم Flowise أيضًا الاستضافة الذاتية والبيئات المعزولة عن الشبكة، وهو خيار مهم إذا كانت بياناتك لا يجب أن تغادر الشبكة الداخلية.
استدعاء نقطة نهاية التنبؤ REST
بعد حفظ التدفق، ينشئ Flowise نقطة نهاية REST خاصة به. يمكنك الرجوع إلى وثائق التنبؤ الرسمية لتفاصيل الحقول المدعومة.
الشكل العام:
POST /api/v1/prediction/{id}
حيث أن {id} هو معرف التدفق.
مثال باستخدام curl:
curl -X POST http://localhost:3000/api/v1/prediction/<flow-id> \
-H "Content-Type: application/json" \
-d '{"question": "What are your store hours?"}'
الحد الأدنى للطلب هو حقل question:
{
"question": "What are your store hours?"
}
يمكنك أيضًا تمرير إعدادات إضافية حسب الحاجة، مثل:
{
"question": "لخص سياسة الإرجاع",
"streaming": true,
"overrideConfig": {
"temperature": 0.2
},
"history": [
{
"role": "user",
"content": "أريد معرفة سياسة المتجر"
},
{
"role": "assistant",
"content": "أي جزء من السياسة تريد مراجعته؟"
}
]
}
عند تفعيل streaming، يمكن أن يصدر Flowise أحداثًا مثل:
starttokenmetadataend
هذه النقطة هي العقد الأساسي بين Flowise وباقي تطبيقك. الواجهة الأمامية، الخلفية، والخدمات الأخرى ستتعامل معها كأي REST API، لذلك يجب اختبارها جيدًا قبل الإنتاج.
متى يكون Flowise مناسبًا ومتى تختار الكود أولًا؟
Flowise مناسب عندما تحتاج إلى:
- بناء نموذج أولي بسرعة.
- شرح منطق الوكيل للفريق بصريًا.
- إنشاء مساعد RAG فوق مجموعة مستندات.
- تجربة عدة مزودين أو أدوات دون إعادة كتابة الكود.
- تسليم تدفق قابل للاختبار عبر REST API.
لكن أطر الكود أولًا تكون أفضل عندما تحتاج إلى:
- تحكم دقيق في كل خطوة.
- اختبارات وحدة مفصلة حول منطق الوكيل.
- تتبع كامل للتغييرات في Git.
- آلات حالة معقدة.
- استدعاءات أدوات مخصصة جدًا.
في هذه الحالات، قد تكون مكتبات مثل LangGraph أو Google Agent Development Kit أو OpenAI Agents SDK أكثر مرونة.
النهج العملي لكثير من الفرق هو:
- ابنِ النموذج الأولي في Flowise.
- اختبر الفكرة والـ API.
- إذا استقر التصميم واحتجت تحكمًا أعمق، انقل المنطق إلى كود.
اختبار نقطة نهاية Flowise باستخدام Apidog
التدفق المبني في Flowise يعتمد غالبًا على أكثر من API:
- نقطة نهاية التنبؤ الخاصة بـ Flowise.
- مزود LLM.
- أدوات خارجية.
- REST APIs داخلية.
- خدمات بحث أو قواعد معرفة.
أي فشل في هذه الطبقات سيظهر للمستخدم كفشل في الوكيل. لذلك يجب اختبارها كعقد API واضح.
ابدأ بنقطة Flowise نفسها:
POST /api/v1/prediction/{id}
في Apidog، يمكنك:
- إنشاء طلب جديد.
- وضع رابط نقطة التنبؤ.
- ضبط
Content-Type: application/json. - إرسال جسم يحتوي على
question. - إضافة تأكيدات API للتحقق من شكل الاستجابة.
مثال جسم طلب:
{
"question": "ما هي ساعات عمل المتجر؟"
}
أمثلة على ما يمكن التحقق منه:
- هل الاستجابة HTTP 200؟
- هل تحتوي على حقل الإجابة؟
- هل الإجابة ليست فارغة؟
- هل زمن الاستجابة ضمن حد مقبول؟
- هل صيغة JSON مستقرة؟
محاكاة LLM أو أدوات خارجية أثناء التطوير
أثناء التطوير، قد لا تريد استهلاك رموز LLM أو الاعتماد على خدمة خارجية غير مستقرة. هنا يمكنك استخدام واجهة برمجة تطبيقات وهمية.
الفكرة:
- أنشئ Mock API يعيد استجابة ثابتة وواقعية.
- وجّه Flowise إليها بدلًا من الخدمة الحقيقية أثناء التطوير.
- اختبر أن التدفق يتعامل مع الشكل الصحيح للبيانات.
- شغّل الاختبارات بشكل حتمي دون تغيّر مفاجئ من مزود خارجي.
مثال استجابة وهمية لأداة بحث:
{
"results": [
{
"title": "سياسة الإرجاع",
"snippet": "يمكن إرجاع المنتجات خلال 14 يومًا من تاريخ الشراء."
}
]
}
بهذه الطريقة تختبر منطق الوكيل دون الاعتماد على الشبكة أو تكلفة LLM في كل تشغيل. يوجد شرح أوسع في دليل تسخير اختبار وكيل الذكاء الاصطناعي.
يمكنك أيضًا تخزين مفاتيح المزود حسب البيئة، بحيث يستخدم التطوير مفتاح اختبار ويستخدم الإنتاج المفتاح الحقيقي دون تغيير الكود. إذا لم تكن تستخدمه بعد، يمكنك تنزيل Apidog وإعداد الطلبات والبيئات خلال دقائق.
الأسئلة الشائعة
هل Flowise مجاني ومفتوح المصدر؟
نعم. Flowise مفتوح المصدر بترخيص Apache 2.0. يمكنك تشغيله مجانًا محليًا أو عبر Docker أو استضافته ذاتيًا. يوجد أيضًا خيار سحابي مستضاف إذا كنت لا تريد إدارة البنية التحتية بنفسك.
هل يستخدم Flowise LangChain؟
نعم، يربط Flowise مكونات من LangChain و LlamaIndex. العقد الموجودة على اللوحة تمثل مفاهيم مثل السلاسل، الوكلاء، مخازن المتجهات، المسترجعات، ومحركات الاستعلام.
ما الفرق بين Chatflow و Agentflow؟
Chatflow مناسب لوكيل واحد أو روبوت دردشة أو RAG بسيط. Agentflow مناسب لأنظمة متعددة الوكلاء، مع تفريع وتكرار وتوجيه وتنسيق أعقد.
ابدأ بـ Chatflow إذا كان التدفق مباشرًا. انتقل إلى Agentflow عندما تحتاج إلى عدة وكلاء أو منطق تنسيق واضح.
كيف أختبر API الخاص بتدفق Flowise؟
استدعِ:
POST /api/v1/prediction/{id}
مع جسم JSON يحتوي على question. يمكنك استخدام curl، حزم SDK الرسمية، أو أداة API مثل Apidog. في Apidog، أرسل الطلب، أضف assertions، حاكي LLM أو الأدوات الخارجية، ثم شغّل الاختبارات في CI. لتفاصيل أكثر حول اختبار نقاط نهاية LLM، راجع دليل اختبار واجهة برمجة تطبيقات ChatGPT باستخدام Apidog.
الخلاصة
Flowise يوفر طريقة منخفضة التعليمات البرمجية لبناء تطبيقات LLM ووكلاء الذكاء الاصطناعي عبر لوحة عقد مرئية. يمكنك الاختيار بين Assistant و Chatflow و Agentflow حسب مستوى التعقيد، ثم نشر التدفق كنقطة REST API قابلة للاستدعاء من تطبيقك.
استخدم Flowise عندما تحتاج إلى سرعة ونموذج مرئي قابل للفهم من الفريق. واستخدم أطر الكود أولًا عندما تحتاج إلى تحكم دقيق واختبارات عميقة ومنطق معقد. في كلتا الحالتين، لا تعامل الوكيل كصندوق أسود: اختبر نقطة التنبؤ، وحاكي واجهات LLM والأدوات، وثبّت عقد الـ API قبل الإنتاج.

Top comments (0)