Jak zaimplementować zintegrowaną wektoryzację przy użyciu modeli z usługi Azure AI Studio
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 Studio 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 z usług Azure OpenAI, Cohere, Facebook i OpenAI. 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 z wektoryzatorem AI Studio dla zapytań.
Wdrażanie modelu osadzania z katalogu modeli usługi Azure AI Studio
Otwórz katalog modeli usługi Azure AI Studio.
Zastosuj filtr, aby wyświetlić tylko modele osadzania. W obszarze Zadania wnioskowania wybierz pozycję Osadzanie:
Wybierz model, za pomocą którego chcesz wektoryzować zawartość. Następnie wybierz pozycję Wdróż i wybierz opcję wdrożenia.
Wypełnij żądane szczegóły. Wybierz lub utwórz nowy projekt sztucznej inteligencji, 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.
Skopiuj pola Adres URL, Klucz podstawowy i Identyfikator modelu i odłóż je na później. 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 adres URL i identyfikator modelu, a także zanotować 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ć wektoryfikatora wykazu modeli usługi Azure AI Studio.
Przykładowe ładunki umiejętności AML
Podczas wdrażania modeli osadzania z katalogu modeli usługi Azure AI Studio łą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.
- Wprowadzanie tekstu dla interfejsu API wnioskowania
- Dane wejściowe obrazu dla interfejsu API wnioskowania
- Cohere
Ten ładunek umiejętności AML działa z następującymi modelami z programu AI Studio:
- OpenAI-CLIP-Image-Text-Embeddings-vit-base-patch32
- OpenAI-CLIP-Image-Text-Embeddings-ViT-Large-Patch14-336
Przyjęto założenie, że fragmentujesz zawartość przy użyciu umiejętności Dzielenie tekstu i że 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.
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 Studio (Jak wdrażać duże modele językowe za pomocą programu Azure AI Studio).
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"context": "/document/pages/*",
"uri": "<YOUR_MODEL_URL_HERE>",
"key": "<YOUR_MODEL_KEY_HERE>",
"inputs": [
{
"name": "input_data",
"sourceContext": "/document/pages/*",
"inputs": [
{
"name": "columns",
"source": "=['image', 'text']"
},
{
"name": "index",
"source": "=[0]"
},
{
"name": "data",
"source": "=[['', $(/document/pages/*)]]"
}
]
}
],
"outputs": [
{
"name": "text_features"
}
]
}
Przykładowy ładunek wektoryzatora programu AI Studio
Wektoryzator AI Studio, 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 AI Studio. 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 programie AI Studio.
Oto przykładowy ładunek sposobu konfigurowania wektoryzatora w definicji indeksu, biorąc pod uwagę właściwości skopiowane z programu AI Studio.
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 AI Studio 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