يستعرض هذا الدليل كيفية الجمع بين إطار العمل القوي لواجهات الدردشة في Chainlit وخادم ClickHouse لبروتوكول Model Context Protocol (MCP) لإنشاء تطبيقات بيانات تفاعلية. يتيح لك Chainlit بناء واجهات محادثة لتطبيقات الذكاء الاصطناعي بأقل قدر من الشيفرة، بينما يوفّر خادم ClickHouse MCP تكاملًا سلسًا مع قاعدة البيانات العمودية عالية الأداء من ClickHouse.
المتطلبات الأساسية
- ستحتاج إلى مفتاح API من Anthropic
- ستحتاج إلى تثبيت
uv
تطبيق Chainlit بسيط
يمكنك الاطلاع على مثال لتطبيق دردشة بسيط بتشغيل ما يلي:
uv run --with anthropic --with chainlit chainlit run chat_basic.py -w -hثم انتقل إلى http://localhost:8000
إضافة خادم ClickHouse MCP
تصبح الأمور أكثر تشويقًا إذا أضفنا خادم ClickHouse MCP.
ستحتاج إلى تحديث ملف .chainlit/config.toml للسماح
باستخدام الأمر uv:
[features.mcp.stdio]
enabled = true
# Only the executables in the allow list can be used for MCP stdio server.
# Only need the base name of the executable, e.g. "npx", not "/usr/bin/npx".
# Please don't comment this line for now, we need it to parse the executable name.
allowed_executables = [ "npx", "uvx", "uv" ]هناك بعض الشيفرات الوسيطة اللازمة لجعل خوادم MCP تعمل مع Chainlit، لذا سنحتاج إلى تشغيل هذا الأمر لتشغيل Chainlit بدلًا من ذلك:
uv run --with anthropic --with chainlit chainlit run chat_mcp.py -w -hلإضافة خادم MCP، انقر على أيقونة التوصيل في واجهة الدردشة، ثم أضِف الأمر التالي للاتصال بـ ClickHouse SQL Playground واستخدامه:
CLICKHOUSE_HOST=sql-clickhouse.clickhouse.com CLICKHOUSE_USER=demo CLICKHOUSE_PASSWORD= CLICKHOUSE_SECURE=true uv run --with mcp-clickhouse --python 3.13 mcp-clickhouseإذا كنت تريد استخدام مثيل ClickHouse الخاص بك، يمكنك تعديل قيم متغيرات البيئة.
بعد ذلك، يمكنك أن تطرح عليه أسئلة مثل:
- أخبرني عن الجداول المتاحة للاستعلام
- ما الأمر المثير للاهتمام بشأن سيارات الأجرة في نيويورك؟