Udostępnij przez


Używanie modeli osadzania z katalogu modeli microsoft Foundry na potrzeby zintegrowanej wektoryzacji

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej w obszarze Dodatkowe warunki użytkowania. Najnowsza wersja zapoznawcza zestawów umiejętności — tworzenie lub aktualizowanie (interfejs API REST) obsługuje tę funkcję.

Z tego artykułu dowiesz się, jak uzyskać dostęp do modeli osadzania z wykazu modeli usługi Microsoft Foundry na potrzeby konwersji wektorów podczas indeksowania i wykonywania zapytań w usłudze Azure AI Search.

Przepływ pracy wymaga wdrożenia modelu z katalogu, który obejmuje osadzanie modeli firmy Microsoft i innych firm. Wdrażanie modelu jest rozliczane zgodnie ze strukturą rozliczeń każdego dostawcy.

Po wdrożeniu modelu można go użyć z umiejętnościami AML na potrzeby zintegrowanej wektoryzacji podczas indeksowania lub za pomocą wektoryzatora katalogu modeli Microsoft Foundry dla zapytań.

Napiwek

Kreator Importowania danych (nowy) pozwala wygenerować zestaw umiejętności, zawierający umiejętność AML dla modeli osadzonych wdrożonych na platformie Foundry. Definicja umiejętności AML dla danych wejściowych, danych wyjściowych i mapowań jest generowana przez kreatora, co zapewnia łatwy sposób testowania modelu przed napisaniem jakiegokolwiek kodu.

Wymagania wstępne

Obsługiwane modele osadzania

Obsługiwane modele osadzania z wykazu modeli różnią się w zależności od metody użycia:

Wdrożenie modelu osadzania z wykazu modeli

  1. Postępuj zgodnie z tymi instrukcjami , aby wdrożyć obsługiwany model w projekcie.

  2. Zanotuj docelowy identyfikator URI, klucz i nazwę modelu. Te wartości są potrzebne dla definicji wektoryzatora w indeksie wyszukiwania i zestawu umiejętności, który wywołuje punkty końcowe modelu podczas indeksowania.

    Jeśli wolisz uwierzytelnianie tokenu do uwierzytelniania opartego na kluczach, musisz skopiować tylko identyfikator URI i nazwę modelu. Zanotuj jednak region, w którym wdrożono model.

  3. Skonfiguruj indeks wyszukiwania i indeksator do korzystania z wdrożonego modelu.

Przykładowy pakiet umiejętności AML

Podczas wdrażania modeli osadzania z katalogu modeli nawiąż połączenie z nimi przy użyciu umiejętności AML w usłudze Azure AI Search na potrzeby indeksowania obciążeń.

W tej sekcji opisano definicję umiejętności AML i mapowania indeksów. Zawiera przykładowy ładunek, który został już skonfigurowany do współpracy z odpowiednim wdrożonym punktem końcowym. Aby uzyskać więcej informacji, zobacz Kontekst umiejętności i język adnotacji wejściowych.

Modele osadzania Cohere

Ten pakiet funkcji AML działa z następującymi modelami osadzania:

  • Cohere-embed-v3-angielski
  • Cohere-embed-v3-wielojęzyczny
  • Cohere-embed-v4

Przyjęto założenie, że fragmentujesz zawartość przy użyciu umiejętności Dzielenie tekstu i dlatego tekst, który ma zostać wektoryzowany, znajduje się w ścieżce /document/pages/* . Jeśli tekst pochodzi z innej ścieżki, zaktualizuj odpowiednio wszystkie odwołania do /document/pages/* ścieżki.

Należy dodać ścieżkę /v1/embed na końcu adresu URL skopiowanego z wdrożenia rozwiązania Foundry. Możesz również zmienić wartości danych input_typewejściowych , truncatei embedding_types , aby lepiej pasowały do twojego przypadku użycia. Aby uzyskać więcej informacji na temat dostępnych opcji, zapoznaj się z dokumentacją interfejsu API osadzania cohere.

Identyfikator URI i klucz są generowane podczas wdrażania modelu z wykazu. Aby uzyskać więcej informacji na temat tych wartości, zobacz How to deploy Cohere Embed models with Foundry (Jak wdrożyć modele osadzania cohere za pomocą rozwiązania Foundry).

{
  "@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"
    }
  ]
}

Ponadto dane wyjściowe modelu Cohere nie są bezpośrednio osadzaną tablicą, ale raczej obiektem JSON, który go zawiera. Należy wybrać ją odpowiednio podczas mapowania jej na definicję indeksu za pomocą metody indexProjections lub outputFieldMappings. Oto przykładowy indexProjections ładunek, który umożliwia zaimplementowanie tego mapowania.

Jeśli wybrałeś inny typ w definicji umiejętności embedding_types, zmień float w ścieżce source na wybrany typ.

"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": {}
}

Przykładowy ładunek wektoryzatora

Wektoryzator wykazu modeli firmy Microsoft Foundry, w przeciwieństwie do umiejętności AML, jest dostosowany do pracy tylko z modelami osadzania, które można wdrożyć za pośrednictwem wykazu modeli. Główną różnicą jest to, że nie musisz przejmować się treścią żądania i odpowiedzi. Należy jednak podać wartość modelName, która odpowiada ID modelu, skopiowanemu po wdrożeniu modelu.

Oto przykładowy ładunek sposobu konfigurowania wektoryzatora w definicji indeksu, biorąc pod uwagę właściwości skopiowane z rozwiązania Foundry.

W przypadku modeli Cohere nie należy dodawać /v1/embed ścieżki na końcu adresu URL, tak jak w przypadku umiejętności.

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

Nawiązywanie połączenia przy użyciu uwierzytelniania tokenu

Jeśli nie możesz użyć uwierzytelniania opartego na kluczach, możesz skonfigurować funkcje AML oraz połączenie wektoryzatora katalogu modelu Microsoft Foundry z wykorzystaniem uwierzytelniania tokenu przez kontrolę dostępu opartą na rolach na platformie Azure.

Usługa wyszukiwania musi mieć tożsamość zarządzaną przypisaną przez użytkownika lub system, a tożsamość musi mieć uprawnienia Właściciel lub Współautor dla projektu. Następnie możesz usunąć pole key z definicji umiejętności i wektoryzatora, zastępując je resourceId. Jeśli projekt i usługa wyszukiwania znajdują się w różnych regionach, należy również podać pole 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

Uwaga / Notatka

Ta integracja nie obsługuje obecnie uwierzytelniania tokenów dla modeli Cohere. Należy użyć uwierzytelniania opartego na kluczach.