Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.
Ważne
Funkcje, możliwości lub właściwości oznaczone (wersja zapoznawcza) nie są objęte umową dotyczącą poziomu usług, nie są zalecane w przypadku obciążeń produkcyjnych i mogą ulec zmianie lub ograniczeniu, zanim staną się one ogólnie dostępne. Warunki Wyszukiwanie AI platformy Azure wersji zapoznawczej mają zastosowanie do wszystkich funkcji w wersji zapoznawczej, niezależnie od tego, czy jest ona autonomiczna, czy częścią ogólnie dostępnej funkcji.
Z tego artykułu dowiesz się, jak używać modeli wykazu modeli Microsoft Foundry do zintegrowanej wektoryzacji (wersja zapoznawcza) podczas indeksowania i wykonywania zapytań w Wyszukiwanie AI platformy Azure.
Przepływ pracy wymaga wdrożenia modelu z katalogu, który obejmuje osadzanie modeli z 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ścią AML do zintegrowanej wektoryzacji podczas indeksowania lub z wektoryzatorem katalogu modeli Microsoft Foundry dla zapytań.
Wskazówka
Kreator importu danych umożliwia wygenerowanie zestawu umiejętności obejmującego umiejętności AML dla wdrożonych modeli osadzania w narzędziu 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
Usługa Wyszukiwanie AI platformy Azure w dowolnym regionie i w dowolnej warstwie cenowej.
Projekt oparty na centrum Microsoft Foundry.
Obsługiwane modele osadzania
Obsługiwane modele osadzania z wykazu modeli różnią się w zależności od metody użycia:
Aby uzyskać najnowszą listę modeli obsługiwanych programowo, odwołaj się do AML skill oraz katalogu wektoryzatora modelu Microsoft Foundry.
Aby uzyskać najnowszą listę modeli obsługiwanych w portalu Azure, zobacz Quickstart: wyszukiwanie wektorów w portalu Azure i Quickstart: wyszukiwanie wielomodalne w portalu Azure.
Wdrażanie modelu osadzania z wykazu modeli
Postępuj zgodnie z tymi instrukcjami portalu , aby wdrożyć obsługiwany model w projekcie.
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 nazwę modelu. Zanotuj jednak region, w którym wdrożono model.
Skonfiguruj indeks wyszukiwania i indeksator do korzystania z wdrożonego modelu.
Aby użyć modelu podczas indeksowania, zobacz Jak używać zintegrowanej wektoryzacji. Pamiętaj, aby użyć umiejętności AML, a nie Azure OpenAI Embedding skill. 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ć wektoryzatora katalogu modeli Microsoft Foundry.
Wdróż model osadzający jako wdrożenie bezserwerowe
Umiejętności AML i wektoryfikator katalogu modeli Microsoft Foundry akceptują tylko bezserwerowe wdrożenia modeli osadzania Cohere. Wdrożenia bezserwerowe za pośrednictwem portalu Microsoft Foundry nie są obsługiwane w przypadku tych modeli, dlatego użyj Azure CLI do utworzenia wdrożenia. Aby uzyskać więcej informacji, zapoznaj się z tematem Wdrażanie modeli jako bezserwerowe wdrożenia interfejsów API.
Aby utworzyć wdrożenie bezserwerowe Cohere:
Zainstaluj Azure CLI przy użyciu rozszerzenia
ml.az extension add -n mlZaloguj się do Azure i skonfiguruj domyślne ustawienia.
az login az account set --subscription <subscription-id> az configure --defaults workspace=<project-name> group=<resource-group>Utwórz plik
subscribe.yaml, aby zasubskrybować Marketplace dla tego modelu.name: cohere-embed-v3-english-subscription model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishW przypadku innych obsługiwanych modeli zastąp identyfikator modelu jedną z następujących wartości.
Model Identyfikator modelu Cohere-embed-v3-english azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishCohere-embed-v3-wielojęzyczny azureml://registries/azureml-cohere/models/Cohere-embed-v3-multilingualCohere-embed-v4 azureml://registries/azureml-cohere/models/Cohere-embed-v4Uruchom następujące polecenie, aby utworzyć subskrypcję.
az ml marketplace-subscription create --file subscribe.yamlUtwórz plik
endpoint.yaml, aby utworzyć bezserwerowy punkt końcowy.name: cohere-embed-v3-english-endpoint model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishUruchom następujące polecenie, aby utworzyć punkt końcowy.
az ml serverless-endpoint create --file endpoint.yamlW przypadku uwierzytelniania opartego na kluczach pobierz identyfikator URI punktu końcowego i klucz do użycia w umiejętności lub wektoryzatorze.
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
Przykładowy ładunek 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 Wyszukiwanie AI platformy Azure na potrzeby indeksowania obciążeń.
W tej sekcji opisano definicję umiejętności AML i mapowania indeksów. Zawiera przykładowy pakiet, który jest 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 osadzające Cohere
Ten ładunek umiejętności AML działa z następującymi modelami osadzania:
- Cohere-embed-v3-english
- 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, sprawdź dokumentację interfejsu Cohere Embed API.
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 wybrano inną embedding_types w definicji umiejętności, zmień float na wybrany typ w ścieżce source.
"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 katalogu modeli Microsoft Foundry, w przeciwieństwie do funkcji AML, jest dostosowany do pracy tylko z modelami osadzającymi, które można wdrażać poprzez katalog modeli. Główną różnicą jest to, że nie musisz martwić się o ładunek żądania i odpowiedzi. Należy jednak podać modelName, odpowiadającą "Identyfikatorowi modelu", który został skopiowany po wdrożeniu modelu.
Oto przykładowy zasób, jak skonfigurować wektoryzator w definicji indeksu na podstawie właściwości skopiowanych z rozwiązania Foundry.
W przypadku modeli Cohere nie należy dodawać ścieżki /v1/embed na końcu adresu URL, jak robiło się to w wypadku 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ć umiejętność AML oraz połączenie z wektoryzatorem modelu w katalogu Microsoft Foundry na potrzeby uwierzytelniania za pomocą token za pośrednictwem kontroli dostępu opartej na rolach w 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 ze swojej definicji umiejętności oraz wektoryzatora, zastępując je resourceId. Jeśli projekt i usługa wyszukiwania znajdują się w różnych regionach, podaj również 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
Ta integracja nie obsługuje obecnie uwierzytelniania tokenów dla modeli Cohere. Należy użyć uwierzytelniania opartego na kluczach.