Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Dieses Feature befindet sich in der Public Preview-Phase und unterliegt zusätzlichen Nutzungsbedingungen. Die neueste Vorschauversion von Skillsets – Create Or Update (REST API) unterstützt dieses Feature.
In diesem Artikel erfahren Sie, wie Sie im Microsoft Foundry-Modellkatalog auf Einbettungsmodelle für Vektorkonvertierungen während der Indizierung und Abfrageausführung in Azure AI Search zugreifen.
Der Workflow erfordert, dass Sie ein Modell aus dem Katalog bereitstellen, das Einbettungsmodelle von Microsoft und anderen Unternehmen umfasst. Die Bereitstellung eines Modells ist gemäß der Abrechnungsstruktur jedes Anbieters abrechnend.
Nachdem das Modell bereitgestellt wurde, können Sie es mit der AML-Fähigkeit zur integrierten Vektorisierung während der Indizierung oder mit dem Microsoft Foundry-Modellkatalogvektorizer für Abfragen verwenden.
Tipp
Verwenden Sie den Assistenten zum Importieren von Daten (neu), um ein Skillset zu generieren, das eine AML-Fähigkeit für bereitgestellte Einbettungsmodelle in Foundry enthält. Die AML-Skill-Definition für Eingaben, Ausgaben und Zuordnungen wird vom Assistenten generiert, wodurch Sie ein Modell einfach testen können, bevor Sie Code schreiben.
Voraussetzungen
Ein Azure AI Search-Dienst in jeder Region und auf einem beliebigen Preisniveau.
Unterstützte Einbettungsmodelle
Unterstützte Einbettungsmodelle aus dem Modellkatalog variieren je nach Verwendungsmethode:
Die neueste Liste der Modelle, die automatisiert unterstützt werden, finden Sie in der AML-Skill-Dokumentation und im Microsoft Foundry-Modellkatalog-Vektorisierer.
Die neueste Liste der im Azure-Portal unterstützten Modelle finden Sie in der Schnellstartanleitung: Vektorsuche im Azure-Portal und Schnellstart: Multimodale Suche im Azure-Portal.
Bereitstellen eines Einbettungsmodells aus dem Modellkatalog
Befolgen Sie diese Anweisungen , um ein unterstütztes Modell für Ihr Projekt bereitzustellen.
Notieren Sie sich die Ziel-URI, den Schlüssel und den Modellnamen. Sie benötigen diese Werte für die Vektorizerdefinition in einem Suchindex und für das Skillset, das die Modellendpunkte während der Indizierung aufruft.
Wenn Sie die Tokenauthentifizierung für die schlüsselbasierte Authentifizierung bevorzugen, müssen Sie nur den URI und den Modellnamen kopieren. Notieren Sie sich jedoch die Region, in der das Modell bereitgestellt wird.
Konfigurieren Sie einen Suchindex und einen Indexer für die Verwendung des bereitgestellten Modells.
Informationen zur Verwendung des Modells während der Indizierung finden Sie unter Verwendung der integrierten Vektorisierung. Achten Sie darauf, die AML-Fähigkeit zu verwenden, nicht die Azure OpenAI Embedding-Fähigkeit. Im nächsten Abschnitt wird die Skillkonfiguration beschrieben.
Informationen dazu, wie Sie das Modell zur Abfragezeit als Vektorisierung verwenden, finden Sie unter Konfigurieren einer Vektorisierung. Verwenden Sie unbedingt den Microsoft Foundry-Modellkatalogvektorizer für diesen Schritt.
Beispiel-AML-Qualifikationsnutzlast
Wenn Sie Einbettungsmodelle aus dem Modellkatalog bereitstellen, stellen Sie eine Verbindung mit ihnen her, indem Sie die AML-Fähigkeit in Azure AI Search für Indizierungsworkloads verwenden.
In diesem Abschnitt werden die AML-Skilldefinition und Indexzuordnungen beschrieben. Sie enthält eine Beispielnutzlast, die bereits für die Arbeit mit dem entsprechenden bereitgestellten Endpunkt konfiguriert ist. Weitere Informationen finden Sie unter Skills-Kontext und Eingabeanmerkungssprache.
Cohere Einbettungsmodelle
Diese AML-Qualifikationsnutzlast funktioniert mit den folgenden Einbettungsmodellen:
- Cohere-embed-v3-english
- Cohere-embed-v3-multilingual
- Cohere-embed-v4
Es wird davon ausgegangen, dass Sie Ihre Inhalte mithilfe der Text Split-Fähigkeit abteilen und der zu vektorisierende Text daher im /document/pages/* Pfad liegt. Wenn Ihr Text aus einem anderen Pfad stammt, aktualisieren Sie alle Verweise auf den Pfad /document/pages/* entsprechend.
Sie müssen den /v1/embed Pfad am Ende der URL hinzufügen, die Sie aus Ihrer Foundry-Bereitstellung kopiert haben. Sie können auch die Werte für die input_type, truncateund embedding_types Eingaben ändern, um Ihren Anwendungsfall besser anzupassen. Weitere Informationen zu den verfügbaren Optionen finden Sie in der Referenz zur Cohere Embed-API.
Der URI und der Schlüssel werden generiert, wenn Sie das Modell aus dem Katalog bereitstellen. Weitere Informationen zu diesen Werten finden Sie unter Bereitstellen von Cohere Embed-Modellen mit 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"
}
]
}
Darüber hinaus handelt es sich bei der Ausgabe des Cohere-Modells nicht direkt um das Einbettungsarray, sondern um ein JSON-Objekt, das dieses enthält. Sie müssen es entsprechend auswählen, wenn sie es der Indexdefinition über indexProjections oder outputFieldMappings zuordnen. Im Folgenden sehen Sie indexProjections-Beispielnutzdaten, mit denen Sie diese Zuordnung implementieren können.
Wenn Sie in Ihrer Skilldefinition einen anderen embedding_types ausgewählt haben, ändern Sie float im source-Pfad in den ausgewählten 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": {}
}
Beispiel-Vectorizer-Payload
Der Microsoft Foundry-Modellkatalog-Vektorisierer ist im Gegensatz zur AML-Funktion speziell darauf ausgelegt, nur mit Einbettungsmodellen zu arbeiten, die über den Modellkatalog bereitgestellt werden können. Der Hauptunterschied besteht darin, dass Sie sich keine Gedanken über die Anforderungs- und Antwortnutzlast machen müssen. Sie müssen jedoch die modelName angeben, die mit der "Modell-ID" übereinstimmt, die Sie nach der Implementierung des Modells kopiert haben.
Nachfolgend finden Sie eine Beispiel-Payload, mit der Sie den Vektorizer in Ihrer Indexdefinition konfigurieren würden, wenn die Eigenschaften aus Foundry kopiert sind.
Bei Cohere-Modellen sollten Sie den Pfad /v1/embed NICHT wie beim Skill am Ende Ihrer URL hinzufügen.
"vectorizers": [
{
"name": "<YOUR_VECTORIZER_NAME_HERE>",
"kind": "aml",
"amlParameters": {
"uri": "<YOUR_URL_HERE>",
"key": "<YOUR_PRIMARY_KEY_HERE>",
"modelName": "<YOUR_MODEL_ID_HERE>"
},
}
]
Herstellen einer Verbindung mithilfe der Tokenauthentifizierung
Wenn Sie die schlüsselbasierte Authentifizierung nicht verwenden können, können Sie die AML-Fähigkeit und die Microsoft Foundry-Modellkatalog-Vektorisierungsverbindung für die Tokenauthentifizierung über die rollenbasierte Zugriffssteuerung in Azure konfigurieren.
Ihr Suchdienst muss über ein System oder eine vom Benutzer zugewiesene verwaltete Identität verfügen, und die Identität muss über Besitzer - oder Mitwirkendeberechtigungen für Ihr Projekt verfügen. Anschließend können Sie das key Feld aus Ihrer Qualifikations- und Vektorizerdefinition entfernen, indem Sie es durch resourceIdersetzen. Wenn sich Ihr Projekt- und Suchdienst in verschiedenen Regionen befinden, stellen Sie auch das region Feld bereit.
"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
Hinweis
Diese Integration unterstützt derzeit keine Tokenauthentifizierung für Cohere-Modelle. Sie müssen die schlüsselbasierte Authentifizierung verwenden.