OpenAI Ekleme becerisini Azure

Uyarı

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.

Azure OpenAI Embedding becerisi, indeksleme sırasında gömülemeler oluşturmak için Azure OpenAI in Foundry Models kaynağına veya Microsoft Foundry projenize entegre edilen bir göme modeline bağlanır. Verileriniz, modelinizin dağıtıldığı Coğrafi bölgede işlenir.

Azure portalındaki Import data sihirbazı içeriği vektörize etmek için Azure OpenAI Embedding becerisini kullanır. Sihirbazı çalıştırabilir ve oluşturulan yetenek setini inceleyerek büyücünün modelleri gömmek becerisini nasıl geliştirdiğini görebilirsiniz.

Uyarı

Bu beceri OpenAI Azure ve Azure OpenAI standart fiyatı üzerinden ücretlendirilir.

Önkoşullar

  • Döküm Modellerinde Azure OpenAI kaynağı veya Foundry projesi.

    • Azure OpenAI kaynağınızda gibi https://<resource-name>.openai.azure.com olmalıdır. Bu uç noktayı Azure portalındaki Keys ve Endpoint sayfasında bulabilir ve bu becerideki resourceUri özelliği için kullanabilirsiniz.

    • Foundry projenizin üst kaynağı, , https://<resource-name>.openai.azure.comve https://<resource-name>.services.ai.azure.comgibi https://<resource-name>.cognitiveservices.azure.combirden çok uç noktaya erişim sağlar. Bu uç noktaları Azure portalındaki Keys ve Endpoint sayfasında bulabilir ve bunlardan herhangi birini bu becerideki resourceUri özelliği için kullanabilirsiniz.

  • Kaynağınıza veya projenize dağıtılan bir Azure OpenAI ekleme modeli. Desteklenen modeller için Yetenek parametreleri bölümüne bakınız.

@odata.type

Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

Veri sınırları

Bir metin girişinin maksimum boyutu 8.000 token olmalıdır. Girdi izin verilen maksimum sınırı aşarsa, model geçersiz bir istek hatası atar. Daha fazla bilgi için Azure OpenAI dokümantasyonundaki tokens temel kavramına bakınız. Veri parçalaması gerekiyorsa Metin Bölme yeteneğini kullanmayı düşün.

Beceri parametreleri

Parametreler büyük/küçük harfe duyarlıdır.

Girişler Description
resourceUri (Gerekli) Model sağlayıcısının URI'sini. Desteklenen etki alanları şunlardır:

  • openai.azure.com
  • services.ai.azure.com
  • cognitiveservices.azure.com

Bu alan, kaynağınız özel bir uç noktanın arkasında konuşlandırılıyorsa veya sanal ağ (VNet) entegrasyonu kullanıyorsa gereklidir. Azure API Management uç noktaları da, API Management özel etki alanları dışında, desteklenir. Kimlik doğrulaması, RBAC ve isteğe bağlı özel bağlantı dahil olmak üzere kurulum için bkz. OpenAI becerileri ve vektörleştiricileri ile Azure Azure API Management kullanma.

apiKey Modele erişmek için kullanılan gizli anahtar. Bir anahtar sağlarsanız boş bırakın authIdentity . Her ikisini apiKey de ve authIdentityayarlarsanız, bağlantı için kullanılır apiKey .
deploymentId (Zorunlu) Dağıtılan Azure OpenAI göme modelinin kimliği. Bu, modeli dağıtırken belirttiğiniz dağıtım adıdır.
authIdentity Bağlantı için arama hizmeti tarafından kullanılan kullanıcı tarafından yönetilen kimlik. Sistem veya kullanıcı tarafından yönetilen bir kimlik kullanabilirsiniz. Sistem tarafından yönetilen kimlik kullanmak için boş bırakınapiKey.authIdentity Sistem tarafından yönetilen kimlik otomatik olarak kullanılır. Yönetilen bir kimlik, OpenAI'ya metin göndermek için Bilişsel Hizmetler OpenAI Kullanıcı izinlerine Azure sahip olmalıdır.
modelName (Gerekli) Belirtilen deploymentId dağıtılan Azure OpenAI modelinin adı. Desteklenen değerler şunlardır:

  • text-embedding-ada-002
  • text-embedding-3-large
  • text-embedding-3-small
dimensions (İsteğe bağlı) Modelin çeşitli boyutları desteklediği varsayarsak, oluşturmak istediğiniz gömülen boyutlar. Varsayılan her model için maksimum boyutlardır. 2023-10-01-önizlemeden önce REST API sürümleriyle oluşturulan yetenek setleri için boyutlar 1536 olarak sabittir. Bu beceride bu dimensions özelliği ayarlamışsanız, dimensions özelliği aynı değere ayarlayın.

