AI Observability

رمزگشایی از مشاهده‌پذیری هوش مصنوعی: بررسی عمیق Phoenix

در چشم‌انداز در حال تحول سریع مدل‌های زبانی بزرگ (LLM) و هوش مصنوعی مولد، صرفاً ساخت اپلیکیشن‌های محکم دیگر کافی نیست. با افزایش پیچیدگی این سیستم‌ها، نیاز به مشاهده‌پذیری هوش مصنوعی حیاتی می‌شود. توسعه‌دهندگان اغلب در مورد نحوه تعامل مدل‌های خود با داده‌ها، دلایل تولید خروجی‌های خاص و محل گلوگاه‌های عملکردی، در تاریکی مطلق هستند. در اینجا Phoenix، یک پلتفرم مشاهده‌پذیری هوش مصنوعی متن‌باز که برای ارائه بینش عمیق به رفتار اپلیکیشن‌های هوش مصنوعی طراحی شده است، وارد می‌شود.

Phoenix چیست؟

Phoenix یک ابزار قدرتمند است که از اکوسیستم OpenTelemetry (OTel) برای ارائه دیدگاه سرتاسری به اپلیکیشن‌های LLM استفاده می‌کند. این ابزار به توسعه‌دهندگان امکان می‌دهد درخواست‌ها را ردیابی کنند، عملکرد را پایش کنند، مشکلات را عیب‌یابی کنند و خروجی‌های مدل را ارزیابی کنند. برخلاف ابزارهای پایش سنتی اپلیکیشن که بر تأخیر و نرخ خطا تمرکز دارند، Phoenix ردیابی معنایی ارائه می‌دهد و به شما بینشی از منطق پشت پاسخ‌های مدل می‌دهد.

ویژگی‌های کلیدی Phoenix عبارتند از:

  • ردیابی: ثبت اسپن‌های (spans) جزئی از فراخوانی‌های LLM، جاسازی‌ها (embeddings) و بازیابی‌ها.
  • عیب‌یابی: بصری‌سازی استفاده از توکن‌ها، قالب‌های پرامپت و تولید خروجی.
  • ارزیابی: استفاده از ارزیاب‌های خودکار برای سنجش مرتبط بودن، سمّیت و واقعیت‌محوری.
  • یکپارچه‌سازی: پشتیبانی بی‌درز برای LangChain، LlamaIndex و کلاینت‌های خام OpenAI/Anthropic.

راه‌اندازی Phoenix

شروع کار با Phoenix ساده است. می‌توانید آن را به صورت محلی با استفاده از Docker اجرا کنید یا آن را از طریق pip برای توسعه‌دهندگان پایتون نصب کنید.


# Install Phoenix
pip install arize-phoenix

# Start Phoenix locally
phoenix serve

پس از اجرای Phoenix، می‌توانید اپلیکیشن خود را با استفاده از خروجی‌دهنده‌های OpenTelemetry ابزاری‌سازی (instrument) کنید. در اینجا یک مثال سریع از استفاده از کتابخانه OpenAI با ردیابی Phoenix آورده شده است:


from openai import OpenAI
from arize.phoenix.otel import OTEL_EXPORTER_ENDPOINT

# Configure OpenTelemetry to point to Phoenix
import os
os.environ["OTEL_EXPORTER_OTLP_ENDPOINT"] = "http://localhost:6006"

client = OpenAI()

# Standard OpenAI call
response = client.chat.completions.create(
    model="gpt-4",
    messages=[
        {"role": "user", "content": "Explain quantum entanglement in simple terms."}
    ]
)

print(response.choices[0].message.content)

توجه: اطمینان حاصل کنید که بسته‌های ابزاری‌سازی OpenTelemetry مناسب را برای ثبت خودکار این ردیابی‌ها نصب کرده‌اید. Phoenix SDKهای خاصی برای فریمورک‌های محبوب ارائه می‌دهد تا این فرآیند را ساده‌تر کند.

مثال عملی: ردیابی یک خط لوله RAG

یکی از رایج‌ترین موارد استفاده برای مشاهده‌پذیری هوش مصنوعی، پایش خط لوله‌های تولید تقویت‌شده با بازیابی (RAG) است. Phoenix می‌تواند هر مرحله را ردیابی کند: تکه‌تکه کردن اسناد، بازیابی برداری، ساخت پرامپت و تولید نهایی.

یک ربات پشتیبانی مشتری مبتنی بر RAG را تصور کنید. اگر کاربر پاسخی نادرست دریافت کند، می‌توانید از Phoenix برای موارد زیر استفاده کنید:

  1. ردیابی شناسه درخواست خاص.
  2. بازرسی اسناد بازیابی شده برای اطمینان از یافتن زمینه مرتبط.
  3. بررسی پرامپت نهایی برای اطمینان از قالب‌بندی صحیح زمینه.
  4. تحلیل پاسخ LLM برای تعیین اینکه آیا مدل توهم کرده یا زمینه را نادیده گرفته است.

این سطح از دقت برای عیب‌یابی جریان‌های کاری پیچیده هوش مصنوعی که بر چندین سرویس و مدل گسترده شده‌اند، بی‌ارزش نیست.

ارزیابی: فراتر از لاگ‌ها

اگرچه ردیابی به شما در عیب‌یابی نمونه‌های فردی کمک می‌کند، ارزیابی به شما کمک می‌کند تا عملکرد کلی مدل را درک کنید. Phoenix ارزیاب‌های داخلی ارائه می‌دهد که می‌توانند روی ردیابی‌های تاریخی اجرا شوند.

برای مثال، می‌توانید موارد زیر را ارزیابی کنید:

  • مرتبط بودن: زمینه بازیابی شده تا چه حد به پرسش کاربر مرتبط است؟
  • سمّیت: آیا پاسخ تولید شده توهین‌آمیز یا مضر است؟
  • واقعیت‌محوری: آیا پاسخ بر اساس زمینه ارائه شده حاوی خطاهای فکتی است؟

این نمرات می‌توانند در طول زمان تجمیع شوند تا عملکرد مدل پس از به‌روزرسانی‌ها یا تغییرات پرامپت را ردیابی کنند و یک حلقه بازخورد حیاتی برای بهبود مستمر فراهم کنند.

نتیجه‌گیری

با حرکت اپلیکیشن‌های هوش مصنوعی از پروتوتایپ به تولید، مشاهده‌پذیری دیگر اختیاری نیست. Phoenix یک پایه محکم و متن‌باز برای درک، عیب‌یابی و ارزیابی سیستم‌های مبتنی بر LLM ارائه می‌دهد. با یکپارچه‌سازی Phoenix در جریان کاری توسعه خود، دیدگاهی را به دست می‌آورید که برای ساخت اپلیکیشن‌های هوش مصنوعی قابل اعتمادتر، کارآمدتر و قابل اعتمادتر مورد نیاز است. چه در حال عیب‌یابی یک درخواست ناکام واحد باشید و چه در حال ارزیابی عملکرد یک خط لوله RAG کامل، Phoenix ابزارهایی را که برای پیمایش پیچیدگی‌های توسعه مدرن هوش مصنوعی نیاز دارید، ارائه می‌دهد.

Share: