İstem akışı SDK'sı ile uygulamanızı izleme | Azure AI Studio
Önemli
Bu makalede işaretlenen (önizleme) öğeler şu anda genel önizleme aşamasındadır. Bu önizleme, hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.
İzleme, geliştiricilere aracılar, AutoGen ve alma artırılmış üretim (RAG) kullanım örnekleri gibi üretken yapay zeka uygulamalarının yürütme sürecini derinlemesine anlama olanağı sunan güçlü bir araçtır. Uygulama içindeki her düğümün girişleri ve çıkışları dahil olmak üzere yürütme akışının ayrıntılı bir görünümünü sağlar. Bu temel bilgiler karmaşık uygulamalarda hata ayıklarken veya performansı iyileştirirken kritik önem taşır.
Daha fazla geliştirici LLM tabanlı uygulamalar oluşturmak için Langchain, Semantic Kernel, OpenAI ve çeşitli aracı türleri gibi çeşitli çerçeveler kullanıyor. İstem akışı SDK'sı ile izleme, LLM tabanlı uygulamalar için gelişmiş görünürlük ve basitleştirilmiş sorun giderme sunar; geliştirme, yineleme ve üretim izlemeyi etkili bir şekilde destekler. AI Studio'da izleme, OpenTelemetry belirtimini izler ve tüm yapay zeka uygulamalarının iç yürütme ayrıntılarını yakalayıp görselleştirerek genel geliştirme deneyimini geliştirir.
Kurumsal düzeyde bulut platformunda AI Studio izlemenin avantajları
Ayrıca artık kurumsal düzeyde bulut platformu olan AI Studio'da kalıcı yerel testler seçerek işbirliğini, kalıcılığı ve test geçmişi yönetimini önemli ölçüde geliştiriyoruz.
İzleme ile şunları yapabilirsiniz:
- Geçmiş testlerinizi kalıcı hale getirmek ve izlemek için bulut tabanlı bir konuma sahip olun.
- Farklı test çalışmalarının çıkışlarını karşılaştırarak test sonuçlarını kolayca ayıklayın ve görselleştirin.
- Önceki test varlıklarınızı daha sonraki kullanımlar için (örneğin, insan geri bildirimi, veri kürasyonu vb.) yeniden kullanın.
- Gelecekte daha iyi kaynak kullanımını kolaylaştırın.
- Uygulamanızda kolayca hata ayıklama ve iyileştirme. LLM uygulama senaryolarında hata ayıklamaya başlamak için BKZ . LLM uygulamasıyla izleme
- RAG uygulamalarında alma ve oluşturma süreçlerini analiz etme.
- Çok aracılı senaryolarda çok aracılı etkileşimleri gözlemleyin. Çok aracılı senaryolarda izlemeyi kullanmaya başlamak için AutoGen ile İzleme bölümüne bakın.
Uygulamalarınızın izlemelerini günlüğe kaydetme ve görüntüleme
AI Studio, LLM uygulama testlerinizi ve değerlendirmelerinizi günlüğe kaydetmek ve yönetmek için izleme özelliği sağlarken izleme görünümünde detaya giderek hata ayıklama ve gözlemleme sağlar.
Bugün herhangi bir uygulama özelliğini izleme özelliği, kullanıcının LLM çağrısını veya işlevini ve Kullandığınız çerçeveden bağımsız olarak LangChain ve AutoGen gibi LLM çerçevelerini OpenTelemetry belirtimini izleyerek izlemesini sağlamak için istem akışı açık kaynak paketinde uygulanır.
Uygulamanızda izlemeyi etkinleştirme
Önce kod - komut istemi akışında izleme için kodunuz için ek açıklama eklediğinizden emin olun!
- İstem akışı yükleniyor: istem akışı izlemesi gerektir
- Uygulama kodunuzu izleme: ve
start_trace()
kullanarak@trace
. - İzlemeyi yerel olarak test edin ve görüntüleyin
İstem akışında izleme hakkında daha fazla ayrıntı için lütfen bu istem akışı belgelerine bakın.
İzlemeyi AI Studio'da günlüğe kaydetme
İzleme hedefini ayarlama
Varsayılan olarak izleme günlüğe kaydedilir ve yerel ortamınızda görüntülenir. Bunu buluttaki AI Studio'da günlüğe kaydetmek için öğesini belirtilen AI Studio projesine trace destination
ayarlamanız gerekir.
İzleme hedefini AI Studio projesine ayarlamak için aşağıdaki adımlara başvurabilirsiniz.
İlk olarak, Azure CLI'nın yüklü ve oturum açmış olduğundan emin olun:
az login
Ardından, izleme hedefini ayarlamak için aşağıdaki komutu yürütür. , <your_resourcegroup_name>
ve <your_studio_project_name>
öğesini kendi abonelik kimliğiniz, kaynak grubu adınız ve AI Studio proje adınızla değiştirin<your_subscription_id>
:
pf config set trace.destination=azureml://subscriptions/<your_subscription_id>/resourcegroups/<your_resourcegroup_name>/providers/Microsoft.MachineLearningServices/workspaces/<your_studio_project_name>
Not
Batı ABD 3 (westus3
) bölgesi izlemeyi desteklemez.
Koleksiyonlar
Koleksiyon, ilişkili izlemelerden oluşan bir gruptur. AI Studio'da bu koleksiyonlar ve iç izlemeleri, Koleksiyonlar sekmesinin altındaki İzleme modülünde yönetilir ve depolanır.
Sol bölmeden İzleme'yi seçin. Koleksiyonlar sekmesini görebilirsiniz. Koleksiyon listesinde yalnızca kendi koleksiyonlarınızı görebilirsiniz. Bu örnekte henüz koleksiyon yok.
Koleksiyon sekmesinde, oluşturduğunuz tüm koleksiyonların kapsamlı bir listesi görüntülenir. Her koleksiyon için adı, çalışma konumu, son güncelleştirme zamanı ve oluşturma zamanı gibi temel meta verileri gösterir.
- Çalıştırma konumu: Uygulamanın yerel olarak mı yoksa bulutta mı çalıştığını gösterir. Bulut koleksiyonu, belirli istem akışı bulut yazma test geçmişi ve oluşturulan izlemelerle ilişkilendirilir. Bu durumda, koleksiyon adı istem akışı görünen adıyla aynıdır.
- Güncelleştirme tarihi: Yeni bir izlemenin bir koleksiyona en son ne zaman günlüğe kaydedildığını gösterir. Varsayılan olarak, koleksiyonlar güncelleştirilmiş zamanlarına göre azalan düzende sıralanır.
- Oluşturma tarihi: Koleksiyonun ilk oluşturulduğu saat.
Bir koleksiyonun adını seçerek, bu koleksiyondaki tüm izlemelerin listesine erişebilirsiniz. İzlemelerin yalnızca bir alt kümesi başkalarıyla paylaşılabilir. Daha fazla bilgi için paylaşım izlemesine bakın.
İzlemeyi günlüğe kaydettiğinizde, bunu diğer ilgili izlemelerle gruplandırmak için bir koleksiyon adı belirtme seçeneğiniz vardır. İzlemelerinizin daha iyi düzenlenmesi için birden çok koleksiyon oluşturabilirsiniz. İzleme günlüğe yazılırken koleksiyon adı belirtilmezse, varsayılan olarak proje klasörü adına veya varsayılan koleksiyona atanır.
Koleksiyonları özelleştirme
İzlemelerinizin daha iyi düzenlenmesi için, izleme günlüğe kaydetme sırasında özel bir koleksiyon adı belirtebilirsiniz.
Kendi uygulamanızı izliyorsanız, kodunuzda işlevde start_trace()
koleksiyon adını ayarlayabilirsiniz:
from promptflow.tracing import start_trace, trace
@trace
def my_function(input: str) -> str:
output = input + "Hello World!"
return output
my_function("This is my function")
start_trace(collection="my_custom_collection")
Koleksiyonları özelleştirme hakkında daha fazla ayrıntı için lütfen izleme öğreticisi ve istem akışı komutuna bakın.
İzlemeleri görüntüleme
İlk olarak, buluttaki izlemeleri görüntülemek için önceki adımları tamamlamanız gerekir:
- Uygulamanızda izlemeyi etkinleştirin.
- Bulut izleme hedefini ayarlayın.
Şimdi python betiğinizi doğrudan çalıştırın. Başarılı bir yürütmenin ardından çıkışta bir bulut izleme bağlantısı görüntülenir. Şuna benzer olacaktır:
Starting prompt flow service...
...
You can view the traces in cloud from AI Studio: https://ai.azure.com/projecttrace/detail/....
Bulut portalında bir izleme ayrıntı sayfasına gitmek için URL'yi seçme. Bu sayfa, yerel izleme görünümüne benzer.
İzleme ayrıntısı görünümü , uygulamanızdaki işlemlere kapsamlı ve yapılandırılmış bir genel bakış sağlar.
İzleme ayrıntı görünümünü anlama
İzleme görünümünün sağ üst köşesinde şunları bulursunuz:
- İzleme adı: Bu, uygulamanızın giriş işlev adını temsil eden kök yayılma adıyla aynıdır.
- Durum: Bu "tamamlandı" veya "başarısız" olabilir.
- Toplam süre: Bu, test yürütmesinin toplam süresidir. Başlangıç ve bitiş saatlerini görüntülemek için üzerine gelin.
- Toplam belirteç sayısı: Bu, testin toplam belirteç maliyetidir. İstem belirteçlerini ve tamamlanan belirteçleri görüntülemek için üzerine gelin.
- Oluşturulma zamanı: İzlemenin oluşturulduğu saat.
Sol tarafta hiyerarşik ağaç yapısı görebilirsiniz. Bu yapı işlev çağrılarının sırasını gösterir. Her işlev çağrısının meta verileri aralıklar halinde düzenlenir. Bu span'lar ağaç benzeri bir yapıda birbirine bağlanır ve yürütme sırasını gösterir.
İstem akışı SDK'sında LLM, İşlev, Ekleme, Alma ve Akış gibi çeşitli yayılma türleri tanımladık. Ayrıca sistem, belirlenen özniteliklerde ve olaylarda yürütme bilgileriyle otomatik olarak span'lar oluşturur.
Her yayılma alanı şunları görüntülemenizi sağlar:
- İşlev adı: Varsayılan olarak, kodunuzda tanımlanan işlevin adıdır. Ancak, Açık Telemetri aracılığıyla tanımlanan özelleştirilmiş bir yayılma alanı adı da olabilir.
- Süre: Bu, işlevin çalıştırıldığı süreyi temsil eder. Başlangıç ve bitiş saatlerini görüntülemek için üzerine gelin.
- LLM çağrıları için belirteçler: Bu, LLM çağrısının belirteç maliyetidir. İstem belirteçlerini ve tamamlanan belirteçleri görüntülemek için üzerine gelin.
Belirli bir yayılma alanını seçerek ilgili ayrıntılı bilgileri sağ tarafta görüntülemeye geçiş yapabilirsiniz. Bu bilgiler giriş, çıkış, ham JSON, günlükler ve özel durumları içerir. Bu bilgiler uygulamanızı gözlemlemek ve hata ayıklamak için gereklidir.
LLM yayılma alanı için net bir konuşma görünümü sağlanır. Buna sistem istemi, kullanıcı istemi ve yardımcı yanıtı dahildir. Bu bilgiler, konuşmanın akışını ve LLM ara otomatik arama içindeki etkileşimi anlamanıza olanak sağladığından, çok aracılı durumlarda özellikle çok önemlidir.
Yayılma alanının json verilerini görüntülemek için ham JSON sekmesini seçebilirsiniz. Bu biçim, hata ayıklama ve sorun giderme konusunda geliştiriciler için daha uygun olabilir.
İzlemeyi paylaşma
İzlemeyi proje izni olan diğer kişilerle paylaşmak istiyorsanız, izleme ayrıntı sayfasının sağ köşesindeki Paylaş düğmesini seçebilir ve sayfa bağlantısını başkalarıyla paylaşmak üzere kopyalamış olursunuz.
Not
Paylaşılan izleme salt okunurdur ve yalnızca proje izni olan kişiler bağlantıyı kullanarak görüntüleyebilir.