Skip to main content
يشرح هذا الدليل خطوة بخطوة كيفية تحميل بيانات تتبع نماذج LLM من Langfuse Cloud إلى ClickHouse Cloud لإجراء التحليلات في الوقت الفعلي.

التصدير من Langfuse Cloud

اتبع هذا الدليل لتهيئة تكامل Blob Storage في Langfuse Cloud بهدف إجراء عمليات تصدير مجدولة. يمكنك جدولة تصدير بيانات التتبع إلى التخزين الكائني بوتيرة تصل إلى مرة كل 20 minutes، أو وفق جدول hourly أو daily أو weekly. ويتضمن كل تصدير افتراضيًا observations الخاصة بك (مُثراةً بسمات التتبع) وscores.

بنية الملفات المُصدَّرة

يكتب تكامل Blob Storage في Langfuse Cloud البيانات إلى الحاوية (bucket) أو حاوية التخزين (storage container) الهدف وفق بنية الأدلة التالية:

الاستيراد إلى ClickHouse Cloud

بعد تهيئة تكامل Blob Storage في Langfuse Cloud، ستُصدَّر بيانات التتبع دوريًا وفق جدول زمني إلى الحاوية (bucket) أو حاوية التخزين الهدف. ولاستيراد هذه البيانات إلى ClickHouse Cloud، يمكنك استخدام ClickPipes وموصلات التخزين الكائني المُدارة التي يوفرها:

إنشاء ClickPipe

يستخدم هذا المثال S3 ClickPipe لاستيراد البيانات من حاوية S3 تستقبل عمليات تصدير مجدولة من Langfuse Cloud، ويمكن اعتماده نموذجًا لجميع وجهات التصدير إلى التخزين الكائني. وللاطلاع على إرشادات خاصة بكل مصدر بيانات، راجع وثائق ClickPipes.
1

اختر مصدر البيانات

1. في ClickHouse Cloud، اختر Data sources من قائمة التنقل الرئيسية، ثم انقر على Create ClickPipe.
Create ClickPipe
2. انقر على بطاقة Amazon S3. ويمكنك أيضًا استخدام هذه البطاقة للاتصال بخدمات أخرى متوافقة مع S3 غير مدرجة في واجهة ClickPipes.
اختيار مصدر البيانات Amazon S3
2

إعداد الاتصال

1. املأ التفاصيل التي تحتاجها ClickPipes للاتصال بالحاوية التي تستقبل الملفات المُصدَّرة من Langfuse Cloud والمصادقة عليها.
  • Authentication method: يدعم S3 ClickPipe بيانات اعتماد IAM (Credentials) والمصادقة المستندة إلى دور IAM (IAM role). ولا تحتاج ClickPipes إلا إلى صلاحية القراءة على الحاوية. راجع الوثائق المرجعية للاطلاع على إرشادات المصادقة والأذونات.
  • S3 file path: وجّه ClickPipe إلى دليل فرعي، واستخدم حرف البدل * لمطابقة جميع الملفات المُصدَّرة. يجب إنشاء ClickPipe منفصل لكل دليل فرعي، نظرًا لاختلاف مخططات الملفات المُصدَّرة من دليل فرعي إلى آخر. راجع الوثائق المرجعية للاطلاع على إرشادات حول الأنماط المدعومة، بما في ذلك كيفية مطابقة الملفات عبر البادئات المتداخلة.
2. اختر Continuous ingestion لإدخال الملفات الجديدة تلقائيًا فور كتابة Langfuse لها في حاوية الهدف.
بيانات الاتصال الخاصة بتصدير Langfuse، مع تفعيل الإدخال المستمر.
3. انقر على Incoming data. ستجلب ClickPipes البيانات الوصفية من حاويتك، وتستنتج مخطط جدول الهدف في الخطوة التالية.
3

التحقق من صحة البيانات الواردة

1. ستتصل ClickPipes بحاوية التخزين الخاصة بك وتعرض الملفات الموجودة في المسار المحدد، مع استنتاج صيغة الملفات تلقائيًا. استخدمنا في هذا المثال صيغة ملفات التصدير الافتراضية في Langfuse Cloud ‏(Parquet).
الملفات المطابقة لمسار تصدير Langfuse، مع ضبط نوع الملف على Parquet
2. انقر على Parse information. ستستخدم ClickPipes ملفًا نموذجيًا لاستنتاج مخطط البيانات المُصدَّرة، ثم تربط حقول المصدر تلقائيًا بجدول الهدف في ClickHouse.
4

تهيئة الهدف

