Tümleşik vektörleştirme (önizleme) için Microsoft Döküm modeli kataloğundaki ekleme modellerini kullanma

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.

Önemli

(önizleme) olarak işaretlenen özellikler, özellikler veya özellikler hizmet düzeyi sözleşmesi kapsamında değildir, üretim iş yükleri için önerilmez ve genel kullanıma sunulmadan önce değişebilir veya kısıtlanabilir. Azure Yapay Zeka Arama önizleme terimleri, tek başına veya genel kullanıma sunulan bir özelliğin parçası olsun, tüm önizleme işlevleri için geçerlidir.

Bu makalede, Azure Yapay Zeka Arama'da dizin oluşturma ve sorgu yürütme sırasında tümleşik vektörleştirme (önizleme) için Microsoft Döküm modeli kataloğu modellerini kullanmayı öğreneceksiniz.

İş akışı, Microsoft ve diğer şirketlerden model ekleme de dahil olmak üzere katalogdan bir model dağıtmanızı gerektirir. Modelin dağıtılması, her sağlayıcının faturalama yapısına göre faturalandırılabilir.

Model dağıtıldıktan sonra, dizin oluşturma sırasında tümleşik vektörleştirme için AML becerisi ile veya sorgular için Microsoft Döküm modeli kataloğu vektörleştiricisi ile kullanabilirsiniz.

Ipucu

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 sihirbazını kullanın. 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

Desteklenen ekleme modelleri

Model kataloğundan desteklenen ekleme modelleri kullanım yöntemine göre farklılık gösterir:

Katıştırma modelini model kataloğundan dağıtın

  1. Projenize desteklenen bir model dağıtmak için bu portal yönergelerini izleyin.

  2. Hedef URI'yi, anahtarı ve model adını not edin. Arama dizinindeki vektörleştirici tanımı ve dizin oluşturma sırasında model uç noktalarını çağıran beceri kümesi için bu değerlere ihtiyacınız vardır.

    Belirteç kimlik doğrulamasını anahtar tabanlı kimlik doğrulamasına tercih ediyorsanız, yalnızca model adını kopyalamanız yeterlidir. Ancak, modelin dağıtıldığı bölgeyi not edin.

  3. Dağıtılan modeli kullanmak için bir arama dizini ve dizin oluşturucu yapılandırın.

Ekleme modelini sunucusuz dağıtım olarak dağıtma

AML becerisi ve Microsoft Döküm Model Kataloğu vektörleştiricisi, yalnızca Cohere katıştırma modellerinin sunucusuz dağıtımlarını kabul eder. Microsoft Foundry portalı aracılığıyla sunucusuz dağıtımlar bu modeller için desteklenmez, bu nedenle dağıtımı oluşturmak için Azure CLI kullanın. Daha fazla bilgi için bkz . Modelleri sunucusuz API dağıtımları olarak dağıtma.

Cohere sunucusuz bir dağıtım oluşturmak için:

  1. ml uzantısıyla Azure CLI yükleyin.

    az extension add -n ml
    
  2. Azure oturum açın ve varsayılanlarınızı ayarlayın.

    az login
    az account set --subscription <subscription-id>
    az configure --defaults workspace=<project-name> group=<resource-group>
    
  3. Modelin market aboneliğine abone olmak için bir subscribe.yaml dosya oluşturun.

    name: cohere-embed-v3-english-subscription
    model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-english
    

    Desteklenen diğer modeller için model kimliğini aşağıdaki değerlerden biriyle değiştirin.

    Modeli Model Kimliği
    Cohere-embed-v3-english azureml://registries/azureml-cohere/models/Cohere-embed-v3-english
    Cohere-embed-v3-multilingual azureml://registries/azureml-cohere/models/Cohere-embed-v3-multilingual
    Cohere-embed-v4 azureml://registries/azureml-cohere/models/Cohere-embed-v4
  4. Aboneliği oluşturmak için aşağıdaki komutu çalıştırın.

    az ml marketplace-subscription create --file subscribe.yaml
    
  5. Sunucusuz uç nokta oluşturmak için bir endpoint.yaml dosya oluşturun.

    name: cohere-embed-v3-english-endpoint
    model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-english
    
  6. Uç noktayı oluşturmak için aşağıdaki komutu çalıştırın.

    az ml serverless-endpoint create --file endpoint.yaml
    
  7. Anahtar tabanlı kimlik doğrulaması için, beceri veya vektörleştiricide kullanılacak uç nokta URI'sini ve anahtarını alın.

    az ml serverless-endpoint show --name cohere-embed-v3-english-endpoint --query "scoring_uri"
    az ml serverless-endpoint get-credentials --name cohere-embed-v3-english-endpoint
    

Örnek AML beceri yükü

Gömme modelleri model kataloğundan dağıttığınızda, indeksleme iş yükleri için Azure Yapay Zeka Arama AML Skill kullanarak bunlara bağlanırsınız.

Bu bölümde AML beceri tanımı ve dizin eşlemeleri açıklanmaktadır. İlgili dağıtılan uç noktasıyla çalışacak şekilde yapılandırılmış bir örnek yük içerir. Daha fazla bilgi için bakınız Beceri bağlamı ve giriş ek açıklaması dili.

Birlikte ekleme modelleri

Bu AML beceri yükü aşağıdaki ekleme modelleriyle çalışır:

  • Cohere-embed-v3-english
  • Cohere-embed-v3-multilingual
  • Cohere-embed-v4

