Używanie modeli osadzania z katalogu modeli usługi Azure AI Foundry na potrzeby zintegrowanej wektoryzacji
Ważne
Ta funkcja jest dostępna w publicznej wersji zapoznawczej w obszarze Dodatkowe warunki użytkowania. Interfejs API REST 2024-05-01-Preview obsługuje tę funkcję.
W tym artykule dowiesz się, jak uzyskać dostęp do modeli osadzania w katalogu modeli usługi Azure AI Foundry na potrzeby konwersji wektorów podczas indeksowania i zapytań w usłudze Azure AI Search.
Przepływ pracy obejmuje kroki wdrażania modelu. Wykaz modeli obejmuje osadzanie modeli od 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ć do zintegrowanej wektoryzacji podczas indeksowania lub za pomocą wektoryzatora usługi Azure AI Foundry dla zapytań.
Napiwek
Kreator importowania i wektoryzacji danych umożliwia wygenerowanie zestawu umiejętności obejmującego umiejętności AML dla wdrożonych modeli osadzania w usłudze Azure AI 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
Azure AI Search, dowolny region i warstwa.
Usługa Azure AI Foundry i projekt rozwiązania Azure AI Foundry.
Obsługiwane modele osadzania
Zintegrowana wektoryzacja i kreator importowania i wektoryzacji danych obsługuje następujące modele osadzania w wykazie modeli:
W przypadku osadzania tekstu:
- Cohere-embed-v3-english
- Cohere-embed-v3-multilingual
W przypadku osadzania obrazów:
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Wdrażanie modelu osadzania z katalogu modeli usługi Azure AI Foundry
Otwórz katalog modeli usługi Azure AI Foundry. Utwórz projekt, jeśli jeszcze go nie masz.
Zastosuj filtr, aby wyświetlić tylko modele osadzania. W obszarze Zadania wnioskowania wybierz pozycję Osadzanie:
Wybierz obsługiwany model, a następnie wybierz pozycję Wdróż.
Zaakceptuj wartości domyślne lub zmodyfikuj je zgodnie z potrzebami, a następnie wybierz pozycję Wdróż. Szczegóły wdrożenia różnią się w zależności od wybranego modelu.
Poczekaj na zakończenie wdrażania modelu, monitorując stan aprowizacji. Powinna zostać zmieniona z "Aprowizacja" na "Aktualizowanie" na "Powodzenie". Może być konieczne wybranie pozycji Odśwież co kilka minut, aby wyświetlić aktualizację stanu.
Zanotuj docelowy identyfikator URI, klucz i nazwę modelu. Te wartości są potrzebne dla definicji wektoryzatora w indeksie wyszukiwania oraz zestawu umiejętności, który wywołuje punkty końcowe modelu podczas indeksowania.
Opcjonalnie możesz zmienić punkt końcowy tak, aby używał uwierzytelniania tokenu zamiast uwierzytelniania za pomocą klucza. Jeśli włączysz uwierzytelnianie tokenu, musisz skopiować tylko identyfikator URI i nazwę modelu, ale zanotuj region, w którym wdrożono model.
Teraz można skonfigurować indeks wyszukiwania i indeksator do korzystania z wdrożonego modelu.
Aby użyć modelu podczas indeksowania, zobacz kroki włączania zintegrowanej wektoryzacji. Pamiętaj, aby użyć umiejętności usługi Azure Machine Learning (AML), a nie umiejętności AzureOpenAIEmbedding. W następnej sekcji opisano konfigurację umiejętności.
Aby użyć modelu jako wektoryzatora w czasie wykonywania zapytania, zobacz Konfigurowanie wektoryzatora. Pamiętaj, aby w tym kroku użyć wektory katalogów modeli usługi Azure AI Foundry.
Przykładowe ładunki umiejętności AML
Podczas wdrażania modeli osadzania z katalogu modeli usługi Azure AI Foundry łączysz się 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 on przykładowe ładunki, które są już skonfigurowane do pracy z odpowiednimi wdrożonymi punktami końcowymi. Aby uzyskać więcej informacji technicznych na temat sposobu działania tych ładunków, przeczytaj informacje na temat kontekstu umiejętności i języka adnotacji wejściowych.
Ten ładunek umiejętności AML współdziała z następującymi modelami osadzania obrazów z usługi Azure AI Foundry:
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Przyjęto założenie, że obrazy pochodzą ze ścieżki utworzonej /document/normalized_images/*
przez włączenie wbudowanego wyodrębniania obrazów. Jeśli obrazy pochodzą z innej ścieżki lub są przechowywane jako adresy URL, zaktualizuj wszystkie odwołania do /document/normalized_images/*
ścieżki zgodnie z.
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 large language models with Azure AI Foundry (Jak wdrożyć duże modele językowe za pomocą usługi Azure AI Foundry).
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"context": "/document/normalized_images/*",
"uri": "https://myproject-1a1a-abcd.eastus.inference.ml.azure.com/score",
"timeout": "PT1M",
"key": "bbbbbbbb-1c1c-2d2d-3e3e-444444444444",
"inputs": [
{
"name": "input_data",
"sourceContext": "/document/normalized_images/*",
"inputs": [
{
"name": "columns",
"source": "=['image', 'text']"
},
{
"name": "index",
"source": "=[0]"
},
{
"name": "data",
"source": "=[[$(/document/normalized_images/*/data), '']]"
}
]
}
],
"outputs": [
{
"name": "image_features"
}
]
}
Przykładowy ładunek wektoryfikatora usługi Azure AI Foundry
Wektoryzator usługi Azure AI Foundry, w przeciwieństwie do umiejętności AML, jest dostosowany do pracy tylko z tymi modelami osadzania, które można wdrożyć za pośrednictwem katalogu modeli usługi Azure AI Foundry. Główną różnicą jest to, że nie musisz martwić się o ładunek żądania i odpowiedzi, ale musisz podać modelName
element , który odpowiada identyfikatorowi modelu skopiowanemu po wdrożeniu modelu w portalu azure AI Foundry.
Oto przykładowy ładunek sposobu konfigurowania wektoryzatora w definicji indeksu, biorąc pod uwagę właściwości skopiowane z usługi Azure AI 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 zamiast tego skonfigurować umiejętności AML i połączenie wektoryzatora usługi Azure AI Foundry na potrzeby uwierzytelniania tokenu za pośrednictwem kontroli dostępu opartej 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 obszaru roboczego projektu AML. Następnie możesz usunąć pole klucza z definicji umiejętności i wektoryzatora, zastępując je polem resourceId. Jeśli projekt AML i usługa wyszukiwania znajdują się w różnych regionach, podaj również pole regionu.
"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 need if AML project lives in different region from search service