1. في هذه الخطوة، يمكنك مراجعة المخطط المستنتج وتخصيص تهيئة جدول الهدف، بما في ذلك ضبط مطابقة أنواع البيانات، وتحديد مفتاح الفرز، واختيار محرك الجدول.
تصدير للدرجات يكتب إلى قاعدة بيانات langfuse مخصصة، مع ضبط مفتاح الفرز على environment وname وtimestamp وtrace_id وobservation_id وid
ضمن Upload data to، أبقِ الخيار New table محددًا واضبط ما يلي:
  • Database وName: قاعدة بيانات مخصصة لبيانات Langfuse (مثل langfuse)، واسم واضح للجدول الوجهة (مثل scores). تستخدم ClickPipes افتراضيًا الاسم default.s3-<uuid> لتجنب تعارض الأسماء.
  • Sorting key: مفتاح الترتيب للجدول الوجهة، وهو الذي يحدد طريقة تخزين ClickHouse للبيانات على القرص. للحصول على أفضل أداء، ينبغي أن يتوافق مفتاح الفرز مع أنماط الوصول إلى بياناتك، بحيث تتمكن الاستعلامات من تجاوز قراءة أكبر قدر ممكن من البيانات. يُستخدم هذا المفتاح أيضًا لإزالة التكرار في جداول ReplacingMergeTree، لذا يجب أن تحدد مجموعة الأعمدة كل سجل تحديدًا فريدًا. إذا كنت تحمّل بيانات عدة مشاريع Langfuse في جدول واحد، فأضف project_id في بداية مفتاح الفرز. راجع الوثائق المرجعية للاطلاع على إرشادات اختيار مفتاح الفرز.
  • Partition by: اتركه فارغًا ما لم تكن تنوي حذف بيانات التتبّع القديمة بعد انتهاء صلاحيتها. يُستخدم التقسيم في ClickHouse لإدارة البيانات لا لتحسين الاستعلامات؛ إذ إن مفتاح الفرز المقترح يقلّص أصلًا نطاق البيانات المقروءة في استعلامات الفترات الزمنية. أما إذا كنت بحاجة إلى سياسة احتفاظ، فقسّم حسب عمود الوقت (toYYYYMM(start_time)، أو toYYYYMM(timestamp) بالنسبة إلى scores)، بحيث يصبح حذف شهر كامل من بيانات التتبّع عملية DROP PARTITION واحدة.
2. بعد ذلك، وسّع Advanced settings واضبط Engine على ReplacingMergeTree لضمان إزالة التكرار، مع استخدام updated_at عمودًا لـ Version.
الإعدادات المتقدمة مع محرك ReplacingMergeTree واستخدام updated_at عمودًا للإصدار
تشمل نوافذ التصدير في تكامل Langfuse Cloud Blob Storage حدَّيها كليهما، لذا قد يظهر السجل نفسه في أكثر من ملف مُصدَّر. ما لم تكن أنماط استعلاماتك التحليلية متساوية القوى (مثل uniq() وmax() وmin())، يجب عليك معالجة إزالة التكرار ضمن نموذج البيانات اللاحق، باستخدام ReplacingMergeTree محركًا لجدول الهدف.
إزالة التكرار باستخدام ReplacingMergeTreeيدمج محرك الجدول هذا السجلات المكررة عبر عمليات الدمج في الخلفية. ولإزالة التكرار بالكامل عند القراءة (أي اعتماد مبدأ الدمج عند القراءة)، يجب استخدام المُعدِّل FINAL (أو تجميعات من نوع argMax()) عند تنفيذ الاستعلام.
5

تهيئة الأذونات

تُنشئ ClickPipes مستخدمًا مخصصًا لكتابة البيانات في جدول الوجهة. اختر دورًا لهذا المستخدم الداخلي، إما دورًا مخصصًا أو أحد الأدوار المُعرَّفة مسبقًا:
  • Full access: يمنح صلاحية وصول كاملة إلى العنقود. وهو مطلوب إذا كنت تستخدم عرضًا مُجسَّدًا أو قاموسًا مع جدول الوجهة.
  • Only destination table: يمنح صلاحيات INSERT على جدول الوجهة فقط.
الصلاحيات
انقر على Complete setup لإنشاء ClickPipe.
6

أكمل الإعداد

وبهذا يكون كل شيء جاهزًا! ستبدأ ClickPipes أولاً بتعبئة البيانات التاريخية (backfill) لجميع الملفات الموجودة في المسار المحدد، ثم تنتقل إلى استيعاب الملفات الجديدة فور وصولها إلى الحاوية.
ClickPipes الخاصة بالملاحظات والدرجات قيد التشغيل ضمن مصادر البيانات
كرّر الخطوات الواردة في هذا الشرح لكل دليل فرعي تريد استيراده إلى ClickHouse Cloud.

الاستعلام عن بيانات التتبع

بعد أن تبدأ ClickPipes بالعمل، يمكنك الاستعلام عن بيانات التتبع الخاصة بك في Langfuse Cloud مباشرةً من ClickHouse Cloud. تتناول الأمثلة أدناه بعض أنماط الاستعلام الشائعة: التجميعات الإجمالية للتكلفة وزمن الاستجابة، وإعادة بناء تتبع واحد، وربط الدرجات بالنماذج والموجّهات.

تجميعات المقاييس ضمن فترات زمنية

تُصدَّر بعض الحقول، مثل usage_details وcost_details، كأعمدة من نوع Map. للوصول إلى قيمة واحدة، ابحث عنها بمفتاحها (مثلًا: sum(cost_details['total'])).

إعادة بناء التتبّع

تحليل الجودة

انظر أيضًا

آخر تعديل في ٢٦ سبتمبر ٢٠٢٦