Mozaik Yapay Zeka Aracısı Değerlendirmesi nedir?
Önemli
Bu özellik Genel Önizlemededir.
Bu makale, Mosaic AI Agent Değerlendirmesi ile çalışma hakkında genel bir bakış sunmaktadır. Aracı Değerlendirmesi, geliştiricilerin RAG uygulamaları ve zincirleri de dahil olmak üzere aracı yapay zeka uygulamalarının kalitesini, maliyetini ve gecikme süresini değerlendirmesine yardımcı olur. Aracı Değerlendirmesi hem kalite sorunlarını hem de bu sorunların kök nedenini belirlemek için tasarlanmıştır. Aracı Değerlendirmesinin özellikleri MLOps yaşam döngüsünün geliştirme, hazırlama ve üretim aşamalarında birleştirilir ve tüm değerlendirme ölçümleri ve veriler MLflow Çalıştırmalarına kaydedilir.
Aracı Değerlendirmesi, gelişmiş, araştırma destekli değerlendirme tekniklerini lakehouse, MLflow ve diğer Databricks Veri Zekası Platformu bileşenleriyle tümleştirilmiş kullanıcı dostu bir SDK ve kullanıcı arabirimiyle tümleştirir. Mozaik yapay zeka araştırması ile işbirliği içinde geliştirilen bu özel teknoloji, aracı performansını analiz etmek ve geliştirmek için kapsamlı bir yaklaşım sunar.
Aracı yapay zeka uygulamaları karmaşıktır ve birçok farklı bileşen içerir. Bu uygulamaların performansını değerlendirmek, geleneksel ML modellerinin performansını değerlendirmek kadar kolay değildir. Kaliteyi değerlendirmek için kullanılan nitel ve nicel ölçümler doğal olarak daha karmaşıktır. Aracı Değerlendirmesi, alma ve istek kalitesini değerlendirmek için özel LLM yargıçları ve aracı ölçümlerinin yanı sıra gecikme süresi ve belirteç maliyeti gibi genel performans ölçümlerini içerir.
"Temsilci Değerlendirmesini Nasıl Kullanırım?"
Aşağıdaki kod, daha önce oluşturulan çıkışlarda Aracı Değerlendirmesini çağırmayı ve test etme işlemini gösterir. Aracı Değerlendirmesi'nin bir parçası olan LLM yargıçlarının hesapladığı değerlendirme puanlarını içeren bir veri çerçevesi (dataframe) döndürür.
Aşağıdakileri kopyalayıp mevcut Databricks not defterinize yapıştırabilirsiniz:
%pip install mlflow databricks-agents
dbutils.library.restartPython()
import mlflow
import pandas as pd
examples = {
"request": [
{
# Recommended `messages` format
"messages": [{
"role": "user",
"content": "Spark is a data analytics framework."
}],
},
# SplitChatMessagesRequest format
{
"query": "How do I convert a Spark DataFrame to Pandas?",
"history": [
{"role": "user", "content": "What is Spark?"},
{"role": "assistant", "content": "Spark is a data processing engine."},
],
}
# Note: Using a primitive string is discouraged. The string will be wrapped in the
# OpenAI messages format before being passed to your agent.
],
"response": [
"Spark is a data analytics framework.",
"This is not possible as Spark is not a panda.",
],
"retrieved_context": [ # Optional, needed for judging groundedness.
[{"doc_uri": "doc1.txt", "content": "In 2013, Spark, a data analytics framework, was open sourced by UC Berkeley's AMPLab."}],
[{"doc_uri": "doc2.txt", "content": "To convert a Spark DataFrame to Pandas, you can use toPandas()"}],
],
"expected_response": [ # Optional, needed for judging correctness.
"Spark is a data analytics framework.",
"To convert a Spark DataFrame to Pandas, you can use the toPandas() method.",
]
}
global_guidelines = {
"english": ["The response must be in English"],
"clarity": ["The response must be clear, coherent, and concise"],
}
result = mlflow.evaluate(
data=pd.DataFrame(examples), # Your evaluation set
# model=logged_model.model_uri, # If you have an MLFlow model. `retrieved_context` and `response` will be obtained from calling the model.
model_type="databricks-agent", # Enable Mosaic AI Agent Evaluation
evaluator_config={
"databricks-agent": {"global_guidelines": global_guidelines}
}
)
# Review the evaluation results in the MLFLow UI (see console output), or access them in place:
display(result.tables['eval_results'])
Alternatif olarak, Databricks çalışma alanınızda aşağıdaki not defterini içeri aktarabilir ve çalıştırabilirsiniz:
Mozaik AI Aracısı Değerlendirme örneği not defteri
defter alma
Ajan Değerlendirme Girişleri ve Çıkışları
Aşağıdaki diyagramda Aracı Değerlendirmesi tarafından kabul edilen girişlere ve Aracı Değerlendirmesi tarafından oluşturulan ilgili çıkışlara genel bir bakış gösterilmektedir.
Girişler
Alan adları ve veri türleri de dahil olmak üzere Aracı Değerlendirmesi için beklenen girişin ayrıntıları için bkz. giriş şeması. Alanlardan bazıları şunlardır:
-
Kullanıcının sorgusu (
request
): Aracıya giriş (kullanıcının sorusu veya sorgusu). Örneğin, "RAG nedir?". -
Temsilcinin yanıtı (
response
): Temsilci tarafından oluşturulan yanıt. Örneğin, "Bilgi çekme destekli üretim ...". -
Beklenen yanıt (
expected_response
): (İsteğe bağlı) Bir temel gerçek (doğru) yanıtı. -
MLflow izleme verileri (
trace
): (İsteğe bağlı) Ajan Değerlendirmesi'nin, alınan bağlam veya araç çağrıları gibi ara çıktıları ayıkladığı MLflow izleme verileri. Alternatif olarak, bu ara çıkışları doğrudan sağlayabilirsiniz. -
Yönergeleri (
guidelines
): (İsteğe bağlı) Modelin çıkışının uyması beklenen yönergelerin veya adlandırılmış yönergelerin listesi.
Çıkışlar
Bu girişlere bağlı olarak, Aracı Değerlendirmesi iki tür çıkış üretir:
-
Değerlendirme Sonuçları (satır başına): Giriş olarak sağlanan her satır için Aracı Değerlendirmesi, aracınızın kalitesi, maliyeti ve gecikme süresiyle ilgili ayrıntılı bir değerlendirme içeren karşılık gelen bir çıkış satırı oluşturur.
- LLM yargıçları, kalitenin doğruluk veya temellendirme gibi farklı yönlerini kontrol eder, evet/hayır puanı verir ve bu puan için yazılı bir gerekçe sunar. Ayrıntılar için bkz . Kalite, maliyet ve gecikme süresi Aracı Değerlendirmesi tarafından nasıl değerlendirilir?
- LLM yargıçlarının değerlendirmeleri, bu satırın "başarılı" (yüksek kaliteli) veya "başarısız" (kalite sorunu var) olup olmadığını belirten genel bir puan oluşturmak için birleştirilir.
- Başarısız olan satırlar için temel bir neden belirlenir. Her kök neden, belirli bir LLM yargıcının değerlendirmesine karşılık gelir ve olası düzeltmeleri belirlemek için yargıcın rasyonalitesini kullanmanıza olanak sağlar.
- Maliyet ve gecikme süresi MLflow izlemesinden ayıklanır. Ayrıntılar için bkz . Maliyet ve gecikme süresi nasıl değerlendirilir?
- Ölçümler (toplam puanlar): Tüm giriş satırlarında aracınızın kalitesini, maliyetini ve gecikme süresini özetleyen toplu puanlar. Bunlar doğru yanıtların yüzdesi, ortalama belirteç sayısı, ortalama gecikme süresi ve daha fazlası gibi ölçümleri içerir. Ayrıntılar için bkz . Maliyet ve gecikme süresi nasıl değerlendirilir ve Ölçümler kalite, maliyet ve gecikme süresi için MLflow çalıştırması düzeyinde nasıl toplanır?
Geliştirme (çevrimdışı değerlendirme) ve üretim (çevrimiçi izleme)
Aracı Değerlendirmesi, geliştirme (çevrimdışı) ve üretim (çevrimiçi) ortamlarınız arasında tutarlı olacak şekilde tasarlanmıştır. Bu tasarım, yüksek kaliteli aracı uygulamaları hızla yinelemenize, değerlendirmenize, dağıtmanıza ve izlemenize olanak tanıyarak geliştirmeden üretime sorunsuz bir geçiş sağlar.
Geliştirme ve üretim arasındaki temel fark, üretimde gerçek etiketlerin mevcut olmaması, geliştirme aşamasında ise isteğe bağlı olarak gerçek etiketleri kullanabilmenizdir. Temel gerçeklik etiketlerini kullanmak, Aracı Değerlendirmesi'nin ek kalite ölçümlerini hesaplamasına olanak tanır.
Geliştirme (çevrimdışı)
Geliştirme aşamasında, requests
ve expected_responses
, değerlendirme kümesi'ten gelir. Değerlendirme kümesi, aracınızın doğru şekilde işleyebilmesi gereken temsili girişlerin bir koleksiyonudur. Değerlendirme kümeleri hakkında daha fazla bilgi için bkz . Değerlendirme kümeleri.
response
ve trace
almak için, Ajan Değerlendirmesi değerlendirme kümesindeki her satır için bu çıktıları oluşturmak amacıyla ajanınızın kodunu çağırabilir. Alternatif olarak, bu çıktıları kendiniz oluşturabilir ve Aracı Değerlendirmesi'ne iletebilirsiniz. Daha fazla bilgi için Değerlendirme çalıştırmasına nasıl giriş yapılacağı konusuna bakın.
Üretim (çevrimiçi)
Üretimde, Aracı Değerlendirmesine yönelik tüm girişler üretim günlüklerinizden gelir.
Yapay zeka uygulamanızı dağıtmak için Mozaik AI Aracısı Çerçevesi kullanıyorsanız Aracı Değerlendirmesi, İzleyici dağıtılan aracılarından bu girişleri otomatik olarak toplayacak ve bir izleme tablosunu sürekli güncelleştirecek şekilde yapılandırılabilir. Daha fazla ayrıntı için bkz. Yapay zeka uygulamanızı izleme rehberi.
Aracınızı Azure Databricks'in dışında dağıtırsanız, günlüklerinizi gerekli giriş şemasına ETL yapabilir ve benzer şekilde bir izleme panosu yapılandırabilirsiniz.
Değerlendirme kümesiyle kalite karşılaştırması oluşturma
Geliştirme aşamasında (çevrimdışı) bir yapay zeka uygulamasının kalitesini ölçmek için bir değerlendirme kümesi, yani bir dizi temsili soru ve isteğe bağlı temel-gerçek yanıtları tanımlamanız gerekir. Uygulama, RAG iş akışlarında olduğu gibi bir alma adımı içeriyorsa, isteğe bağlı olarak yanıtın temel alınmasını beklediğiniz destekleyici belgeler sağlayabilirsiniz.
- Ölçüm bağımlılıkları ve en iyi yöntemler de dahil olmak üzere değerlendirme kümeleri hakkında ayrıntılı bilgi için bkz . Değerlendirme kümeleri.
- Gerekli şema için bkz. Aracı Değerlendirme giriş şeması.
- Yüksek kaliteli bir değerlendirme kümesini yapay olarak oluşturma hakkında bilgi için bkz. Değerlendirme kümelerini sentezle.
Değerlendirme oturumları
Değerlendirme çalıştırma hakkında ayrıntılı bilgi için bkz. Değerlendirme çalıştırma vesonuçları görüntüleme. Aracı Değerlendirmesi, zincirin çıktısını sağlamak için iki seçeneği destekler.
- Uygulamayı değerlendirme çalıştırmasının bir parçası olarak çalıştırabilirsiniz. Uygulama, değerlendirme kümesindeki her giriş için sonuçlar oluşturur.
- Uygulamanın önceki bir çalıştırmasından sonuç alabilirsiniz.
Her seçeneğin ne zaman kullanılacağına ilişkin ayrıntılar ve açıklamalar için bkz. değerlendirme çalıştırmasına giriş sağlama.
Üretken bir yapay zeka uygulamasının kalitesi hakkında insan geri bildirimi alma
Databricks inceleme uygulaması, insan gözden geçirenlerden yapay zeka uygulamasının kalitesi hakkında geri bildirim toplamayı kolaylaştırır. Ayrıntılar için bkz. bir yapay zeka uygulamasının insan incelemeleri için gözden geçirme uygulamasını kullanma.
Mozaik AI Aracısı Değerlendirmesinin coğrafi kullanılabilirliği
Mozaik AI Ajanı Değerlendirmesi, müşteri içeriği işlenirken veri yerleşimini yönetmek için Geos kullanan bir Atanmış Hizmettir. Farklı coğrafi bölgelerde Aracı Değerlendirmesi'nin kullanılabilirliği hakkında daha fazla bilgi edinmek için Databricks Belirli Hizmetler'e bakın.
Fiyatlandırma
Fiyatlandırma bilgileri için Mosaic AI Agent Evaluation fiyatlandırması bölümüne bakın.
LLM yargıçlarını güçlendiren modeller hakkında bilgi
- LLM yargıçları, Microsoft tarafından sağlanan Azure OpenAI de dahil olmak üzere GenAI uygulamalarınızı değerlendirmek için üçüncü taraf hizmetleri kullanabilir.
- Azure OpenAI için Databricks, Kötüye Kullanım İzlemeye katılmama kararı almıştır, bu nedenle Azure OpenAI ile hiçbir istem veya yanıt depolanmaz.
- AVRUPA Birliği (AB) çalışma alanları için LLM yargıçları AB'de barındırılan modelleri kullanır. Diğer tüm bölgeler ABD'de barındırılan modelleri kullanır.
- Azure yapay zeka destekli yapay zeka destekli özellikleri devre dışı bırakmak, LLM yargıcının Azure yapay zeka destekli modelleri çağırmasını önler.
- LLM yargıcına gönderilen veriler hiçbir model eğitimi için kullanılmaz.
- LLM hakemleri, müşterilerin RAG uygulamalarını değerlendirmelerine yardımcı olmaya yöneliktir ve LLM hakem sonuçları bir LLM'yi eğitmek, iyileştirmek veya hassas ayar yapmak için kullanılmamalıdır.