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.
Hinweis
Azure KI-Suche ist über das Azure Portal, REST-APIs und Azure SDKs verfügbar. Es unterstützt auch Foundry IQ, die verwaltete Wissensschicht, die Unternehmensinhalte in wiederverwendbare, berechtigungsfähige Wissensbasen für Agenten im Microsoft Foundry-Portal transformiert.
Wichtig
Features, Funktionen oder Eigenschaften, die als (Vorschau) gekennzeichnet sind, werden von keiner Dienstebenenvereinbarung (SLA) abgedeckt, werden für Produktionsworkloads nicht empfohlen und können geändert oder eingeschränkt werden, bevor sie allgemein verfügbar sind. Die Azure KI-Suche Vorschaubedingungen gelten für alle Vorschaufunktionen, unabhängig davon, ob sie eigenständig oder Teil eines allgemein verfügbaren Features ist.
In diesem Artikel erfahren Sie, wie Sie Microsoft Foundry-Modellkatalogmodelle für integrierte Vektorisierung (Vorschau) während der Indizierung und Abfrageausführung in Azure KI-Suche verwenden.
Der Workflow erfordert, dass Sie ein Modell aus dem Katalog bereitstellen, das Einbettungsmodelle aus 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 dem AML skill für die integrierte Vektorisierung während der Indizierung oder mit dem Microsoft Foundry Model Catalog Vectorizer für Abfragen verwenden.
Tipp
Verwenden Sie den Assistenten zum Importieren von Daten, um ein Skillset zu generieren, das eine AML-Fähigkeit für bereitgestellte Einbettungsmodelle in Foundry enthält. Die AML-Qualifikationsdefinition 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 KI-Suche-Dienst in jeder Region und auf allen Preisstufen.
Unterstützte Einbettungsmodelle
Unterstützte Einbettungsmodelle aus dem Modellkatalog variieren je nach Verwendungsmethode:
Die neueste Liste der Modelle, die programmgesteuert unterstützt sind, finden Sie in den Verweisen AML skill und Microsoft Foundry model catalog vectorizer.
Die neueste Liste der im Azure-Portal unterstützten Modelle finden Sie unter Quickstart: Vektorsuche im Azure Portal und Quickstart: Multimodale Suche im Azure Portal.
Bereitstellen eines Einbettungsmodells aus dem Modellkatalog
Befolgen Sie diese Portalanweisungen , um ein unterstütztes Modell für Ihr Projekt bereitzustellen.
Notieren Sie sich den 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 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, dass Sie die AML-Fähigkeit und nicht die Azure OpenAI Embedding Skills verwenden. Im nächsten Abschnitt wird die Qualifikationskonfiguration beschrieben.
Informationen zum Verwenden des Modells als Vektorisierer zur Abfragezeit finden Sie unter Konfigurieren eines Vektorizers. Achten Sie darauf, den Microsoft Foundry-Modellkatalogvektorizer für diesen Schritt zu verwenden.
Bereitstellen eines Einbettungsmodells als serverlose Bereitstellung
Die AML-Fähigkeit und Microsoft Foundry-Modellkatalog-Vektorizer akzeptieren nur serverlose Bereitstellungen von Cohere-Einbettungsmodellen. Serverlose Bereitstellungen über das Microsoft Foundry-Portal werden für diese Modelle nicht unterstützt. Verwenden Sie daher die Azure CLI, um die Bereitstellung zu erstellen. Weitere Informationen finden Sie unter Bereitstellen von Modellen als serverlose API-Bereitstellungen.
So erstellen Sie eine serverlose Cohere-Bereitstellung:
Installieren Sie die Azure CLI mit der Erweiterung
ml.az extension add -n mlMelden Sie sich bei Azure an, und legen Sie die Standardwerte fest.
az login az account set --subscription <subscription-id> az configure --defaults workspace=<project-name> group=<resource-group>Erstellen Sie eine
subscribe.yamlDatei, um das Marketplace-Abonnement für das Modell zu abonnieren.name: cohere-embed-v3-english-subscription model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishErsetzen Sie bei anderen unterstützten Modellen die Modell-ID durch einen der folgenden Werte.
Modell Modell-ID Cohere-embed-v3-englisch azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishCohere-embed-v3-multilingual azureml://registries/azureml-cohere/models/Cohere-embed-v3-multilingualCohere-embed-v4 azureml://registries/azureml-cohere/models/Cohere-embed-v4Führen Sie den folgenden Befehl aus, um das Abonnement zu erstellen.
az ml marketplace-subscription create --file subscribe.yamlErstellen Sie eine
endpoint.yamlDatei zum Erstellen des serverlosen Endpunkts.name: cohere-embed-v3-english-endpoint model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishFühren Sie den folgenden Befehl aus, um den Endpunkt zu erstellen.
az ml serverless-endpoint create --file endpoint.yamlFür die schlüsselbasierte Authentifizierung benötigen Sie den Endpunkt-URI und den Schlüssel zur Verwendung im Skill oder Vektorisierer.
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
Beispiel-AML-Qualifikationsnutzlast
Wenn Sie Einbettungsmodelle aus dem Modellkatalog bereitstellen, stellen Sie mithilfe der AML skill in Azure KI-Suche für die Indizierung von Workloads eine Verbindung mit diesen her.
In diesem Abschnitt werden die AML-Qualifikationsdefinition 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 Qualifikationskontext und Eingabeanmerkungssprache.
Cohere-Einbettungsmodelle
Diese AML-Qualifikationsnutzlast funktioniert mit den folgenden Einbettungsmodellen:
- Cohere-embed-v3-englisch
- Cohere-embed-v3-multilingual
- Cohere-embed-v4
Es wird davon ausgegangen, dass Sie Ihre Inhalte mithilfe der Fähigkeit "Textteilung" abteilen und daher der zu vektorisierende Text im /document/pages/* Pfad liegt. Wenn Ihr Text von einem anderen Pfad stammt, aktualisieren Sie alle Verweise auf den /document/pages/* Pfad 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 bei der Zuordnung zur Indexdefinition mit indexProjections oder outputFieldMappings korrekt auswählen. Hier ist eine Beispiel-Payload indexProjections, mit der Sie diese Zuordnung implementieren können.
Wenn Sie in Ihrer Fähigkeitsdefinition eine andere embedding_types ausgewählt haben, ändern Sie float im source-Pfad zu dem von Ihnen 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-Vektorisierungsnutzlast
Der Microsoft Foundry Model Catalog Vectorizer ist im Gegensatz zur AML-Fähigkeit darauf zugeschnitten, nur mit einbettbaren Modellen 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, die der "Modell-ID" entspricht, angeben, die Sie nach der Bereitstellung des Modells kopiert haben.
Nachfolgend finden Sie ein Beispieldatensatz, mit dem Sie den Vektorisierer in Ihrer Indexdefinition konfigurieren können, unter der Voraussetzung, dass die Eigenschaften aus Foundry kopiert wurden.
Für Cohere-Modelle sollten Sie nicht den /v1/embed Pfad am Ende Ihrer URL hinzufügen, wie Sie es mit dem Skill getan haben.
"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 Microsoft Foundry-Modellkatalog-Vektorisierungsverbindung für tokenauthentifizierung über die rollenbasierte Zugriffssteuerung für 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.