Metin Bölme becerisini kullanarak içeriğinizi öbeklediğiniz ve dolayısıyla vektörleştirilecek metninizin /document/pages/* yolunda olduğu varsayılır. Metniniz farklı bir yoldan geliyorsa, /document/pages/* yoluna yapılan tüm referansları uygun şekilde güncelleyin.

Foundry dağıtımınızdan kopyaladığınız URL'nin sonuna /v1/embed yolunu eklemeniz gerekir. Ayrıca, , input_typeve truncate girişlerinin değerlerini embedding_typeskullanım örneğinize daha uygun olacak şekilde değiştirebilirsiniz. Daha fazla bilgi için Cohere Embed API referans kılavuzunu gözden geçirin.

Modeli katalogdan dağıttığınızda URI ve anahtar oluşturulur. Bu değerler hakkında daha fazla bilgi için bkz. Foundry kullanarak Cohere Gömme modellerini dağıtma.

{
  "@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
  "context": "/document/pages/*",
  "uri": "https://cohere-embed-v3-multilingual-hin.eastus.models.ai.azure.com/v1/embed",
  "key": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
  "inputs": [
    {
      "name": "texts",
      "source": "=[$(/document/pages/*)]"
    },
    {
      "name": "input_type",
      "source": "='search_document'"
    },
    {
      "name": "truncate",
      "source": "='NONE'"
    },
    {
      "name": "embedding_types",
      "source": "=['float']"
    }
  ],
  "outputs": [
    {
      "name": "embeddings",
      "targetName": "aml_vector_data"
    }
  ]
}

Buna ek olarak, Cohere modelinin çıkışı doğrudan embeddings dizisi değil, onu içeren bir JSON nesnesidir. indexProjections veya outputFieldMappings aracılığıyla dizin tanımına eşlerken, onu uygun şekilde seçmeniz gerekir. Bu eşlemeyi uygulamanıza olanak sağlayacak örnek indexProjections bir yük aşağıda verilmişti.

Beceri tanımınızda embedding_types farklı bir tür seçtiyseniz, floatsource yolundaki türü seçtiğiniz türle değiştirin.

"indexProjections": {
  "selectors": [
    {
      "targetIndexName": "<YOUR_TARGET_INDEX_NAME_HERE>",
      "parentKeyFieldName": "ParentKey", // Change this to the name of the field in your index definition where the parent key will be stored
      "sourceContext": "/document/pages/*",
      "mappings": [
        {
          "name": "aml_vector", // Change this to the name of the field in your index definition where the Cohere embedding will be stored
          "source": "/document/pages/*/aml_vector_data/float/0"
        }
      ]
    }
  ],
  "parameters": {}
}

Örnek vektörleştirici yükü

Microsoft Foundry model kataloğu vektörleştiricisi AML becerisinden farklı olarak yalnızca model kataloğu aracılığıyla dağıtılabilen ekleme modelleriyle çalışacak şekilde uyarlanmıştır. Temel fark, istek ve yanıt yükü konusunda endişelenmenize gerek olmadığıdır. Ancak, modeli dağıttıktan sonra kopyaladığınız "Model Kimliği"ne karşılık gelen değeri modelName sağlamanız gerekir.

Aşağıda, Foundry'den kopyalanan özelliklere göre dizin tanımınızda vektörleştiriciyi nasıl yapılandırabileceğinize ilişkin örnek bir yük verilmiştir.

Cohere modelleri için, beceriyle yaptığınız gibi URL'nizin sonuna /v1/embed yolunu ekleMEMELİSİNİZ.

"vectorizers": [
    {
        "name": "<YOUR_VECTORIZER_NAME_HERE>",
        "kind": "aml",
        "amlParameters": {
            "uri": "<YOUR_URL_HERE>",
            "key": "<YOUR_PRIMARY_KEY_HERE>",
            "modelName": "<YOUR_MODEL_ID_HERE>"
        },
    }
]

Token kimlik doğrulaması kullanarak bağlanın

Anahtar tabanlı kimlik doğrulamasını kullanamıyorsanız, Azure rol tabanlı erişim denetimi aracılığıyla token authentication için AML becerisini ve Microsoft Döküm modeli kataloğu vektörleştirici bağlantısını yapılandırabilirsiniz.

Arama hizmetinizin sistem veya kullanıcı tarafından atanan yönetilen kimliği ve kimliğin projeniz için Sahip veya Katkıda Bulunan izinlerine sahip olması gerekir. Daha sonra alanı beceri ve vektörleştirici tanımınızdan kaldırarak key yerine öğesini resourceIdkullanabilirsiniz. Projeniz ve arama hizmetiniz farklı bölgelerdeyse alanını da sağlayın region .

"uri": "<YOUR_URL_HERE>",
"resourceId": "subscriptions/<YOUR_SUBSCRIPTION_ID_HERE>/resourceGroups/<YOUR_RESOURCE_GROUP_NAME_HERE>/providers/Microsoft.MachineLearningServices/workspaces/<YOUR_AML_WORKSPACE_NAME_HERE>/onlineendpoints/<YOUR_AML_ENDPOINT_NAME_HERE>",
"region": "westus", // Only needed if project is in different region from search service

Not

Bu entegrasyon şu anda Cohere modelleri için belirteç kimlik doğrulamasını desteklemez. Anahtar tabanlı kimlik doğrulaması kullanmanız gerekir.