الدليل التشغيلي (SRE Playbook) لمنصة لبيب¶
غرفة التحكم
هذا الدليل هو مصدر الحقيقة الوحيد لتشغيل منصة لبيب. يوفر إرشادات قابلة للتنفيذ للنشر والمراقبة واستكشاف الأخطاء لضمان تشغيل النظام بموثوقية وعلى نطاق واسع. كل المحتوى مكتوب من منظور هندسة موثوقية الموقع (SRE).
منصة لبيب هي نظام معياري لتحليل الأخبار مدعوم بالذكاء الاصطناعي. تقوم بأتمتة دورة حياة تحليل المحتوى بالكامل، من الجلب والإثراء إلى تقديم رؤى مدعومة بالأدلة عبر واجهة GraphQL API. مبدأ التصميم الأساسي لدينا هو التميز التشغيلي.
مقدمة: ما هو هدف منصة لبيب؟¶
في عالم يفيض بالمعلومات، أصبح العثور على أخبار موثوقة ومُتحقق منها تحديًا كبيرًا. تم إنشاء منصة "لبيب" لمواجهة هذه المشكلة. هي منصة ذكية تقوم تلقائيًا بجمع الأخبار من مصادر متعددة، وتحليلها باستخدام الذكاء الاصطناعي للتحقق من الحقائق واستخلاص المعلومات الأساسية، ثم تقديم هذه النتائج بطريقة واضحة ومدعومة بالأدلة. الهدف النهائي هو تمكين المستخدمين (مثل الصحفيين والباحثين والجمهور) من فهم المواضيع المعقدة بسرعة ومكافحة المعلومات المضللة.
نظرة عامة على المنصة¶
ما يمكنك القيام به من هنا
هذه النظرة العامة على المنصة تقع في قمة شجرة المستندات. ترتبط مباشرة بالإجراءات اللازمة للمهندس المناوب وعقود البيانات التي ستحتاجها أثناء الحوادث.
sequenceDiagram
autonumber
participant SCR as خدمة الجلب (Scraper)
participant API as واجهة API
participant OS as محرك البحث (OpenSearch)
participant AI as خدمة الذكاء (AI-Box)
SCR->>API: POST /ingest (دفعة بيانات)
API->>OS: فهرسة
API->>AI: إعادة ترتيب/إثراء (غير متزامن)
API-->>Client: نتائج البحث
المسار الاحتياطي
إذا كانت خدمة AI-Box بطيئة، قم بتقديم النتائج الأساسية فوراً وتحوط لعملية إعادة الترتيب: انظر API ▸ دفتر التشغيل.
مبادئ SRE الأساسية¶
تسترشد فلسفتنا التشغيلية بهذه المبادئ الأساسية:
- الأتمتة أولاً: يجب أتمتة جميع المهام التشغيلية الروتينية — النشر، الاختبار، والتعافي. يجب أن يقتصر التدخل البشري على المشاكل الجديدة.
- مراقبة كل شيء: كل خدمة مزودة بمقاييس مفصلة، تسجيلات، وتتبع لتوفير رؤية عميقة لصحة النظام وأدائه.
- توقع الفشل: تم تصميم النظام مع توقع فشل المكونات. نحن نبني من أجل المرونة، مع فحوصات صحة، إعادة تشغيل آلية، وتدهور تدريجي للخدمة.
- تنبيهات قابلة للتنفيذ: يجب أن تكون التنبيهات عاجلة، مهمة، وتوفر مسارًا واضحًا للحل. كل تنبيه يرتبط مباشرة بدفتر تشغيل لذلك السيناريو.
الخدمات الأساسية¶
تتكون المنصة من أربع خدمات مصغرة أساسية، لكل منها مسؤولية تشغيلية مميزة.
-
خدمة API
الجهاز العصبي المركزي. تطبيق Laravel يتولى جميع عمليات استمرارية البيانات، تنسيق مهام الذكاء الاصطناعي، وطلبات API المواجهة للعميل.
-
خدمة جلب البيانات (Scraper)
محرك جلب البيانات. خدمة FastAPI تعتمد على ملفات تعريف لجلب وتسوية المقالات من مجموعة واسعة من المصادر.
-
خدمة الذكاء (AI-Box)
النواة الذكية. خدمة FastAPI تستضيف نماذج الذكاء الاصطناعي للتحقق من الجدارة الإخبارية، التعرف على الكيانات المسماة (NER)، واسترجاع البحث الدلالي.
-
خدمة البحث
العمود الفقري للاسترجاع. عنقود OpenSearch يوفر قدرات بحث نصي ومتجهي سريعة وقابلة للتوسع.
المصطلحات: شرح مبسط للخدمات¶
لفهم كيفية عمل المنصة، إليك شرح مبسط للمكونات الأساسية بلغة غير تقنية:
| المصطلح (الخدمة) | المعنى بالعربية (ببساطة) | دوره في المنصة |
|---|---|---|
| AI-Box | "العقل المفكر" | هو الجزء الذكي من النظام. يقوم بتحليل المقالات، التحقق من صحتها، واستخلاص المعلومات الهامة مثل الشخصيات والأماكن. |
| API Service | "المنسق العام" | هو مركز التحكم الذي يدير جميع العمليات. يستقبل البيانات من خدمة الجلب، يرسلها للتحليل في "العقل المفكر"، ويخزنها بشكل منظم. |
| Scraper Service | "جامع البيانات" | مهمته هي تصفح الإنترنت ومصادر الأخبار المختلفة لجمع المقالات والمحتوى الخام وإرساله إلى المنصة للمعالجة. |
| Search Service | "أمين المكتبة" | هو المسؤول عن تنظيم كل المعلومات التي تم جمعها وتحليلها، مما يتيح البحث عنها والعثور عليها بسرعة فائقة. |
نظرة سريعة على بنية النظام¶
تتدفق البيانات عبر النظام في مسار محدد جيدًا وقابل للمراقبة. تقوم خدمة Scraper بجلب المحتوى الخام، وتقوم API بتنسيق معالجته وتخزينه، وتقوم AI-Box بإثرائه بالرؤى، ويجعله OpenSearch قابلاً للبحث الفوري.
flowchart LR
classDef ext fill:#e0f2fe,stroke:#0ea5e9,stroke-width:1px;
classDef svc fill:#f8fafc,stroke:#64748b,stroke-width:1px;
classDef store fill:#f0fdf4,stroke:#22c55e,stroke-width:1px;
subgraph "مصادر البيانات"
direction LR
NEWS[مواقع وخلاصات إخبارية خارجية]:::ext
end
subgraph "منصة لبيب"
SCR[(خدمة الجلب Scraper)]:::svc
API[(واجهة API)]:::svc
AIB[(خدمة الذكاء AI-Box)]:::svc
OS[(محرك البحث OpenSearch)]:::store
PG[(قاعدة بيانات PostgreSQL)]:::store
end
NEWS --> SCR
SCR -- "جلب دفعات بيانات" --> API
API -- "تخزين البيانات الوصفية" --> PG
API -- "فهرسة للبحث" --> OS
API -- "إرسال مهام الإثراء" --> AIB
AIB -- "جلب بيانات للتحليل" --> OS
AIB -- "كتابة بيانات الإثراء" --> API
شاهد مخططات البنية الهندسية التفصيلية
دليل التشغيل السريع للمشغلين¶
يوفر هذا الدليل الأوامر الأساسية لتشغيل حزمة لبيب محليًا للتطوير والاختبار.
الهدف: بناء وتهيئة المنصة بأكملها من نسخة جديدة.
-
تكوين البيئة: أنشئ ملف
.envالمحلي الخاص بك من القالب. تحتاج إلى القيام بذلك مرة واحدة فقط. -
بناء وبدء الخدمات: قم ببناء صور Docker وابدأ جميع الخدمات في الخلفية.
-
تهيئة قاعدة البيانات: قم بتشغيل عمليات ترحيل قاعدة بيانات Laravel لإنشاء الجداول المطلوبة.
-
إعداد فهرس البحث: قم بإعداد فهارس OpenSearch ومسارات المعالجة والقوالب المطلوبة.
-
التحقق من التشغيل: قم بتشغيل اختبار التحقق الشامل (smoke test) للتأكد من أن جميع الخدمات تعمل بشكل صحيح.
الهدف: العمل على المنصة بشكل يومي.
-
سحب آخر التغييرات:
-
بدء الخدمات: ابدأ جميع الخدمات في الخلفية. لا يلزم إعادة البناء إلا إذا تغير
Dockerfileأو الاعتماديات. -
تشغيل الاختبارات المحلية: قبل الإيداع (commit)، قم بتشغيل مجموعات الاختبار المحلية للخدمة التي تعمل عليها.
-
عرض السجلات: تابع سجلات خدمة معينة لتصحيح الأخطاء.
أدلة التشغيل الرئيسية¶
تم تنظيم هذه الوثائق في أدلة قابلة للتنفيذ لمساعدتك على تشغيل النظام بفعالية.
- نظرة عميقة على البنية الهندسية: فهم المكونات وتدفقات البيانات بالتفصيل.
- أدلة تشغيل الخدمات: احصل على أدلة تشغيلية مفصلة لكل خدمة مصغرة.
- المستندات المرجعية: ابحث عن عقود API، قوائم متغيرات البيئة، والمزيد.