Özel bir beceriyi verimli bir şekilde yaygınlaştırın.

Not

Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.

Özel beceriler, belirli bir arabirimi uygulayan web API'leridir. Genel olarak ele alınabilen herhangi bir kaynağa özel bir beceri uygulanabilir. Özel beceriler için en yaygın uygulamalar şunlardır:

  • Özel mantık becerileri için Azure İşlevleri
  • Basit kapsayıcılı yapay zeka becerileri için Azure Web Apps
  • Daha karmaşık veya daha büyük beceriler için Azure Kubernetes Service.

Beceri kümesi yapılandırması

Özelleştirilmiş bir beceride aşağıdaki özellikler ölçek için kullanılır. Özel becerinin uygulaması gereken giriş ve çıkışlara giriş için özel beceri arabirimini gözden geçirin.

  1. Özel beceride, tek bir beceri çağrısında gönderilen kayıt sayısını yapılandırmak için batchSize ayarlayın.

  2. Dizin oluşturucunun degreeOfParallelism becerinize yaptığı eşzamanlı istek sayısını ayarlamak için ayarlayın.

  3. Becerinin geçerli bir yanıt döndürmesi için yeterli bir değere ayarlayın timeout .

  4. Tanım içinde, indexer’yi veri kaynağından okunması ve aynı anda zenginleştirilmesi gereken belge sayısına batchSize olarak ayarlayın.

Dikkat edilmesi gereken noktalar

Herkese uygun tek bir öneri yoktur. En iyi sonucu elde etmek için farklı yapılandırmaları test etmek için planlayın. Ölçeği artırma stratejileri, az sayıda büyük istek veya çok sayıda küçük istek temel alınarak oluşturulur.

  • Beceri çağırma kardinalitesi: Özel becerinin her belge için bir kez mi (/document/content) yoksa belge başına birden çok kez mi (/document/reviews_text/pages/*) yürütülüp yürütülmeyeceğini bildiğinizden emin olun. Belge başına birden fazla kez olursa, değişkenliği azaltmak için batchSize ve degreeOfParallelism aralığının alt ucunda kalın ve daha fazla ölçek sağlamak için dizinleyici toplu iş boyutunu kademeli olarak artırmayı deneyin.

  • Özel beceri batchSize ve dizin oluşturucu batchSize ile koordine edin ve tıkama noktaları oluşturmadığınızdan emin olun. Örneğin, dizin oluşturucu toplu iş boyutu 5 ve beceri toplu iş boyutu 50 ise, özel beceri isteğini doldurmak için 10 dizin oluşturucu toplu işlemi gerekir. İdeal olarak, beceri toplu iş boyutu, dizin oluşturucu toplu iş boyutuna eşit ya da ondan küçük olmalıdır.

  • için degreeOfParallelism, dizin oluşturucu toplu işleminin bu değeri nasıl ayarladığınıza yol göstermek için oluşturabileceği ortalama istek sayısını kullanın. Beceriyi barındıran altyapı (örneğin, bir Azure İşlevi) yüksek eşzamanlılık düzeylerini destekleyemiyorsa paralellik derecesini azaltmayı göz önünde bulundurun. Ortalama istek sayısı hakkında bilgi sahibi olduğunuzu doğrulamak için yapılandırmanızı birkaç belgeyle test edebilirsiniz.

  • Amacınız yüksek hacimleri ölçeklendirmek ve desteklemek olsa da, daha küçük bir belge örneğiyle test etmek, farklı yürütme aşamalarının ölçülmesine yardımcı olur. Örneğin, belge alt kümesini işlemek için gereken genel süreye göre becerinizin yürütme süresini değerlendirebilirsiniz. Bu, şu soruyu yanıtlamanıza yardımcı olur: Dizin oluşturucunuz toplu iş oluşturmaya mı yoksa becerinizden yanıt beklemeye mi daha fazla zaman harcıyor?

  • Paralelliğin yukarı akış etkilerini göz önünde bulundurun. Özel beceriye giriş, önceki becerilerden bir çıkışsa, beceri kümesindeki tüm becerilerin ölçeği, gecikme süresini en aza indirmek için etkili bir şekilde genişletilir mi?

Özel yetenekte hata yönetimi

Özel beceriler, beceri başarıyla tamamlandığında HTTP 200 başarı durum kodunu döndürmelidir. Toplu işlemdeki bir veya daha fazla kayıt hataya neden olursa, çok durumlu kod 207'yi döndürmeyi göz önünde bulundurun. Kaydın hatalar veya uyarılar listesi uygun iletiyi içermelidir.

Toplu işlemdeki hatalara neden olan herhangi bir öğe, ilgili belgenin başarısız olmasına neden olur. Belgenin başarılı olması gerekiyorsa bir uyarı döndürebilirsiniz.

299'un üzerindeki tüm durum kodları hata olarak değerlendirilir ve tüm zenginleştirmeler başarısız olur ve belge başarısız olur.

Genel hata iletileri

  • Could not execute skill because it did not execute within the time limit '00:00:30'. This is likely transient. Please try again later. For custom skills, consider increasing the 'timeout' parameter on your skill in the skillset. Daha uzun bir yürütme süresine izin vermek için beceride zaman aşımı parametresini ayarlayın.

  • Could not execute skill because Web Api skill response is invalid. Özel beceri yanıtı formatında bir mesaj döndürmeyen becerinin göstergesi. Bu, becerideki yakalanmamış bir özel durumun sonucu olabilir.

  • Could not execute skill because the Web Api request failed. Büyük olasılıkla yetkilendirme hatalarından veya özel durumlardan kaynaklanıyordur.

  • Could not execute skill. Genellikle belge hiyerarşisindeki mevcut bir özelliğe eşlenen beceri yanıtının sonucu.

Özel becerileri test etme

Doğrulamak için bir REST API istemcisiyle özel becerinizi test ederek başlayın:

  • Beceri, istekler ve yanıtlar için özel beceri arabirimini uygular

  • Beceri, MIME türüyle application/json geçerli JSON döndürür

  • Beceri geçerli bir HTTP durum kodu döndürür

Beceri kümesine bir beceri eklemek ve geçerli bir zenginleştirme sağladığını doğrulamak için bir hata ayıklama oturumu oluşturun. Hata ayıklama oturumu becerinin performansını ayarlamanıza izin vermese de, becerinin geçerli değerlerle yapılandırıldığından ve beklenen zenginleştirilmiş nesneleri döndürdüğünden emin olmanıza olanak tanır.

En iyi yöntemler

  • Beceriler daha büyük yükleri kabul edebilir ve döndürebilir ancak JSON döndürürken yanıtı 150 MB veya daha azla sınırlamayı göz önünde bulundurun.

  • Her veri kaynağı toplu işleminin beceriniz için tam yük oluşturduğundan emin olmak için dizin oluşturucuda ve beceride toplu iş boyutunu ayarlamayı göz önünde bulundurun.

  • Uzun süre çalışan görevler için, belgeleri eşzamanlı olarak işlerken dizin oluşturucunun hata vermediğinden emin olmak için zaman aşımını yeterince yüksek bir değere ayarlayın.

  • Dizin oluşturucu toplu iş boyutunu, beceri toplu iş boyutunu ve beceri paralellik derecelerini, becerinizin beklediği yük düzenini oluşturmak için iyileştirin: Daha az sayıda büyük istek ya da çok sayıda küçük istek.

  • Veri değişkenliği belirli isteklerin tutarlı bir şekilde başarısız olmasına neden olabileceğinden, ayrıntılı hata günlükleriyle özel becerileri izleyin.