Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Important
Databricks, GenAI uygulamalarını değerlendirmek ve izlemek için MLflow 3 kullanılmasını önerir. Bu sayfada MLflow 2 Aracı Değerlendirmesi açıklanmaktadır.
- MLflow 3'te değerlendirme ve izlemeye giriş için bkz. Yapay zeka aracılarını değerlendirme ve izleme.
- MLflow 3'e geçiş hakkında bilgi için bkz. Aracı Değerlendirmesi'nden MLflow 3'e geçiş.
- Bu konu hakkında MLflow 3 bilgileri için bkz. Yapay zeka aracılarını değerlendirme ve izleme.
Bu makalede, MLflow 2'yi temel alarak Aracı Değerlendirmesi ile çalışma hakkında genel bir bakış verilmektedir.
"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. Azure Databricks çalışma alanınızda çalıştırabileceğiniz benzer kodları içeren hızlı başlangıç not defteri için bkz. Örnek not defterleri.
Aşağıdakileri kopyalayıp mevcut Azure Databricks not defterinize yapıştırabilirsiniz:
%pip install mlflow==2.21.0 databricks-agents==0.16.0
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 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'])
Ajan Değerlendirme Girişleri ve Çıkışları
Inputs
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?". -
Ajanın yanıtı (
response): Ajan 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 izlemesi (
trace): (İsteğe bağlı) Aracı Değerlendirmesinin alınan bağlam veya araç çağrıları gibi ara çıkışları ayıkladığı MLflow izlemesi. Alternatif olarak, bu ara çıkışları doğrudan sağlayabilirsiniz. -
Yönergeler (
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üresine ilişkin 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 (MLflow 2) 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 (MLflow 2).
response ve trace almak için, Aracı Değerlendirmesi, değerlendirme kümesindeki her satır için bu çıkışları oluşturmak üzere aracı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 izleme hakkında bilgi için bkz. Üretimde GenAI uygulamalarını izleme. Bu MLflow 3 özelliği MLflow 2 denemeleriyle uyumludur. MLflow 2 denemesinde izlemeyi etkinleştirmek için MLflow 3 SDK'sını kullanarak yükleyin mlflow>=3.1.
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 (MLflow 2).
- Gerekli şema için bkz. Aracı Değerlendirme giriş şeması (MLflow 2).
- 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 ve sonuçları görüntüleme (MLflow 2). 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. Detaylar için Gen AI uygulamasının (MLflow 2) insan incelemeleri için inceleme uygulamasını nasıl kullanacağınıza bakın.
Ajan Değerlendirmesinin Coğrafi Kullanılabilirliği
Aracı Değerlendirmesi, müşteri içeriğini işlerken veri yerleşimi 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.
Pricing
Fiyatlandırma bilgileri için bkz. Aracı Değerlendirme fiyatlandırması.
LLM yargıçlarını güçlendiren modeller hakkında bilgi
- LLM hakimleri, Microsoft tarafından sağlanan Azure OpenAI 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 İzleme özelliğini kullanmamayı seçmiş ve bu nedenle Azure OpenAI ile hiçbir istem veya yanıt depolanmamaktadır.
- Coğrafi bölgeler arası işleme devre dışı bırakıldığında LLM, çalışma alanının Databricks Geo içindeki içeriği değerlendirir. Uygun coğrafi bölge modeli yoksa, yargıç coğrafi kısıtlama hatası döndürür. Coğrafi bölgeler arası işleme etkinleştirildiğinde LLM yargıçları diğer Coğrafi Bölgelerdeki içeriği işleyebilir.
- İş ortağı destekli yapay zeka özelliklerinin devre dışı bırakılması, LLM yargıcının iş ortağı tarafından desteklenen modelleri çağırmasını önler. Kendi modelinizi sağlayarak LLM yargıçlarını kullanmaya devam edebilirsiniz.
- LLM judge'ları, müşterilerin GenAI aracılarını/uygulamalarını değerlendirmesine yardımcı olmaya yöneliktir ve LLM judge çıktıları LLM'yi eğitmek, iyileştirmek veya ince ayar yapmak için kullanılmamalıdır.
Örnek not defterleri
Aşağıdaki belgeler, Araç Değerlendirmenin nasıl kullanılacağını göstermektedir.