Azure AI Arama zenginleştirme işlem hattında AML becerisi
Önemli
Azure AI Foundry model kataloğuna dizin oluşturucu bağlantıları desteği, ek kullanım koşulları altında genel önizleme aşamasındadır. Önizleme REST API'leri bu beceriyi destekler.
AML becerisi, özel bir Azure Machine Learning (AML) modeliyle veya Azure AI Foundry'de dağıtılan temel ekleme modeliyle yapay zeka zenginleştirmesini genişletmenize olanak tanır. AML modeli eğitilip dağıtıldıktan sonra, AML becerisi onu beceri kümesiyle tümleştirir.
AML beceri kullanımı
Diğer yerleşik becerilerde olduğu gibi, özel aml becerisinde de girişler ve çıkışlar vardır. Girişler, dağıtılan bir AML çevrimiçi uç noktasına JSON nesnesi olarak gönderilir. Uç noktanın çıkışı, yanıtta bir JSON yükü ve bir başarı durum kodu olmalıdır. Verileriniz, modelinizin dağıtıldığı Coğrafi bölgede işlenir. Yanıtın AML beceri tanımınız tarafından belirtilen çıkışları sağlaması beklenir. Diğer tüm yanıtlar hata olarak kabul edilir ve zenginleştirme yapılmaz.
Not
Dizin oluşturucu, AML çevrimiçi uç noktasından döndürülen belirli standart HTTP durum kodları için iki kez yeniden dener. Bu HTTP durum kodları şunlardır:
503 Service Unavailable
429 Too Many Requests
AML becerisi, Azure AI Foundry portalındaki model kataloğuna bağlantılar için 2024-07-01 kararlı API sürümü veya eşdeğer Azure SDK'sı ya da 2024-05-01-preview API sürümüyle çağrılabilir.
Azure AI Foundry'deki modeller için AML becerisi
2024-05-01-preview REST API'sinde ve Azure portalında (2024-05-01-preview'ı da hedefleyen) başlayan Azure AI Search, Azure AI Foundry portalında model kataloğuna sorgu süresi bağlantıları için Azure AI Foundry model kataloğu vektörleştiricisini sağlar. Bu vektörleştiriciyi sorgular için kullanmak istiyorsanız AML becerisi, Azure AI Foundry model kataloğunda bir model kullanarak ekleme oluşturmak için kullanılan dizin oluşturmanın karşılığıdır.
Dizin oluşturma sırasında AML becerisi model kataloğuna bağlanarak dizin için vektörler oluşturabilir. Sorgu zamanında sorgular, vektör sorgusu için metin dizelerini vektörleştirmek üzere aynı modele bağlanmak üzere vektörleştirici kullanabilir. Bu iş akışında , hem dizin oluşturma hem de sorgular için aynı ekleme modelini kullanmanız için AML becerisi ve model kataloğu vektörleştiricisi birlikte kullanılmalıdır. Ayrıntılar ve desteklenen ekleme modellerinin listesi için bkz . Azure AI Foundry model kataloğundakiekleme modellerini kullanma.
Azure AI Foundry'de dağıtılmış ekleme modelleri için AML becerisi içeren bir beceri kümesi oluşturmak için Verileri içeri aktarma ve vektörleştirme sihirbazını kullanmanızı öneririz. Girişler, çıkışlar ve eşlemeler için AML beceri tanımı sihirbaz tarafından oluşturulur ve bu da herhangi bir kod yazmadan önce modeli test etmenin kolay bir yolunu sağlar.
Önkoşullar
- Oluşturduğunuz özel bir model için AML çalışma alanı veya katalogdan bir ekleme modeli dağıtılırsa Azure AI Foundry'de bir proje.
- Özel bir model için bu çalışma alanında çevrimiçi uç noktalar (gerçek zamanlı) veya katalogdan dağıtılan modelleri eklemek için model uç noktası.
@odata.type
Microsoft.Skills.Custom.AmlSkill
Beceri parametreleri
Parametreler büyük/küçük harfe duyarlıdır. Hangi parametreleri kullanmayı seçtiğiniz, VARSA AML çevrimiçi uç noktanızın hangi kimlik doğrulamasını gerektirdiğine bağlıdır
Parametre adı | Açıklama |
---|---|
uri |
(Anahtar kimlik doğrulaması için gereklidir) JSON yükünün gönderildiği AML çevrimiçi uç noktasınınpuanlama URI'si. Yalnızca https URI düzenine izin verilir. Azure AI Foundry model kataloğuna model eklemek için bu hedef URI'dir. |
key |
(Anahtar kimlik doğrulaması için gereklidir) AML çevrimiçi uç noktasının anahtarı veya |
resourceId |
(Belirteç kimlik doğrulaması için gereklidir). AML çevrimiçi uç noktasının Azure Resource Manager kaynak kimliği.
subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.MachineLearningServices/workspaces/{workspace-name}/onlineendpoints/{endpoint_name} biçiminde olmalıdır. |
region |
(Belirteç kimlik doğrulaması için isteğe bağlı). AML çevrimiçi uç noktasının dağıtılacağı bölge. |
timeout |
(İsteğe bağlı) Belirtildiğinde, API çağrısı yapan http istemcisinin zaman aşımını gösterir. XSD "dayTimeDuration" değeri (ISO 8601 süre değerinin kısıtlanmış bir alt kümesi) olarak biçimlendirilmelidir. Örneğin, PT60S 60 saniye için. Ayarlanmamışsa, varsayılan değer olarak 30 saniye seçilir. Zaman aşımı en fazla 230 saniye ve en az 1 saniye olarak ayarlanabilir. |
degreeOfParallelism |
(İsteğe bağlı) Belirtildiğinde, dizin oluşturucunun sağladığınız uç noktaya paralel olarak yaptığı çağrı sayısını gösterir. Uç noktanız istek yükünün çok yüksek olduğu bir durumda başarısız oluyorsa bu değeri azaltabilirsiniz. Uç noktanız daha fazla istek kabul edebiliyorsa ve dizin oluşturucunun performansında artış olmasını istiyorsanız yükseltebilirsiniz. Ayarlanmazsa, varsayılan 5 değeri kullanılır. DegreeOfParallelism en fazla 10 ve en az 1 olarak ayarlanabilir. |
Kimlik Doğrulaması
AML çevrimiçi uç noktaları iki kimlik doğrulama seçeneği sağlar:
Anahtar tabanlı kimlik doğrulaması. AML becerilerinden puanlama isteklerinin kimliğini doğrulamak için statik bir anahtar sağlanır. Bu bağlantı için
uri
vekey
parametrelerini ayarlayın.AML çevrimiçi uç noktasının belirteç tabanlı kimlik doğrulaması kullanılarak dağıtıldığı Belirteç Tabanlı Kimlik Doğrulaması. Azure AI Arama hizmeti yönetilen kimliğinin etkinleştirilmesi ve çalışma alanında bir rol ataması olması gerekir. Ardından AML becerisi, statik anahtar gerektirmeden AML çevrimiçi uç noktasında kimlik doğrulaması yapmak için hizmetin yönetilen kimliğini kullanır. Arama hizmeti kimliğinin Sahip veya Katkıda Bulunan olması gerekir. parametresini
resourceId
ayarlayın ve arama hizmeti AML çalışma alanından farklı bir bölgedeyse parametresiniregion
ayarlayın.
Beceri girişleri
Beceri girişleri, belgenin kırılması sırasında oluşturulan zenginleştirilmiş belgenin düğümü. Örneğin, kök belge, normalleştirilmiş bir görüntü veya bir blobun içeriği olabilir. Bu beceri için önceden tanımlanmış giriş yok. Girişler için AML becerisinin yürütülmesi sırasında doldurulan bir veya daha fazla düğüm belirtmeniz gerekir.
Beceri çıkışları
Beceri çıkışları, beceri tarafından oluşturulan zenginleştirilmiş bir belgenin yeni düğümleridir. Bu beceri için önceden tanımlanmış çıkış yok. Çıkışlar için, AML becerinizin JSON yanıtından doldurulabilecek düğümler sağlamanız gerekir.
Örnek tanım
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"description": "A custom model that detects the language in a document.",
"uri": "https://language-model.models.contoso.com/score",
"context": "/document",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "detected_language_code"
}
]
}
Örnek giriş JSON yapısı
Bu JSON yapısı, AML çevrimiçi uç noktanıza gönderilen yükü temsil eder. Yapının en üst düzey alanları, beceri tanımının bölümünde belirtilen inputs
"adlara" karşılık gelir. Bu alanların değerleri bu alanların değerleridir source
(belgedeki bir alandan veya başka bir beceriden olabilir)
{
"text": "Este es un contrato en Inglés"
}
Örnek çıkış JSON yapısı
Çıkış, AML çevrimiçi uç noktanızdan döndürülen yanıta karşılık gelir. AML çevrimiçi uç noktası yalnızca bir JSON yükü döndürmelidir (yanıt üst bilgisine Content-Type
bakarak doğrulanır) ve alanların içindeki "adlarla" output
eşleşen zenginleştirmeler olduğu ve değeri zenginleştirme olarak kabul edilen bir nesne olmalıdır.
{
"detected_language_code": "es"
}
Satır içi şekillendirme örnek tanımı
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"description": "A sample model that detects the language of sentence",
"uri": "https://language-model.models.contoso.com/score",
"context": "/document",
"inputs": [
{
"name": "shapedText",
"sourceContext": "/document",
"inputs": [
{
"name": "content",
"source": "/document/content"
}
]
}
],
"outputs": [
{
"name": "detected_language_code"
}
]
}
Satır içi şekillendirme girişi JSON yapısı
{
"shapedText": { "content": "Este es un contrato en Inglés" }
}
Satır içi şekillendirme örneği çıkış JSON yapısı
{
"detected_language_code": "es"
}
Hata durumları
AML'nizin kullanılamaması veya başarısız durum kodları göndermenize ek olarak, aşağıdakiler hatalı durumlar olarak kabul edilir:
AML çevrimiçi uç noktası bir başarı durum kodu döndürür, ancak yanıt olmadığını
application/json
gösterir, ardından yanıt geçersiz kabul edilir ve hiçbir zenginleştirme yapılmaz.AML çevrimiçi uç noktası geçersiz JSON döndürür.
AML çevrimiçi uç noktasının kullanılamadığı veya HTTP hatası döndürdüğü durumlarda, dizin oluşturucu yürütme geçmişine HTTP hatasıyla ilgili kullanılabilir ayrıntıları içeren kolay bir hata eklenir.