Hub documentation
Langfuse على Spaces
Langfuse على Spaces
يُظهر لك هذا الدليل كيفية نشر Langfuse على Hugging Face Spaces والبدء في قياس تطبيق LLM الخاص بك من أجل المراقبة. تساعدك هذه التكاملات على إجراء تجارب مع واجهات برمجة تطبيقات LLM على Hugging Face Hub، وإدارة أوامرك (prompts) في مكان واحد، وتقييم مخرجات النموذج.
ما هو Langfuse؟
Langfuse هو منصة مفتوحة المصدر لهندسة نماذج اللغة الكبيرة (LLM) تساعد الفرق على تصحيح أخطاء تطبيقاتها وتقييمها وتحسينها بشكل تعاوني.
تشمل الميزات الرئيسية في Langfuse تتبع نماذج اللغة الكبيرة (LLM) لالتقاط السياق الكامل لتدفق تنفيذ تطبيقك، وإدارة الموجهات (prompts) للتكرار المركزي والتعاوني عليها، ومؤشرات التقييم لقياس جودة المخرجات، وإنشاء مجموعات البيانات للاختبار والقياس المرجعي، وساحة تجريب للتجارب مع الموجهات وإعدادات النماذج.
هذا الفيديو جولة استرشادية مدتها 10 دقائق حول ميزات Langfuse:
لماذا المراقبة في نماذج اللغة الكبيرة؟
- مع تزايد انتشار نماذج اللغة، يصبح فهم سلوكها وأدائها أمراً بالغ الأهمية.
- يتضمن مراقبة نماذج اللغة الكبيرة مراقبة وفهم الحالات الداخلية لتطبيق نموذج لغة كبير من خلال مخرجاته.
- يُعدّ أمرًا أساسيًا لمعالجة تحديات مثل:
- مسارات تحكم معقدة تتضمن استدعاءات متكررة أو متسلسلة، مما يجعل عملية تصحيح الأخطاء صعبة.
- Non-deterministic outputs, adding complexity to consistent quality assessment.
- نوايا مستخدمين متنوعة، تتطلب فهماً عميقاً لتحسين تجربة المستخدم.
- يتضمن بناء تطبيقات نماذج اللغة الكبيرة سير عمل معقدة، ويساعد المراقب في إدارة هذه التعقيدات.
الخطوة 1: إعداد Langfuse على Spaces
يتيح لك مساحة Hugging Face الخاصة بـ Langfuse البدء بسرعة مع نسخة مُنفَّذة من Langfuse بعدد قليل من النقرات فقط.
للبدء، انقر على الزر أعلاه أو اتبع الخطوات التالية:
- أنشئ مساحة Hugging Face جديدة
- اختر Docker كـ SDK للمساحة
- اختر Langfuse كقالب للفضاء
- اربط Storage Bucket لضمان حفظ بيانات Langfuse الخاصة بك عبر عمليات إعادة التشغيل
- تأكد من ضبط مساحة العمل على وضع public حتى تتمكن واجهات Langfuse API/SDK من الوصول إلى التطبيق (انظر الملاحظة أدناه لمزيد من التفاصيل)
- [اختياري لكنه موصى به] لنشر آمن، استبدل القيم الافتراضية لمتغيرات البيئة NEXTAUTH_SECRET: تُستخدم للتحقق من ملفات تعريف الارتباط الخاصة بجلسة تسجيل الدخول، أنشئ سرًا يحتوي على 256 بت من العشوائية على الأقل باستخدام openssl rand -base64 32. SALT: تُستخدم لإضافة ملح إلى مفاتيح API المُجزأة، أنشئ سرًا يحتوي على 256 بت من العشوائية على الأقل باستخدام openssl rand -base64 32. ENCRYPTION_KEY: تُستخدم لتشفير البيانات الحساسة. يجب أن تكون 256 بت، 64 حرفًا في سلسلة بصيغة سداسية عشرية، أنشئها عبر: openssl rand -hex 32.:
NEXTAUTH_SECRET: يُستخدم للتحقق من ملفات تعريف الارتباط الخاصة بجلسات تسجيل الدخول، ولتوليد سرّ يحتوي على إنتروبيا لا تقل عن 256 باستخدامopenssl rand -base64 32.SALT: يُستخدم لإضافة ملح إلى مفاتيح API المُجزّأة، قم بتوليد سرّ يحتوي على 256 بت من العشوائية على الأقل باستخدامopenssl rand -base64 32.ENCRYPTION_KEY: يُستخدم لتشفير البيانات الحساسة. يجب أن يكون 256 بتًا، أي 64 حرفًا في صيغة سداسية عشرية، يتم توليده عبر الأمر:openssl rand -hex 32.
- انقر على إنشاء مساحة!

