Aracılığıyla paylaş


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

@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:

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/jsongö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.

Ayrıca bkz.