تخطَّ إلى المحتوى

Arize Phoenix - مراقبة وتقييم LLM

Arize Phoenix - مراقبة وتقييم LLM

Arize Phoenix هي منصة مفتوحة المصدر للمراقبة والتقييم لتطبيقات LLM والوكلاء. إنها أصلية OpenTelemetry: الأداة تصدر آثار OTLP قياسية التي تجمعها Phoenix، لذا يمكنك رؤية كل حث واستدعاء نموذج واستدعاء أداة وخطوة استرجاع، ثم تشغيل التقييمات عليها. يعمل محلياً (دفتر ملاحظات أو حاوية أو خادم مستضاف ذاتياً) ويتكامل مع الأطر العامة من خلال أجهزة OpenInference.

التثبيت

الطريقةالأمر
pippip install arize-phoenix
تشغيل خادم محليphoenix serve (الواجهة في http://localhost:6006)
Dockerdocker run -p 6006:6006 arizephoenix/phoenix:latest
في دفتر ملاحظاتimport phoenix as px; px.launch_app()
إضافات الأداةpip install openinference-instrumentation-openai (والآخرون)

بدء تتبع سريع

from phoenix.otel import register

# كوّن موفر التتبع وأشر إليه في جامع Phoenix
tracer_provider = register(
    project_name="my-llm-app",
    endpoint="http://localhost:6006/v1/traces",
)

# أداة تلقائية لمكتبة (المثال: OpenAI)
from openinference.instrumentation.openai import OpenAIInstrumentor
OpenAIInstrumentor().instrument(tracer_provider=tracer_provider)

# ...الآن تظهر استدعاءات LLM الخاصة بك كآثار في Phoenix
المفهومالمعنى
Spanعملية واحدة (استدعاء LLM، استدعاء أداة، خطوة استرجاع)
Traceشجرة من الأجنحة لطلب واحد
المشروعمجموعة مسماة من الآثار
OpenInferenceالاتفاقيات الدلالية التي يستخدمها Phoenix على OTLP

أداة الأطر

المكتبةحزمة الأداة
OpenAIopeninference-instrumentation-openai
LangChainopeninference-instrumentation-langchain
LlamaIndexopeninference-instrumentation-llama-index
Anthropicopeninference-instrumentation-anthropic
DSPyopeninference-instrumentation-dspy
تلقائي (كثيرون)تمكين عبر register(auto_instrument=True)

الأجنحة اليدوية

from opentelemetry import trace
tracer = trace.get_tracer(__name__)

with tracer.start_as_current_span("retrieve") as span:
    span.set_attribute("input.value", query)
    docs = retriever(query)
    span.set_attribute("retrieval.documents", len(docs))

التقييم

يمكن لـ Phoenix تسجيل الآثار (خاصة تقييمات LLM-as-judge) والتعليق على النتائج.

from phoenix.evals import llm_classify, OpenAIModel, HALLUCINATION_PROMPT_TEMPLATE

results = llm_classify(
    dataframe=spans_df,
    model=OpenAIModel(model="gpt-4o"),
    template=HALLUCINATION_PROMPT_TEMPLATE,
    rails=["factual", "hallucinated"],
)
التقييمالمقاييس
الهلوسةهل الإجابة قائمة على السياق؟
صحة الأسئلة والأجوبةهل الإجابة صحيحة مقابل المرجع؟
الصلةهل المستندات المسترجعة ذات صلة بالاستعلام؟
السميةمحتوى غير آمن/سام
مخصصنموذج LLM-as-judge أو قالب رمز خاص بك

مجموعات البيانات والتجارب

الإمكانيةالاستخدام
مجموعات البياناتاختر أمثلة المدخلات/المخرجات من الآثار
التجاربتشغيل مهمة على مجموعة بيانات وتسجيلها
px.Client().upload_dataset(...)إنشاء مجموعة بيانات برمجياً
مقارنة التشغيلاتتتبع الجودة عبر تغييرات الحث/النموذج

تصحيح الاسترجاع

الميزةتساعد مع
سمات Span للمستندات المسترجعةانظر بالضبط ما جلبته RAG
عروض Embedding/UMAPاكتشف المجموعات والانجراف في التضمينات
تقييم على صلة الاسترجاعقيّم جودة الاسترجاع لكل استعلام

Phoenix مقابل مراقبة LLM الأخرى

الجانبArize PhoenixLangfuseMLflow
المعيارOpenTelemetry/OTLPOTel + SDKتتبع MLflow
التركيزالتتبع + التقييم + تصحيح الاسترجاعالتتبع + الحثيات + التقييممنصة ML كاملة + LLM
استضافة ذاتيةنعمنعمنعم
الأفضل لتقييم OTel-native و تصحيح RAGتحليل المنتج + الحثياتالفريق بالفعل على MLflow

الموارد