Desteklenen boyutlar tarafından modelName

Azure OpenAI Gömüleme becerisi için desteklenen boyutlar, yapılandırılan modelName'ye bağlıdır.

modelName Minimum boyutlar Maksimum boyutlar
ada-002 metin yerleştirme 1536 1536
text-embedding-3-large 1 3072
text-embedding-3-small 1 1536

Beceri girişleri

Giriş Description
text Vektörize edilecek giriş metni. Veri parçalaması kullanıyorsanız, kaynak /document/pages/*olabilir .

Beceri çıkışları

Çıkış Description
embedding Giriş metni için vektörize gömülme.

Örnek tanım

Aşağıdaki alanları içeren bir kaydı düşünün:

{
    "content": "Microsoft released Windows 10."
}

O zaman beceri tanımınız şöyle görünebilir:

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://my-demo-openai-eastus.openai.azure.com/",
  "deploymentId": "my-text-embedding-ada-002-model",
  "modelName": "text-embedding-ada-002",
  "dimensions": 1536,
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ]
}

Örnek çıkış verisi

Verilen giriş metni için, vektörize bir göme çıktısı üretilir.

{
  "embedding": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... 
        0.021276434883475304,
      ]
}

Çıkış bellekte bulunur. Bu çıktıyı arama indeksindeki bir alana göndermek için, vektörize gömme çıktısını (yani bir dizi) bir vektör alanına eşleyen bir outputFieldMapping tanımlamanız gerekir. Yetenek çıktısı belgenin gömme düğümünde yer alıyorsa ve content_vector arama indeksindeki alan ise, endeks cihazındaki outputFieldMapping şöyle görünmelidir:

  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/embedding/*",
      "targetFieldName": "content_vector"
    }
  ]

En iyi yöntemler

Bu beceriyi kullanırken dikkate almanız gereken bazı en iyi uygulamalar şunlardır:

  • Eğer Azure OpenAI TPM (Dakikada Token) sınırına ulaşıyorsanız, kota sınırları danışmanı dikkate alın ki buna göre çözüm alabilesiniz. Azure OpenAI örneği performansınız hakkında daha fazla bilgi için Azure OpenAI izleme dokümantasyonuna bakabilirsiniz.

  • Bu beceri için kullandığınız Azure OpenAI göme modeli dağıtımı, query vectorizer dahil olmak üzere diğer kullanım durumları için kullanılan dağıtımdan ideal olarak ayrı olmalıdır. Bu, her dağıtımın kendi kullanım senaryosuna göre uyarlanmasına yardımcı olur; performansın optimize edilmesine ve indeksleyici ile indeks gömü çağrılarından gelen trafiği kolayca tespit etmenize yol açar.

  • Azure OpenAI örneğiniz, AI Arama hizmetinizin barındırıldığı bölgeye coğrafi olarak yakın veya en azından coğrafi olarak yakın olmalıdır. Bu, gecikmeyi azaltır ve hizmetler arasında veri aktarım hızını artırır.

  • 429 hata kodlarını sık sık yaşamamak için, birden çok Azure OpenAI ekleme modeli dağıtımının önüne bir ağ geçidi uygulayarak API Management aracılığıyla yük dengeleme uygulamayı göz önünde bulundurun.

  • Eğer quotas and limits dokümantasyonunda yayımlanan OpenAI TPM (Dakikada Tokens) varsayılan sınırdan daha büyük Azure varsa, Azure Yapay Zeka Arama ekibiyle bir destek vakası açın, böylece bu durum buna göre ayarlanabilir. Bu, daha yüksek sınırlarınız varsa dizin oluşturma işleminizin belgelenen varsayılan TPM sınırı tarafından gereksiz yere yavaşlamamasını sağlar.

  • Bu beceriyi kullanan örnekler ve çalışma kod örnekleri için aşağıdaki bağlantılara bakınız:

Hatalar ve uyarılar

Condition Result
Geçersiz veya geçersiz URI Error
Null veya geçersiz deploymentID Error
Metin boş Warning
Metin 8.000 token'dan daha fazladır Error

Yönetilen kimlik kimlik doğrulaması için güvenlikle ilgili dikkat edilmesi gerekenler

Azure OpenAI Ekleme becerisi yönetilen kimlik doğrulaması kullandığında, Azure Yapay Zeka Arama Foundry Tools hedef kitlesi (https://cognitiveservices.azure.com) için bir Microsoft Entra erişim belirteci alır ve tarafından resourceUribelirtilen uç noktaya gönderilen isteklere ekler. Yönetilen kimlik kimlik doğrulaması ayarlandığında veya hem hem de authIdentityapiKey boş olduğunda ve hizmet sistem tarafından atanan kimliği kullandığında uygulanırauthIdentity.

tarafından resourceUri başvurulan uç noktanın kendi Azure OpenAI veya Döküm Araçları kaynağınız olması beklenir. Desteklenen etki alanları şunlardır:

  • openai.azure.com
  • cognitiveservices.azure.com
  • services.ai.azure.com

Azure API Management (APIM) uç noktaları da*.azure-api.net desteklenir. APIM ana bilgisayar adı yalnızca adından doğrulanamadığından Azure Yapay Zeka Arama bu uç noktaları etki alanı eşleştirme yerine yapılandırma zamanında canlı bağlantı denetimiyle doğrular. APIM uç noktası ile arkasındaki OpenAI veya Döküm Araçları kaynağını Azure arasındaki ilişkiyi yapılandırmak ve sürdürmek sizin sorumluluğundadır.

Döküm Araçları hedef kitlesi için verilen yönetilen kimlik belirteci, kimliğin yetkilendirilen tüm Döküm Araçları veya Azure OpenAI kaynağında geçerlidir. Güvenilmeyen bir uç noktaya göndermek belirteci kullanıma açabilir.

Güvenli bir dağıtımın korunmasına yardımcı olmak için şu uygulamaları izleyin:

  • Yalnızca sahip olduğunuz ve güvendiğiniz uç noktalara ayarlayın resourceUri . Daha önce listelenen Döküm Araçları etki alanlarını tercih edin. APIM uç noktası kullanıyorsanız yönetilen kimliği etkinleştirmeden önce kendi kaynağınızın önünde olduğunu onaylayın. Güvenilir görünümlü bir ana bilgisayar adı sahiplik kanıtı değildir.
  • Arama hizmeti tarafından kullanılan yönetilen kimliğe en az ayrıcalık ilkesini uygulayın. Azure OpenAI Ekleme becerisi, hedef kaynakta yalnızca Bilişsel Hizmetler OpenAI Kullanıcısı rolünü gerektirir. Daha geniş roller vermekten kaçının.
  • Arama hizmetinin ulaşabileceği uç noktaları ve hedef kaynağın istekleri kabul ettiği kaynakları kısıtlamak için Ağ Güvenlik Çevresi (NSP) ve özel uç noktaları veya sanal ağ tümleştirmesini kullanın.
  • APIM uç noktası kullanıyorsanız ağ geçidinin gelen istekleri doğrulayıp yalnızca hedeflenen arka uça ilettiğinden emin olun. Ayrıca erişim ilkelerini düzenli aralıklarla gözden geçirmelisiniz.
  • Yönetilen kimliği yerine tercih edin apiKey. kullanıyorsanız apiKey, güvenli bir şekilde depolayıp döndürün ve kaynak denetimine eklemeyin. Hizmet, hem apiKeyhem de authIdentity ayarlayan yapılandırmaları reddeder.
  • Değerlerin, erişim denetimlerinin ve kimlik izinlerinin güncel ve uygun kaldığını doğrulamak resourceUri için beceri kümesi tanımlarını, yönetilen kimlik rolü atamalarını ve APIM yapılandırmalarını düzenli aralıklarla gözden geçirin. Yerleşik değişiklik yönetimi ve güvenlik gözden geçirme süreçlerinizle yapılandırma değişikliklerini gözden geçirin.
  • Azure OpenAI ve Foundry Araçları oturum açma günlüklerini, kimlik doğrulama olaylarını ve erişim günlüklerini beklenmedik veya yetkisiz etkinlikler için izleyin.
  • Artık gerekli olmayan kullanılmayan becerileri, uç noktaları, rol atamalarını ve API anahtarlarını kaldırın.

Beceri kümesi yapılandırmasına erişimi kısıtlama

Beceri kümelerini oluşturabilen, değiştirebilen veya çalıştırabilen kullanıcılar hem hedef uç noktayı (resourceUri) hem de beceri tarafından kullanılan kimlik doğrulama yapılandırmasını denetler. Beceri, Döküm Araçları hedef kitlesi için bu uç noktaya bir yönetilen kimlik belirteci gönderdiğinden, bu izinleri güvenilen yöneticilerle kısıtlayın ve yönetilen kimlik özellikli becerileri yapılandırırken standart değişiklik yönetimi ve güvenlik gözden geçirme işlemlerinizi izleyin.

Ayrıca bakınız