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.
Yalnızca şunlar için geçerlidir:Dökümhane (klasik) portalı. Bu makale yeni Dökümhane portalında kullanılamaz.
Yeni portal hakkında daha fazla bilgi edinin.
Not
Bu makaledeki bağlantılar, şu anda görüntülediğiniz Dökümhane (klasik) belgeleri yerine yeni Microsoft Foundry belgelerinde içerik açabilir.
Uyarı
Microsoft Foundry ve Azure Machine Learning'daki istem akışı 20 Nisan 2027'de kullanımdan kaldırılacaktır. Prompt flow artık yeni geliştirmelerde önerilmemektedir. Mevcut prompt akışı uygulamalarını ve dağıtımlarını 20 Nisan 2027'den önce Microsoft Agent Framework'e geçirin.
Prompt flow kapsayıcı imajları, güvenlik ve paket güncellemeleri dahil, artık güncelleme almıyor. Bu, promptflow-runtime, promptflow-runtime-stable ve promptflow-python dahil olmak üzere Prompt flow çalışma zamanı görüntüleri için geçerlidir.
20 Nisan 2027'den sonra, Microsoft Foundry ve Azure Machine Learning’deki web tabanlı yazma deneyimi, VS Code uzantıları ve ilgili Prompt flow kapsayıcı görüntüleri dahil olmak üzere Prompt flow artık desteklenmeyecek veya kullanılamayacaktır.
Uygulamanız istem akışı dağıtımlarına veya çalışma zamanı görüntülerine bağımlıysa, bu iş yüklerini kullanımdan kaldırma tarihinden önce Microsoft Agent Framework gibi desteklenen alternatiflere taşımayı planlayın. Geçiş yönergeleri için bkz. Prompt flow geçiş kılavuzu ve geçiş kod örnekleri.
Değerlendirme akışları, çalıştırma çıktılarının belirli ölçütler ve hedeflerle ne kadar uyumlu olduğunu değerlendiren özel akış türleridir.
İstem akışında, görevlerinize ve hedeflerinize göre uyarlanmış kendi değerlendirme akışınızı özelleştirebilir veya oluşturabilir ve ardından diğer akışları değerlendirmek için kullanabilirsiniz. Bu belgede şunu öğrenirsiniz:
- Değerlendirme yöntemi geliştirme.
- İstem akışı değerlendirmeleri için girişleri, çıkışları ve loglama ölçümlerini anlayın.
Önkoşullar
Önemli
Bu makale, merkez tabanlı projeler için eski sistem desteği sağlar. Foundry projeleri için çalışmaz. Bkz. Ne tür bir projem olduğunu nasıl bilebilirim?
SDK uyumluluk notu: Kod örnekleri için belirli bir Microsoft Döküm SDK'sı sürümü gerekir. Uyumluluk sorunlarıyla karşılaşırsanız hub tabanlı bir projeden Foundry projesine geçiş yapmayı göz önünde bulundurun.
- Etkin aboneliği olan bir Azure hesabı. Hesabınız yoksa ücretsiz deneme aboneliği içeren bir
free Azure hesabı oluşturun. - Bir projeniz yoksa merkez tabanlı bir proje oluşturun.
Değerlendirme yöntemi geliştirmeye başlama
Kendi değerlendirme yöntemlerinizi geliştirmenin iki yolu vardır:
Yerleşik Değerlendirme Akışını Özelleştirme: Yerleşik değerlendirme akışını değiştirme.
- Oluştur ve özelleştir'in altında İstem akışı'ni seçin.
- Akış oluşturma sihirbazını açmak için Oluştur'u seçin.
- Araştırma galerisi altındaki akış galerisinde Değerlendirme akışı'nı seçerek bu türe göre filtreleyin. Özelleştirme yapmak için bir örnek seçin ve Klonla'yı seçin.
Sıfırdan Yeni Bir Değerlendirme Akışı Oluşturma: Baştan sona yepyeni bir değerlendirme yöntemi geliştirin.
- Oluştur ve özelleştir'in altında İstem akışı'ni seçin.
- Akış oluşturma sihirbazını açmak için Oluştur'u seçin.
- "Değerlendirme akışı" kutusundaki Türe göre oluştur'un altındaki akış galerisinde Oluştur'u seçin, ardından değerlendirme akışı şablonunu görebilirsiniz.
Komut akışında değerlendirmeyi anlamak
İstem akışında akış, bir girişi işleyen ve çıkış oluşturan bir düğüm dizisidir. Değerlendirme akışları da gerekli girişleri alır ve ilgili çıkışları üretir.
Değerlendirme yöntemlerinin bazı özel özellikleri şunlardır:
- Bunlar genellikle test edilecek çalıştırmadan sonra çalışır ve bu çalıştırmadan çıkışlar alır.
- Test edilecek çalıştırmanın çıkışlarının dışında isteğe bağlı olarak ilgili temel gerçekleri içerebilecek başka bir veri kümesi alabilirler.
- Tek tek puanlara göre test edilen akışın genel performansını hesaplayan bir toplama düğümüne sahip olabilirler.
-
log_metric()fonksiyonunu kullanarak ölçümleri kaydedebilirler.
Değerlendirme yöntemleri geliştirmede girişlerin ve çıkışların nasıl tanımlanması gerektiğini tanıtıyoruz.
Giriş
Değerlendirme, bu çalıştırmanın çıkışlarının belirli ölçütler ve hedeflerle ne kadar uyumlu olduğunu değerlendirmek için başka bir çalıştırmadan sonra çalışır. Bu nedenle değerlendirme, bu çalıştırmadan oluşturulan çıkışları alır.
Veri kümesinden gelen temel gerçeklik gibi diğer girişler de gerekebilir. Varsayılan olarak değerlendirme, test çalıştırmasına sağlanan test veri kümesiyle aynı veri kümesini kullanır. Ancak, karşılık gelen etiketler veya hedef gerçek değerleri farklı bir veri kümesindeyse, buna kolayca geçiş yapabilirsiniz.
Bu nedenle, bir değerlendirme çalıştırmak için bu gerekli girişlerin kaynaklarını belirtmeniz gerekir. Bunu yapmak için, değerlendirme gönderirken bir "giriş eşlemesi" bölümü görürsünüz.
- Veri kaynağı çalıştırma çıkışınızdan geliyorsa, kaynak şu şekilde gösterilir:
${run.output.[OutputName]} - Veri kaynağı test veri kümenizden geliyorsa, kaynak şu şekilde gösterilir:
${data.[ColumnName]}
Not
Değerlendirmeniz veri kümesinden veri gerektirmiyorsa, veri kümesi seçiminin isteğe bağlı bir yapılandırma olduğunu belirten giriş eşlemesi bölümündeki veri kümesi sütunlarına başvurmanız gerekmez. Veri kümesi seçimi değerlendirme sonucunu etkilemez.
Giriş açıklaması
Ölçümleri hesaplamak için hangi girişlerin gerekli olduğunu anımsatmak için her gerekli giriş için bir açıklama ekleyebilirsiniz. Kaynaklar toplu çalıştırma gönderiminde eşlenirken açıklamalar görüntülenir.
Her giriş için açıklama eklemek için değerlendirme yönteminizi geliştirirken giriş bölümünde Açıklamayı göster'i seçin. Açıklamayı gizlemek için "Açıklamayı gizle" seçeneğini belirleyebilirsiniz.
Ardından bu açıklama, toplu çalıştırma gönderiminde bu değerlendirme yöntemi kullanılırken görüntülenir.
Çıkışlar ve ölçümler
Değerlendirmenin çıkışları, test edilen akışın performansını ölçen sonuçlardır. Çıkış genellikle puanlar gibi ölçümler içerir ve ayrıca akıl yürütme ve öneriler için metin içerebilir.
Örnek düzeyinde puanlama çıktıları
İstem akışında, her örnek veri kümesi tek tek işlenir ve bir çıkış kaydı oluşturulur. Benzer şekilde, çoğu değerlendirme örneğinde, her çıkış için bir ölçüm vardır ve akışın her bir veri üzerinde nasıl performans göstereceğini denetlemenize olanak tanır.
Her veri örneğinin puanını kaydetmek amacıyla, her çıkışın puanını hesaplayın ve çıkış bölümüne yerleştirerek puanı akış çıkışı olarak günlüğe ekleyin. Bu yazma deneyimi, standart akış çıkışı tanımlamayla aynıdır.
line_process düğümünde bu puanı hesaplıyoruz. Türüne göre oluşturma yaparken bu düğümü sıfırdan oluşturabilir ve düzenleyebilirsiniz. Puanı hesaplamak için LLM'yi kullanmak için bu python düğümünü bir LLM düğümüyle de değiştirebilirsiniz.
Bu değerlendirme yöntemi başka bir akışı değerlendirmek için kullanıldığında, örnek düzeyi puanı Genel Bakış>Çıktısı sekmesinde görüntülenebilir.
Metrik günlüğü ve toplama düğümü
Ayrıca, çalışma için genel bir puan sağlamak da önemlidir. "toplama olarak ayarla" seçeneğini bir değerlendirme akışındaki Python düğümünü bir "azalt" düğümüne dönüştürmek için kontrol edebilirsiniz, böylece node girişleri bir liste olarak alabilir ve toplu işleme tabi tutabilir.
Bu şekilde, her akış çıkışının tüm puanlarını hesaplayabilir ve işleyebilir ve her değişken için genel bir sonuç hesaplayabilirsiniz.
Prompt flow_sdk.log_metrics() kullanarak bir toplama düğümündeki ölçümleri günlüğe kaydedebilirsiniz. Ölçümler sayısal olmalıdır (float/int). String türü metrik kaydı desteklenmez.
aggregate düğümünde bu puanı hesaplıyoruz, bu düğümü türe göre oluştururken sıfırdan oluşturabilir ve düzenleyebilirsiniz. Puanı hesaplamak için LLM'yi kullanmak için bu Python düğümünü bir LLM düğümüyle de değiştirebilirsiniz. Değerlendirme akışında log_metric API'sini kullanmak için aşağıdaki örneğe bakın.
from typing import List
from promptflow import tool, log_metric
@tool
def calculate_accuracy(grades: List[str], variant_ids: List[str]):
aggregate_grades = {}
for index in range(len(grades)):
grade = grades[index]
variant_id = variant_ids[index]
if variant_id not in aggregate_grades.keys():
aggregate_grades[variant_id] = []
aggregate_grades[variant_id].append(grade)
# calculate accuracy for each variant
for name, values in aggregate_grades.items():
accuracy = round((values.count("Correct") / len(values)), 2)
log_metric("accuracy", accuracy, variant_id=name)
return aggregate_grades
bu işlevi Python düğümünde çağırdığınız gibi başka bir yere atamanız gerekmez ve ölçümleri daha sonra görüntüleyebilirsiniz. Bu değerlendirme yöntemi toplu çalıştırmada kullanıldığında, örnek düzeyi puanı Genel Bakış-Ölçümler> sekmesinde görüntülenebilir.