إليك إعادة صياغة للنص بشكل صحيح، مرتب، ومنسق ليسهل قراءته وفهمه، مع تصحيح الأحرف والكلمات المقلوبة:
---
# نظرة عامة على النظام (System Overview)
يتكون النظام من خمس وحدات رئيسية:
1. **TRIGGER:** استقبال الرسائل عبر Webhook من Evolution API.
2. **ROUTER:** التعرف على نوع الرسالة وتوجيهها للمسار الصحيح.
3. **ANALYSIS:** تحليل النص والصوت والصور وتحويلها إلى صيغة نصية موحدة.
4. **RAG AGENT:** وكيل ذكاء اصطناعي يستخدم الذاكرة وبيانات RAG لإنتاج الرد.
5. **RAG PIPELINE:** بناء الذاكرة من الملفات عبر Embeddings وتخزينها في Vector Store.
---
## شرح وحدات النظام بالتفصيل
### أولاً: TRIGGER Block
**الوظيفة:**
استقبال رسائل واتساب المرسلة عبر Evolution API من خلال Webhook.
**العناصر:**
1. **Webhook Node:** يستقبل الطلبات (POST) المرسلة من Evolution API والتي تحتوي على الرسالة القادمة من العميل.
2. **If Node:**
* هذه العقدة ليست للتحقق من صحة البيانات، بل وظيفتها: إذا قام صاحب المشروع بالرد يدوياً على العميل، يتم إيقاف الأتمتة بالكامل في هذا التنفيذ.
* **القاعدة:** أي رد يدوي = منع الـ Workflow من معالجة الرسالة.
* **الهدف:** منع تضارب الردود بين البوت وصاحب المشروع.
**ما يحدث هنا:**
يستقبل النظام الرسالة، ثم يتحقق: هل مالك الحساب رد يدوياً أم لا؟
* إن كان الرد يدوياً $\leftarrow$ يتم تجاهل الأتمتة.
* غير ذلك $\leftarrow$ يتم تمرير الرسالة إلى وحدة Router.
---
### ثانياً: ROUTER Block
**الوظيفة:**
تحديد نوع الرسالة المرسلة وتوجيهها للمسار المناسب داخل وحدة التحليل.
**العنصر الأساسي:**
* **Switch Node (mode: Rules):** يقرأ نوع الرسالة المستلمة من Evolution API ويحدد هل هي:
* Text (نص)
* Audio (صوت)
* Image (صورة)
ثم يوجّه كل نوع إلى المسار التحليلي المناسب داخل وحدة **ANALYSIS**.
---
### ثالثاً: ANALYSIS Block
**الوظيفة:**
تحويل أي محتوى مستلم (نصي – صوتي – صوري) إلى صيغة نصية مفهومة للذكاء الاصطناعي.
يحتوي هذا البلوك على 3 مسارات:
**1. مسار تحليل النص (Text Path):**
* النص ينتقل مباشرة إلى RAG Agent بدون أي معالجة إضافية.
**2. مسار تحليل الصوت (Audio Path):**
* **Get Voice:** تحميل الصوت بصيغة Base64 من Evolution API.
* **Convert to File:** تحويله لملف صوتي صالح.
* **Transcribe a Recording:** استخدام نموذج Whisper لاستخراج النص.
* **Voice (manual):** تجهيز النص المستخرج في قالب واضح.
* *النتيجة:* يتم إرسال النص إلى RAG Agent.
**3. مسار تحليل الصور (Image Path):**
* **Get Image:** تحميل الصورة بصيغة Base64.
* **Convert to File:** تحويلها لملف.
* **Analyze Image:** استخدام نموذج Vision لتحليل الصورة.
* **Image + Text (manual):** تحويل نتيجة التحليل إلى وصف نصي مرتب.
* *النتيجة:* ينتقل الوصف النصي إلى وكيل الذكاء الاصطناعي.
---
### رابعاً: RAG AGENT Block
**الوظيفة:**
توليد رد ذكي بناءً على:
* النص الناتج من وحدة التحليل.
* بيانات الذاكرة المتجهية (RAG).
* ذاكرة السياق (Simple Memory).
* نموذج الذكاء الاصطناعي.
**العناصر:**
1. **AI Agent Node:** هي المسؤولة عن:
* تحليل محتوى رسالة المستخدم.
* البحث في **Supabase Vector Store** عن المعلومات المناسبة.
* استخدام **Simple Memory** لتذكر سياق المحادثة.
* صياغة الرد النهائي بطريقة مهنية.
2. **Supabase – Vector Store:** قاعدة المتجهات التي تخزن ملفات البيانات المضافة للنظام.
3. **Send Text:** إرسال الرد النهائي للعميل عبر Evolution API WhatsApp endpoint.
---
### خامساً: RAG PIPELINE
**الوظيفة:**
تحويل الملفات (PDF – DOCX – نصوص) إلى Embeddings وتخزينها في Vector Store ليستخدمها الـ AI Agent.
**المكونات:**
* **Download File:** تحميل الملفات.
* **Embeddings OpenAI:** تحويل المحتوى إلى Embeddings.
* **Supabase Vector Store:** تخزين الـ Embeddings.
* **Default Data Loader:** تجهيز البيانات قبل التخزين.
*(ملاحظة: هذه الوحدة تعمل فقط عند إضافة أو تحديث مصادر المعرفة).*
---
### ملخص تدفق البيانات (Flow Summary)
1. العميل يرسل رسالة (Text / Audio / Image).
2. Evolution API يرسل الرسالة إلى Webhook.
3. النظام يتحقق: إن لم يكن هناك رد يدوي $\leftarrow$ يستمر.
4. Router يحدد نوع الرسالة.
5. Analysis يحول المحتوى إلى نص.
6. النص يتم تحليله داخل RAG Agent.
7. الذكاء الاصطناعي يستدعي ذاكرة RAG إذا احتاج.
8. النظام ينتج رداً مناسباً.
9. Evolution API يرسل الرد للعميل.
---
### مميزات التصميم
* يدعم جميع أنواع المحتوى.
* ربط كامل مع Evolution API.
* نظام RAG متكامل لزيادة دقة الردود.
* قابل للتوسع وربطه بـ CRM.
* منظم وسهل الصيانة.
* يدعم الإضافة المستمرة للمصادر المعرفية.