وصول المستخدم
تم إعداد مساحة Langfuse الخاصة بك مسبقًا باستخدام مصادقة OAuth من Hugging Face للمصادقة الآمنة، لذا ستحتاج إلى منح إذن read لحسابك على Hugging Face عند تسجيل الدخول الأول من خلال اتباع التعليمات الموجودة في النافذة المنبثقة.
بمجرد الدخول إلى التطبيق، يمكنك استخدام الميزات الأصلية في Langfuse لإدارة المنظمات والمشاريع والمستخدمين.
يجب أن تكون مساحة Langfuse مضبوطة على مستوى ظهور عام حتى تتمكن واجهات برمجة التطبيقات Langfuse/SDK من الوصول إلى التطبيق. وهذا يعني أنه افتراضيًا، يمكن لأي مستخدم مسجّل الدخول إلى Hugging Face الوصول إلى مساحة Langfuse.
يمكنك منع المستخدمين الجدد من التسجيل والوصول إلى المساحة عبر طريقتين مختلفتين:
1. (موصى به) قيود OAuth على مستوى المنظمة الأصلية في Hugging Face
إذا كنت ترغب في تقييد الوصول لأعضاء منظمة أو أكثر محددة، يمكنك ببساطة تعيين حقل البيانات الوصفية hf_oauth_authorized_org في ملف README.md الخاص بالمساحة، كما هو موضح هنا.
بمجرد إتمام التهيئة، لن يتمكن سوى الأعضاء في المنظمة أو المنظمات المحددة من الوصول إلى المساحة.
2. التحكم اليدوي في الوصول
يمكنك أيضًا تقييد الوصول على أساس كل مستخدم على حدة عن طريق تعيين متغير البيئة AUTH_DISABLE_SIGNUP إلى true. تأكد من أنك قمت أولًا بتسجيل الدخول والتحقق من هويتك في المساحة قبل تعيين هذا المتغير، وإلا فلن يتمكن ملفك الشخصي للمستخدم من التحقق من هويته.
ملاحظة: إذا قمت بإعداد متغير البيئة
AUTH_DISABLE_SIGNUPعلىtrueلتقييد الوصول، وتريد منح مستخدم جديد صلاحية الوصول إلى المساحة، فستحتاج أولاً إلى إعادة ضبطه علىfalse(انتظر حتى يكتمل إعادة البناء)، ثم أضف المستخدم واطلب منه المصادقة باستخدام OAuth، ثم أعد ضبطه علىtrue.
الخطوة 2: استخدام Langfuse
الآن وقد أصبحت Langfuse قيد التشغيل، يمكنك البدء في قياس تطبيق LLM الخاص بك لالتقاط المسارات وإدارة الأوامر. دعنا نرى كيف!
مراقبة أي تطبيق
يعمل Langfuse بشكل مستقل عن النموذج ويمكن استخدامه لتتبع أي تطبيق. اتبع دليل البدء في توثيق Langfuse لمعرفة كيفية قياس أداء كودك.
تحتفظ Langfuse بتكاملات أصلية مع العديد من أطر عمل LLM الشهيرة، بما في ذلك Langchain وLlamaIndex وOpenAI، وتوفر SDKs بلغة Python وJS/TS لمراقبة أكوادك. كما توفر Langfuse نقاط نهاية API متنوعة لاستهلاك البيانات، وقد تم تكاملها من قبل مشاريع مفتوحة المصدر أخرى مثل Langflow وDify وHaystack.
المثال 1: تتبّع استدعاءات مزوّدي الاستدلال
كمثال بسيط، إليك كيفية تتبع استدعاءات نماذج اللغة الكبيرة إلى مزودي الاستدلال باستخدام حزمة Langfuse Python SDK.
تأكد أولاً من إعداد متغيرات البيئة LANGFUSE_HOST وLANGFUSE_PUBLIC_KEY وLANGFUSE_SECRET_KEY، وتأكد من أنك قد سجّلت الدخول بحسابك على Hugging Face.
from langfuse.openai import openai
from huggingface_hub import get_token
client = openai.OpenAI(
base_url="/static-proxy?url=https%3A%2F%2Frouter.huggingface.co%2Fhf-inference%2Fmodels%2Fmeta-llama%2FLlama-3.3-70B-Instruct%2Fv1%26quot%3B%3C%2Fspan%3E%2C
api_key=get_token(),
)
messages = [{"role": "user", "content": "What is observability for LLMs?"}]
response = client.chat.completions.create(
model="meta-llama/Llama-3.3-70B-Instruct",
messages=messages,
max_tokens=100,
)المثال 2: مراقبة تطبيق Gradio
أنشأنا مساحة قالب Gradio تُظهر كيفية إنشاء تطبيق دردشة بسيط باستخدام نموذج Hugging Face وتتبع استدعاءات النموذج وملاحظات المستخدمين في Langfuse - دون مغادرة Hugging Face.
للبدء، انسخ مساحة قالب Gradio هذه واتبع التعليمات الموجودة في README.
الخطوة 3: عرض المسارات في Langfuse
بمجرد أن تُضيف أدوات القياس إلى تطبيقك، وتستورد المسارات أو ملاحظات المستخدمين إلى Langfuse، يمكنك عرض مساراتك في Langfuse.

مثال على أثر في واجهة Langfuse
موارد ودعم إضافية
لمزيد من المساعدة، افتح موضوع دعم على GitHub discussions أو افتح مشكلة.
Update on GitHub