ارزیابیها (evals) برای تولید برنامهها یا عوامل مبتنی بر LLM قابل اعتماد مهم هستند، اما ممکن است هنگام ایجاد ارزیابی از ابتدا، دانستن از کجا شروع کنیم دشوار باشد. بستههای جدید ما - openevals و agentevals - مجموعهای از ارزیابها و یک چارچوب مشترک را ارائه میدهند که میتوانید به راحتی با آن شروع کنید.
ارزیابیها (evals) چیست؟
ارزیابیها روشهای سیستماتیکی را برای قضاوت در مورد کیفیت خروجی LLM بر اساس معیارهایی که برای برنامه شما مهم است، ارائه میدهند. دو مؤلفه ارزیابیها وجود دارد: دادههایی که در حال ارزیابی آنها هستید و معیاری که بر اساس آن ارزیابی میکنید.
کیفیت و تنوع دادههایی که در حال ارزیابی آنها هستید، مستقیماً بر میزان بازتاب ارزیابی در استفاده واقعی تأثیر میگذارد. قبل از ایجاد ارزیابی، مدتی را صرف جمعآوری مجموعه دادهها برای مورد استفاده خاص خود کنید - فقط به تعداد انگشت شماری از نقاط داده با کیفیت بالا برای شروع نیاز دارید. درباره جمعآوری مجموعه دادهها اینجا بیشتر بخوانید.
معیارهایی که ارزیابی میکنید نیز اغلب بسته به اهداف برنامه شما سفارشی هستند، با این حال، روندهای رایج را در انواع ارزیابیهای مورد استفاده مشاهده میکنیم. به همین دلیل است که ما openevals و agentevals را ایجاد کردیم - برای به اشتراک گذاشتن راه حلهای از پیش ساخته شده که روندهای رایج ارزیابی و بهترین شیوهها را نشان میدهند تا به شما در شروع کار کمک کنند.
انواع رایج ارزیابی و بهترین شیوهها
انواع مختلفی از ارزیابیها وجود دارد، اما برای شروع، ما بر روی انتشار تکنیکهای ارزیابی متمرکز شدهایم که دیدهایم بیشترین استفاده و کاربرد عملی را دارند. ما این کار را به دو روش انجام میدهیم:
- آسان کردن سفارشیسازی ارزیابهای قابل استفاده گسترده: ارزیابیهای LLM-بهعنوان-قاضی، گستردهترین ارزیابها هستند.
openevalsاین امکان را فراهم میکند که به راحتی نمونههای از پیش ساخته شده را بردارید و آنها را به طور خاص برای مورد استفاده خود سفارشی کنید. - ایجاد ارزیاب برای موارد استفاده خاص: تعداد بیپایانی از موارد استفاده وجود دارد، اما ما ارزیابیهای خارج از قفسه را برای رایجترین آنها ایجاد خواهیم کرد. برای شروع،
openevalsوangentevalsمواردی را در یک برنامه پوشش میدهند که در آن محتوای ساختاریافته را از اسناد استخراج میکنید، تماسهای ابزار و مسیرهای عامل را مدیریت میکنید. ما قصد داریم کتابخانهها را گسترش دهیم تا تکنیکهای خاصتری را بسته به نوع برنامه (به عنوان مثال، ارزیابیهای خاص برای برنامههای RAG یا معماریهای چند عاملی) شامل شود.
ارزیابیهای LLM-بهعنوان-قاضی
ارزیابهای LLM-بهعنوان-قاضی از LLMها برای امتیازدهی به خروجی برنامه شما استفاده میکنند. اینها رایجترین انواع ارزیابهایی هستند که ما میبینیم، زیرا عمدتاً هنگام ارزیابی خروجیهای زبان طبیعی استفاده میشوند.
هنگام ارزیابی استفاده کنید:
- کیفیت مکالمه پاسخهای چتبات
- برای آزمایش توهم در سیستمهای خلاصهسازی یا پرسش و پاسخ
- کیفیت نوشتن و انسجام
مهم است که ارزیابیهای LLM-بهعنوان-قاضی میتوانند بدون ارجاع باشند و به شما این امکان را میدهند که پاسخها را به طور عینی و بدون نیاز به پاسخهای حقیقت پایه قضاوت کنید.
چگونه openevals کمک میکند:
- اعلانهای شروع کننده از پیش ساخته شده که میتوانید به راحتی سفارشی کنید
- گنجاندن چند نمونه شات برای همسویی بهتر با ترجیحات انسانی
- فرآیند تنظیم یک طرح امتیازدهی برای ارزیابی مداوم را ساده میکند
- نظرات استدلالی را برای اینکه چرا نمره خاصی داده شده است، ایجاد میکند و شفافیت را به فرآیند ارزیابی اضافه میکند
نمونهها را مشاهده کنید و با ارزیابهای LLM-بهعنوان-قاضی اینجا شروع کنید.
ارزیابی دادههای ساختاریافته
بسیاری از برنامههای LLM شامل استخراج خروجی ساختاریافته از اسناد یا تولید خروجی ساختاریافته برای فراخوانی ابزار هستند. برای این موارد، مهم است که خروجی مدل مطابق با یک قالب از پیش تعریف شده باشد.
هنگام ارزیابی استفاده کنید:
- اطلاعات ساختاریافته استخراج شده از PDFها، تصاویر یا سایر اسناد
- JSON با فرمت سازگار یا سایر خروجیهای ساختاریافته
- اعتبارسنجی پارامترها برای فراخوانی ابزار (به عنوان مثال، فراخوانی API)
- اطمینان از مطابقت خروجیها با فرمتهای خاص یا قرار گرفتن در یک دسته
چگونه openevals کمک میکند:
openevalsقابلیت پیکربندی تطابق دقیق یا استفاده از LLM-بهعنوان-قاضی برای اعتبارسنجی خروجی ساختاریافته را فراهم میکند- به صورت اختیاری، نمرات را در بین کلیدهای بازخورد برای یک نمای سطح بالا از عملکرد ارزیاب جمعآوری کنید
نمونهها را مشاهده کنید و با ارزیابهای دادههای ساختاریافته اینجا شروع کنید.
ارزیابیهای عامل: ارزیابی مسیر
هنگام ایجاد یک عامل، اغلب به چیزی بیش از خروجی نهایی علاقهمند هستید - میخواهید بفهمید که عامل چگونه به آن نتیجه رسیده است. ارزیابی مسیر، توالی اقداماتی را که یک عامل برای تکمیل یک کار انجام میدهد، ارزیابی میکند.
هنگام ارزیابی استفاده کنید:
- ابزارها یا توالی انتخاب ابزارها
- مسیر یک برنامه LangGraph
چگونه agentevals کمک میکند:
- مسیر عامل به شما این امکان را میدهد تا بررسی کنید که عامل شما ابزارهای مناسب را فراخوانی میکند (به صورت اختیاری با یک ترتیب سختگیرانه) یا از LLM-بهعنوان-قاضی برای ارزیابی مسیر استفاده کنید
- اگر از LangGraph استفاده میکنید، میتوانید از مسیر گراف برای اطمینان از اینکه عامل شما گرههای مناسب را فراخوانی میکند، استفاده کنید
نمونهها را مشاهده کنید و با ارزیابیهای عامل اینجا شروع کنید.
نتایج را در طول زمان با LangSmith پیگیری کنید
برای پیگیری ارزیابیها در طول زمان و به اشتراک گذاشتن آنها با یک تیم، توصیه میکنیم نتایج را در LangSmith ثبت کنید. شرکتهایی مانند Elastic، Klarna، و Podium از LangSmith برای ارزیابی برنامههای GenAI خود استفاده میکنند.
LangSmith شامل ابزارهای ردیابی، ارزیابی و آزمایش است تا به شما در ساخت برنامههای LLM درجه تولید کمک کند. از راهنماهای ما در مورد نحوه ادغام openevals یا agentevals با LangSmith دیدن کنید.
به زودی موارد بیشتری ارائه میشود!
این تنها آغاز تلاش مستمر ما برای تدوین بهترین شیوهها برای ارزیابی انواع مختلف برنامهها است. در هفتههای آینده، ارزیابهای خاصتری را برای موارد استفاده رایج و ارزیابهای بیشتری را برای آزمایش عوامل اضافه خواهیم کرد.
ایدههایی برای ارزیابهایی دارید که میخواهید ببینید؟ یک موضوع را در مخازن GitHub ما باز کنید (openevals و agentevals). اگر ارزیابهایی را توسعه دادهاید که برای برنامههای شما به خوبی کار کردهاند، از درخواستهای کششی استقبال میکنیم تا آنها را با جامعه به اشتراک بگذاریم.