Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

إعداد Agentic Data Stack باستخدام Docker Compose

شغّل Agentic Data Stack بالكامل محليًا باستخدام Docker Compose لطرح أسئلة على بياناتك منذ أول تسجيل دخول. يتيح لك أمر واحد فقط، وهو docker compose up، تشغيل LibreChat وخادم ClickHouse MCP وClickHouse وLangfuse لأغراض المراقبة.

المتطلبات الأساسية

  • Docker مع إضافة Compose (الإصدار 2 أو أحدث).
  • Git، لاستنساخ المستودع.
  • مفتاح API لمزوّد نماذج (مثل OpenAI أو Anthropic أو Google). يحتاج الوكيل إلى نموذج للإجابة عن الأسئلة، لذا وفّر مفتاحًا أثناء الإعداد أو أضِف واحدًا في واجهة LibreChat قبل بدء أول محادثة.

شغِّل المكدس

استنسخ المستودع

git clone https://github.com/ClickHouse/agentic-data-stack
cd agentic-data-stack

يتضمّن المستودع ملف docker-compose.yml في المستوى الأعلى، لذا يمكنك تشغيل المكدس بالكامل بأمر واحد. راجع معمارية للاطلاع على القائمة الكاملة للخدمات.

شغّل البرنامج النصي لإعداد العرض التوضيحي

./scripts/prepare-demo.sh

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

عند التشغيل لأول مرة، ينشئ المكدس مستخدم Admin من ملف .env. وبيانات تسجيل الدخول الافتراضية هي admin@admin.com / password.

عيّن بيانات تسجيل الدخول الخاصة بك

شغّل generate-env.sh بهذه المتغيرات قبل prepare-demo.sh:

USER_EMAIL="you@example.com" USER_PASSWORD="supersecret" USER_NAME="YourName" ./scripts/generate-env.sh

بعد ذلك سيتعرّف prepare-demo.sh على ملف .env الحالي وينتقل مباشرةً إلى إعداد مفاتيح API.

ابدأ الخدمات في الخلفية

docker compose up -d

يُرتَّب تسلسل بدء التشغيل تلقائيًا. ولا يبدأ LibreChat إلا بعد أن تصبح حالة خادم MCP سليمة، لذا يكون اتصاله بـ ClickHouse جاهزًا عند أول تحميل.

افتح LibreChat وسجّل الدخول

بمجرد تشغيل المكدس، ستصبح الخدمات متاحة في متصفحك:

سجّل الدخول إلى LibreChat باستخدام بيانات اعتماد المسؤول من ملف .env.

اختر نموذجًا

يكون هناك نموذج محدد افتراضيًا. وإذا أردت تغييره، فافتح محدِّد النماذج واختر النموذج الذي تريد استخدامه.

محدِّد النماذج في LibreChat في الزاوية العلوية اليسرى، ويعرض النموذج الافتراضي مع تلميح Select a model

إذا لم تُعيّن مفتاح مزوّد أثناء الإعداد، فأضف واحدًا في واجهة المستخدم.

عيّن مفتاح مزوّد في واجهة المستخدم

افتح محدِّد النماذج وانقر على Set API Key بجانب المزوّد.

محدِّد نماذج LibreChat مع زر Set API Key بجانب مزوّد Anthropic

ألصق مفتاحك في مربع الحوار وانقر على Submit. يمكنك تعيين تاريخ انتهاء، أو الإبقاء على المفتاح بدون انتهاء.

مربع الحوار Set API Key for Anthropic مع قائمة منسدلة لتاريخ الانتهاء، وحقل Key، وزري Submit وRevoke

اختر خادم MCP

يضبط المكدس مسبقًا خوادم MCP الخاصة به في ملف librechat.yaml الخاص بـ LibreChat. وفي منطقة كتابة الرسائل، انقر على MCP Servers واختر ClickHouse-Local.

واختر ClickHouse-Cloud بدلًا من ذلك لاستخدام خدمة ClickHouse Cloud.

قائمة MCP Servers مفتوحة في منطقة الكتابة في LibreChat، وتعرض ClickHouse-Local مع نقطة اتصال خضراء وClickHouse-Cloud

اطرح سؤالك الأول

على سبيل المثال:

ما قواعد البيانات والجداول المتاحة، وكم عدد الصفوف في أكبر جدول؟

يستخدم الوكيل أدوات خادم MCP لسرد قواعد البيانات والجداول، وتشغيل استعلامات read-only على ClickHouse، وبناء إجابة من النتائج. ولا تحتاج إلى كتابة SQL.

LibreChat يجيب عن السؤال المثال عبر استدعاء أدوات ClickHouse-Local MCP وسرد قواعد البيانات والجداول المتاحة

إيقاف المكدس أو إعادة ضبطه

أوقف الخدمات من دون حذف أي شيء:

docker compose down

لإزالة جميع الحاويات ومسح كل وحدات التخزين والبدء من جديد بشكل نظيف، استخدم البرنامج النصي لإعادة تعيين المكدس:

./scripts/reset-all.sh

البنية المعمارية

يُعدّ docker-compose.yml نقطة دخول بسيطة تتضمن أربعة ملفات Compose:

ملف Compose يعرّف
langfuse-compose.yml Langfuse وخدماته الداعمة (ClickHouse وPostgreSQL وRedis وMinIO)
clickhouse-mcp-compose.yml خادم ClickHouse MCP
librechat-compose.yml LibreChat وخدماته الداعمة (MongoDB وMeilisearch وpgvector وRAG API)
admin-panel-compose.yml لوحة إدارة LibreChat

هناك عاملان يجعلان التشغيل بأمر واحد ممكنًا:

  • فحوصات الحالة وترتيب البدء. يستخدم Compose فحوصات الحالة لتنظيم تسلسل بدء التشغيل. ينتظر خادم MCP حتى يصبح ClickHouse جاهزًا، وينتظر LibreChat خادم MCP.
  • ملف بيئة مشترك. يحتوي .env على بيانات الاعتماد وقيم الاتصال الخاصة بكل خدمة، وتُضبط هذه القيم بشكل متسق بحيث تتمكن الخدمات من الوصول إلى بعضها بعضًا. على سبيل المثال، يتصل خادم MCP بـ ClickHouse باستخدام بيانات اعتماد ClickHouse من .env. كما يُزوَّد LibreChat بكل من LANGFUSE_PUBLIC_KEY وLANGFUSE_SECRET_KEY وLANGFUSE_BASE_URL، بحيث يُرسَل تتبّع كل تشغيل إلى Langfuse مباشرةً من البداية.

يلعب ClickHouse دورين في هذه المنظومة: فهو الواجهة الخلفية للتخزين لدى Langfuse، وهو أيضًا قاعدة البيانات التي يستعلم عنها الوكيل عبر خادم MCP.

الخطوات التالية

  • تعرّف على دور كل مكوّن في المكدس: خادم MCP من ClickHouse، وLibreChat، وLangfuse.
  • اطّلع على نظرة عامة لمعرفة كيف تتكامل مكوّنات المكدس.
  • لتجربة المكدس على مجموعات بيانات عامة من دون تثبيت أي شيء، استخدم AgentHouse، النسخة التجريبية المستضافة.
Navigation