Mozaik Yapay Zeka Aracısı Değerlendirmesi nedir?
Önemli
Bu özellik Genel Önizlemededir.
Bu makalede Mozaik Yapay Zeka Aracısı Değerlendirmesi ile çalışma hakkında genel bir bakış sunun. 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.
Aracı Değerlendirmesi Nasıl yaparım? kullanılır?
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 parçası olan LLM yargıçları tarafından hesaplanan değerlendirme puanlarına sahip bir veri çerçevesi 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."
}],
},
# Primitive string format
# Note: Using a primitive string is discouraged. The string will be wrapped in the
# OpenAI messages format before being passed to your agent.
"How do I convert a Spark DataFrame to Pandas?"
],
"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.",
]
}
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
)
# 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
Aracı 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 giriş şemasına bakın. 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?". - Aracının yanıtı (
response
): Aracı tarafından oluşturulan yanıt. Örneğin, "Alma artırılmış oluşturma ...". - 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.
Çı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 topraklama gibi farklı yönlerini kontrol eder, evet/hayır puanı ve bu puan için yazılı bir gerekçe oluşturur. 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 bir kök neden tanımlanır. 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 zemin-gerçeklik etiketlerine sahip olmaması, geliştirme aşamasındayken isteğe bağlı olarak yer gerçeği etiketlerini 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 ve requests
expected_responses
bir değerlendirme kümesinden 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.
ve trace
almak response
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 çıkışları kendiniz oluşturabilir ve Aracı Değerlendirmesi'ne geçirebilirsiniz. Daha fazla bilgi için bkz . Değerlendirme çalıştırmasına giriş sağlama.
Ü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'ni kullanırsanız Aracı Değerlendirmesi aracı tarafından geliştirilmiş çıkarım tablolarından bu girişleri otomatik olarak toplayacak ve bir izleme panosunu sürekli güncelleştirecek şekilde yapılandırılabilir. Daha fazla ayrıntı için bkz . Üretim trafiğinde aracınızın kalitesini izleme.
Aracınızı Azure Databricks dışında dağıtırsanız, günlüklerinizi gerekli giriş şemasına ETL olarak ekleyebilir 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ı.
Değerlendirme çalıştırmaları
Değerlendirme çalıştırma hakkında ayrıntılı bilgi için bkz . Değerlendirmeyi çalıştırma ve sonuçları görüntüleme. Aracı Değerlendirmesi, zincirden çıkış 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 çıkış sağlayabilirsiniz.
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.
GenAI 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 . Aracı bir uygulamanın kalitesi hakkında geri bildirim alma.
Yardımcı özelliklerinin coğrafi kullanılabilirliği
Mozaik AI Aracısı 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ğerlendirmesinin kullanılabilirliği hakkında daha fazla bilgi edinmek için bkz . Databricks Atanan Hizmetler.
Fiyatlandırma
Fiyatlandırma bilgileri için bkz . Mozaik AI Aracısı Değerlendirmesi fiyatlandırması.
Sınırlama
Aracı Değerlendirmesi HIPAA özellikli çalışma alanlarında kullanılamaz.
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, Azure OpenAI ile hiçbir istem veya yanıt depolanmaması için Kötüye Kullanım İzlemeyi geri çevirmiştir.
- 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 yargıçları, müşterilerin RAG uygulamalarını değerlendirmelerine yardımcı olmaya yöneliktir ve LLM yargıç çıkışları bir LLM'yi eğitmek, iyileştirmek veya hassas ayar yapmak için kullanılmamalıdır.