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.
Note
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.
Beceri kümesi, görüntü veya ham içerik içeren belgelerden vektör ve metinsel içerik ve yapı oluşturan işlemleri tanımlar. Örnek olarak öbek oluşturma becerileri, ekleme (vektörleştirme) becerileri, görüntü sözelleştirme ve resimler için optik karakter tanıma (OCR), fark edilmeyen metinler için varlık tanıma ve metin çevirisi gibi diğer işlemler verilebilir. Dış veri kaynağından ham içerik ayıklandıktan ve alan eşlemeleri işlendikten sonra beceri kümesi yürütülür.
Bu makalede REST API'lerini kullanarak beceri kümesinin nasıl oluşturulacağı açıklanır, ancak aynı kavramlar ve adımlar diğer programlama dilleri için de geçerlidir.
Beceri kümesi tanımı kuralları şunlardır:
- Beceri kümesi koleksiyonu içinde benzersiz bir ada sahip olmalıdır. Beceri kümesi, tüm dizin oluşturucuların kullanabileceği üst düzey bir kaynaktır.
- En az bir beceriye sahip olmalıdır. 3-5 beceri tipik bir durum. Maksimum değer 30'dur.
- Beceri kümesi aynı türdeki becerileri tekrarlayabilir. Örneğin, bir beceri seti birden çok şekillendirici beceri içerebilir.
- Beceri kümesi zincirleme işlemleri, döngüleri ve dallanmaları destekler.
Dizin oluşturucuya bir beceri kümesi ekleyin. Beceri kümesini kullanmak için dizin oluşturucuda buna başvurun ve ardından dizin oluşturucuyu çalıştırarak verileri içeri aktarın, beceri işlemeyi çağırın ve bir dizine çıkış gönderin. Beceri kümesi üst düzey bir kaynaktır, ancak yalnızca dizin oluşturucu işlemesi içinde çalışır. Üst düzey bir kaynak olarak, birden çok dizin oluşturucuda bu kaynağa başvurabilirsiniz.
Tip
İşlediğiniz içeriği yeniden kullanmak ve geliştirme maliyetini düşürmek için zenginleştirme önbelleğini (önizleme) etkinleştirin.
Beceri kümesi tanımı ekleme
Beceri kümesi oluşturduğunuzda, bunu arama hizmetinize eklersiniz. Bir beceri kümesini güncelleştirdiğinizde, mevcut beceri kümesini istek gövdesindeki içerikle tamamen üzerine yazarsınız. Beceri kümesini güncelleştirmek için GET kullanarak beceri kümesi tanımını alın, değiştirin ve put kullanarak güncelleştirin.
Note
GET kullanarak bir beceri kümesini aldığınızda hizmet, özel becerilerdeki tüm <redacted> değerleri için httpHeaders ve ?code=<redacted> içindeki herhangi bir ?code= sorgu parametresi için uri döndürür. Beceri kümesini bu değerleri değiştirmeden güncelleştirmek için bu alanları PUT isteği gövdesinde olarak <unchanged> ayarlayın. Tüm ayrıntılar için bkz. Özel Web API'si becerisi — Beceri parametreleri.
Temel yapı ile başlayın. Beceri Kümesi Oluştur REST API'sinde JSON'da isteğin gövdesini yazın. Aşağıdaki bölümlere sahiptir:
{
"name":"skillset-template",
"description":"A description makes the skillset self-documenting (comments aren't allowed in JSON itself)",
"skills":[
],
"cognitiveServices":{
"@odata.type":"#Microsoft.Azure.Search.CognitiveServicesByKey",
"description":"A Microsoft Foundry resource in the same region as Azure AI Search",
"key":"<Your-Microsoft-Foundry-Resource-Key>"
},
"knowledgeStore":{
"storageConnectionString":"<Your-Azure-Storage-Connection-String>",
"projections":[
{
"tables":[ ],
"objects":[ ],
"files":[ ]
}
]
},
"encryptionKey":{ }
}
Ad ve açıklamadan sonra beceri kümesinin dört ana özelliği vardır:
skillsdizi, sıralanmamış bir beceri koleksiyonu. Beceriler tek başına veya bir dönüşümün çıkışının başka bir dönüşüme giriş haline geldiği giriş çıkış ilişkilendirmeleri aracılığıyla zincirlenir. Beceriler yardımcı (metni bölme gibi), dönüşümsel (Azure OpenAI veya Döküm Araçları'ndan yapay zekaya dayalı) veya sağladığınız özel beceriler olabilir. Sonraki bölümde beceri dizisi örneği sağlanmıştır.cognitiveServices, Döküm Araçları API'lerini çağıran faturalanabilir beceriler için kullanılır. Faturalanabilir beceriler veya Özel Varlık Arama kullanmıyorsanız bu bölümü kaldırın. Eğer kullanıyorsanız bir Dökümhane kaynağı ekleyin.knowledgeStore(isteğe bağlı) Bir Azure Depolama hesabı ve beceri kümesi çıktısını Azure Depolama'daki tablolara, bloblara ve dosyalara yansıtmaya yönelik ayarları belirtir. İhtiyacınız yoksa bu bölümü kaldırın. Aksi takdirde , bir bilgi deposu belirtin.encryptionKey(isteğe bağlı) bir beceri kümesi tanımındaki hassas içeriği (açıklamalar, bağlantı dizesi, anahtarlar) şifrelemek için kullanılan bir Azure Key Vault ve müşteri tarafından yönetilen anahtarları belirtir. Müşteri tarafından yönetilen şifreleme kullanmıyorsanız bu özelliği kaldırın.
Beceri ekleme
Beceri kümesi tanımının içinde beceri dizisi yürütülecek becerileri belirtir. Üç-beş beceri ortaktır, ancak hizmet sınırlarına bağlı olarak gerektiği kadar beceri ekleyebilirsiniz.
Zenginleştirme işlem hattının sonucu, arama dizinindeki veya bilgi deposundaki metin içeriğidir. Bu nedenle, becerilerin çoğu görüntülerden metin oluşturur (OCR metni, resim yazıları, etiketler) veya yeni bilgiler (varlıklar, anahtar ifadeler, yaklaşım) oluşturmak için mevcut metni analiz eder. Bağımsız olarak çalışan beceriler paralel olarak işlenir. Birbirine bağlı beceriler, ikinci bir becerinin (metin çevirisi gibi) girişi olarak bir becerinin (anahtar ifadeler gibi) çıkışını belirtir. Arama hizmeti, beceri yürütme sırasını ve yürütme ortamını belirler.
Tüm becerilerin türü, bağlamı, girişleri ve çıkışları vardır. Bir becerinin isteğe bağlı olarak bir adı ve açıklaması olabilir. Aşağıdaki örnekte, temel yapıyı karşılaştırabilmeniz için iki ilgisiz yerleşik beceri gösterilmektedir.
"skills": [
{
"@odata.type": "#Microsoft.Skills.Text.V3.EntityRecognitionSkill",
"name": "#1",
"description": "This skill detects organizations in the source content",
"context": "/document",
"categories": [
"Organization"
],
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "organizations",
"targetName": "orgs"
}
]
},
{
"name": "#2",
"description": "This skill detects corporate logos in the source files",
"@odata.type": "#Microsoft.Skills.Vision.ImageAnalysisSkill",
"context": "/document/normalized_images/*",
"visualFeatures": [
"brands"
],
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "brands"
}
]
}
]
Her beceri, giriş değerleri ve aldığı parametreler açısından benzersizdir. Beceri başvuru belgeleri , belirli bir becerinin tüm parametrelerini ve özelliklerini açıklar. Farklılıklar olsa da çoğu beceri ortak bir kümeyi paylaşır ve benzer şekilde desenlenir.
Note
İfadeleri oluşturmak için Koşullu bilişsel becerisi kullanarak döngü yaparak ve dallanma yaparak karmaşık yetenek setleri oluşturabilirsiniz. Söz dizimi, zenginleştirme ağacındaki düğümleri tanımlamak için birkaç değişiklikle birlikte JSON İşaretçisi yol gösterimini temel alır. A "/" , ağaçta daha düşük bir düzeyden geçer ve "*" bağlamda her bir işleç için işlevi görür. Bu makaledeki çok sayıda örnek söz dizimini gösterir.
Beceri bağlamı ayarlama
Her beceri, işlemlerin hangi düzeyde gerçekleştirileceğini belirleyen bir bağlam özelliğine sahiptir.
context Özellik açıkça ayarlı değilse, bağlamın belgenin tamamı olduğu varsayılan değerdir "/document"(beceri belge başına bir kez çağrılır).
"skills":[
{
"@odata.type": "#Microsoft.Skills.Text.V3.EntityRecognitionSkill",
"context": "/document",
"inputs": [],
"outputs": []
},
{
"@odata.type": "#Microsoft.Skills.Vision.ImageAnalysisSkill",
"context": "/document/normalized_images/*",
"visualFeatures": [],
"inputs": [],
"outputs": []
}
]
context özelliğini aşağıdaki örneklerden birine ayarlayın:
| Bağlam örneği | Description |
|---|---|
context: /document |
(Varsayılan) Girişler ve çıkışlar belge düzeyindedir. |
context: /document/pages/* |
Yaklaşım analizi gibi bazı beceriler daha küçük metin öbekleri üzerinde daha iyi performans gösterir. Büyük bir içerik alanını sayfalara veya cümlelere ayırıyorsanız bağlamın her bileşen bölümü üzerinde olması gerekir. |
context: /document/normalized_images/* |
Görüntü içeriği için girişler ve çıkışlar, üst belgedeki görüntü başına bir tanedir. |
Bağlam ayrıca zenginleştirme ağacında çıkışların nerede üretildiğini de belirler. Örneğin, Varlık Tanıma becerisi organizations adı verilen ve orgs olarak yakalanan bir özelliği döndürür. Eğer bağlam "/document" ise, bir organizations düğümü, "/document" alt öğesi olarak eklenir. Daha sonra bu düğüme sonraki aşama becerilerinde başvurmak istiyorsanız, yol "/document/orgs" olacaktır.
Girişleri tanımlama
Zenginleştirilmiş bir belgeye okuma ve yazma yapabilme becerileri. Beceri girişleri, gelen verilerin kaynağını belirtir. Genellikle, zenginleştirilmiş belgenin kök düğümüdür. Bloblar için tipik bir beceri girişi, belgenin içerik özelliğidir.
Her beceri için beceri başvuru belgeleri , kullanabileceği girişleri açıklar. Her girişin, belirli bir girişi tanımlayan bir name ve zenginleştirilmiş belgedeki verilerin konumunu belirten bir source bulunur. Aşağıdaki örnek, Varlık Tanıma becerisindendir:
"inputs": [
{
"name": "text",
"source": "/document/content"
},
{
"name": "languageCode",
"source": "/document/language"
}
]
Becerilerin birden çok girişi olabilir.
name, belirli bir giriştir. Varlık Tanıma için, belirli girişler text ve languageCode'dır.sourceözelliği, hangi alanın veya satırın işlenecek içeriği sağladığını belirtir. Metin tabanlı beceriler için kaynak, belgede veya satırda metin sağlayan bir alandır. Görüntü tabanlı beceriler için girişi sağlayan düğüm normalleştirilmiş görüntülerdir.Kaynak örneği Description source:/documentTablosal veri kümesi için belge bir satıra karşılık gelir. source:/document/contentBloblar için kaynak genellikle blob'un içerik özelliğidir. source:/document/some-named-fieldVarlık tanıma veya anahtar tümcecik ayıklama gibi metin tabanlı beceriler için, kaynak açıklama veya özet gibi analiz edilecek yeterli metni içeren bir alan olmalıdır. source:/document/normalized_images/*Görüntü içeriği için kaynak, belgenin kırılması sırasında normalleştirilmiş bir görüntüdür.
Beceri bir dizi üzerinde tekrarlarsa, hem bağlam hem de giriş kaynağı doğru konumlarda /* içermelidir. Söz diziminin tamamı hakkında daha fazla bilgi için Beceri bağlamı ve giriş açıklama dili kısmına bakın.
Çıkışları Tanımlayın
Her beceri, beceri kümesinin adlarıyla başvurduğu belirli çıktı türlerini üretmek üzere tasarlanmıştır. Bir beceri çıktısının name ve isteğe bağlı bir targetName vardır.
Her beceri için Beceri başvuru belgeleri , üretebileceği çıkışları açıklar. Aşağıdaki örnek, Varlık Tanıma becerisindendir:
"outputs": [
{
"name": "persons",
"targetName": "people"
},
{
"name": "organizations",
"targetName": "orgs"
},
{
"name": "locations",
"targetName": "places"
}
]
Becerilerin birden çok sonucu olabilir.
nameözelliği belirli bir çıkışı tanımlar. Örneğin Varlık Tanıma için çıkış kişiler, konumlar, kuruluşlar ve diğerleri olabilir.özelliği,
targetNamebu düğümün zenginleştirilmiş belgede olmasını istediğiniz adı belirtir. Beceri çıktıları aynı ada sahipse bu özellik kullanışlıdır. Aynı çıkışı döndüren birden çok beceriniz varsa, zenginleştirme düğümü yollarında ad belirsizliği içintargetNamekullanın. Hedef adı belirtmezseniz, name özelliği her ikisi için de kullanılır.
Bazı durumlar, bir dizinin her öğesine ayrı ayrı başvurmayı çağırır. Örneğin, her bir öğeyi"/document/orgs" ayrı ayrı başka bir beceriye geçirmek istediğinizi varsayalım. Bunu yapmak için yola bir yıldız işareti ekleyin: "/document/orgs/*".
Beceri çıktısı, zenginleştirilmiş belgeye, zenginleştirme ağacında yeni bir düğüm olarak yazılır. Yaklaşım puanı veya dil kodu gibi basit bir değer olabilir. Kuruluş, kişi veya konum listesi gibi bir koleksiyon da olabilir. Beceri çıkışı, Shaper becerisinde olduğu gibi karmaşık bir yapı da olabilir. Becerinin girişleri şeklin bileşimini belirler, ancak çıkış, arama dizininde, bilgi deposu projeksiyonunda veya adına göre başka bir beceride başvurulabilen adlandırılmış nesnedir.
Özel beceri ekleme
Bu bölüm özel beceri örneği içerir. URI, sağladığınız modeli veya dönüşümü çağıran bir Azure İşlevi'ni işaret eder. Daha fazla bilgi için bkz . Azure AI Arama zenginleştirme işlem hattına özel beceri ekleme.
Özel beceri işlem hattı dışında olan kodu yürütse de, beceri dizisinde bu yalnızca başka bir beceridir. Yerleşik beceriler gibi bir türü, bağlamı, girişleri ve çıkışları vardır. Ayrıca yerleşik becerilerde olduğu gibi zenginleştirme ağacını okur ve yazar. Alanının yıldız işaretiyle olarak ayarlandığına context"/document/orgs/*" dikkat edin; bu da altında her"/document/orgs"anlamına gelir.
Bu örnekteki şirket açıklaması gibi çıktı, her tanımlanan kuruluş için oluşturulur. Sonraki bir adımda düğüme başvururken (örneğin, anahtar ifade ayıklama işleminde), bunun için "/document/orgs/*/companyDescription" yolunu kullanın.
{
"@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
"description": "This skill calls an Azure function, which in turn calls custom code",
"uri": "https://indexer-e2e-webskill.azurewebsites.net/api/InvokeCode?code=<YOUR-FUNCTION-KEY>",
"httpHeaders": {
"Ocp-Apim-Subscription-Key": "<YOUR-APIM-KEY>"
},
"context": "/document/orgs/*",
"inputs": [
{
"name": "query",
"source": "/document/orgs/*"
}
],
"outputs": [
{
"name": "description",
"targetName": "companyDescription"
}
]
}
Çıkışı hedefe gönderme
İsteğe bağlı olarak beceri çıkışını yeniden kullanmak üzere önbelleğe alabilmenize rağmen, genellikle geçicidir ve yalnızca beceri yürütme işlemi devam ederken mevcuttur.
Arama dizinindeki bir alana çıktı göndermek için, dizin oluşturucuda bir çıkış alanı eşlemesi oluşturun.
Çıktıyı bir bilgi deposuna göndermek için bir projeksiyon oluşturun.
Çıkışı sonraki beceriye göndermek için, sonraki becerinin girdi kaynağındaki özelliğinde,
"/document/organization"gibi düğüm adına göre çıkışa başvurun. Örnekler için Bir açıklamaya referans verin kısmına bakın.
İlk beceri kümesi için ipuçları
Verileri içeri aktarma sihirbazını deneyin.
Sihirbaz, ilk seferde zor olabilecek birkaç adımı otomatikleştirir. Alan eşlemeleri ve çıkış alanı eşlemeleri dahil olmak üzere beceri kümesini, dizini ve dizin oluşturucuyu tanımlar. Ayrıca, kullanıyorsanız bir bilgi deposundaki projeksiyonları da tanımlar. OCR veya görüntü analizi gibi bazı beceriler için sihirbaz, belgenin kırılması sırasında ayrılmış olan görüntü ve metin içeriğini birleştirilen yardımcı program becerileri ekler.
Sihirbaz çalıştırıldıktan sonra, JSON tanımını görüntülemek için her nesneyi Azure portalında açabilirsiniz.
Hedef belge üzerinde beceri seti yürütmesini çağırmak ve beceri setinin oluşturduğu zenginleştirilmiş belgeyi incelemek için Hata Ayıklama Oturumlarını deneyin. Giriş ve çıkış ayarlarını ve değerlerini görüntüleyebilir ve değiştirebilirsiniz. Bu öğretici, başlamak için iyi bir yerdir: Öğretici: Hata Ayıklama Oturumlarını kullanarak beceri kümesinde hata ayıklama.
Sonraki adım
Bağlam ve giriş kaynağı alanları, zenginleştirme ağacındaki düğümlerin yollarıdır. Sonraki adım olarak, zenginleştirme ağacındaki düğümler için yol söz dizimi hakkında daha fazla bilgi edinin.