Wird verwendet AWS CloudFormation , um Remote-Inferenz für die semantische Suche einzurichten - OpenSearch Amazon-Dienst

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Wird verwendet AWS CloudFormation , um Remote-Inferenz für die semantische Suche einzurichten

Ab OpenSearch Version 2.9 können Sie Remote-Inferenz mit semantischer Suche verwenden, um Ihre eigenen Modelle für maschinelles Lernen (ML) zu hosten. Remote Inference verwendet das ML Commons-Plugin, damit Sie Ihre Modellinferenzen remote auf ML-Diensten wie Amazon BedRock hosten Amazon SageMaker und sie über ML-Konnektoren mit Amazon OpenSearch Service verbinden können.

Um die Einrichtung von Remote-Inferenzen zu vereinfachen, stellt Amazon OpenSearch Service eine AWS CloudFormationVorlage in der Konsole bereit. CloudFormation ist eine AWS-Service , mit der Sie Ressourcen von Drittanbietern modellieren, bereitstellen AWS und verwalten können, indem Sie Infrastruktur als Code behandeln.

Die OpenSearch CloudFormation Vorlage automatisiert den Prozess der Modellbereitstellung für Sie, sodass Sie auf einfache Weise ein Modell in Ihrer OpenSearch Service-Domain erstellen und dann die Modell-ID verwenden können, um Daten aufzunehmen und neuronale Suchabfragen auszuführen.

Wenn Sie neuronale Sparse-Encoder mit OpenSearch Service Version 2.12 und höher verwenden, empfehlen wir, das Tokenizer-Modell lokal zu verwenden, anstatt es remote bereitzustellen. Weitere Informationen finden Sie in der Dokumentation unter Sparse-Kodierungsmodelle. OpenSearch

Voraussetzungen

Um eine CloudFormation Vorlage mit OpenSearch Service zu verwenden, müssen Sie die folgenden Voraussetzungen erfüllen.

Richten Sie eine OpenSearch Dienstdomäne ein

Bevor Sie eine CloudFormation Vorlage verwenden können, müssen Sie eine Amazon OpenSearch Service-Domain mit Version 2.9 oder höher und aktivierter detaillierter Zugriffskontrolle einrichten. Erstellen Sie eine OpenSearch Service-Backend-Rolle, um dem ML Commons-Plugin die Erlaubnis zu erteilen, Ihren Connector für Sie zu erstellen.

Die CloudFormation Vorlage erstellt für Sie eine Lambda-IAM-Rolle mit dem StandardnamenLambdaInvokeOpenSearchMLCommonsRole, den Sie überschreiben können, wenn Sie einen anderen Namen wählen möchten. Nachdem die Vorlage diese IAM-Rolle erstellt hat, müssen Sie der Lambda-Funktion die Erlaubnis erteilen, Ihre OpenSearch Service-Domain aufzurufen. Ordnen Sie dazu die benannte Rolle mit ml_full_access den folgenden Schritten Ihrer OpenSearch Service-Backend-Rolle zu:

  1. Navigieren Sie zum OpenSearch Dashboards-Plugin für Ihre OpenSearch Service-Domain. Sie finden den Dashboards-Endpunkt in Ihrem Domain-Dashboard in der OpenSearch Service-Konsole.

  2. Wählen Sie im Hauptmenü Sicherheit, Rollen und dann die Rolle ml_full_access aus.

  3. Wählen Sie Zugeordnete Benutzer, Mapping verwalten.

  4. Fügen Sie unter Backend-Rollen den ARN der Lambda-Rolle hinzu, für die eine Berechtigung zum Aufrufen Ihrer Domain erforderlich ist.

    arn:aws:iam::account-id:role/role-name
  5. Wählen Sie Zuordnen und bestätigen Sie, dass der Benutzer oder die Rolle unter Zugeordnete Benutzer angezeigt wird.

Nachdem Sie die Rolle zugeordnet haben, navigieren Sie zur Sicherheitskonfiguration Ihrer Domain und fügen Sie die Lambda IAM-Rolle zu Ihrer OpenSearch Servicezugriffsrichtlinie hinzu.

Aktivieren Sie die Berechtigungen für Ihr AWS-Konto

Sie AWS-Konto müssen über die Zugriffsberechtigung CloudFormation und Lambda verfügen, zusammen mit dem, was AWS-Service Sie für Ihre Vorlage wählen — entweder SageMaker Runtime oder Amazon. BedRock

Wenn Sie Amazon Bedrock verwenden, müssen Sie auch Ihr Modell registrieren. Informationen zur Registrierung Ihres Modells finden Sie unter Modellzugriff im Amazon Bedrock-Benutzerhandbuch.

Wenn Sie Ihren eigenen Amazon S3 S3-Bucket verwenden, um Modellartefakte bereitzustellen, müssen Sie die CloudFormation IAM-Rolle zu Ihrer S3-Zugriffsrichtlinie hinzufügen. Informationen finden Sie im Abschnitt Hinzufügen und Entfernen von IAM-Identitätsberechtigungen im -IAM-Benutzerhandbuch.

Amazon SageMaker Vorlagen

Die SageMaker CloudFormation Amazon-Vorlagen definieren mehrere AWS Ressourcen, um das neuronale Plugin und die semantische Suche für Sie einzurichten.

Verwenden Sie zunächst die SageMaker Vorlage Integration mit Texteinbettungsmodellen über Amazon, um ein Texteinbettungsmodell in SageMaker Runtime als Server bereitzustellen. Wenn Sie keinen Modellendpunkt angeben, CloudFormation erstellt eine IAM-Rolle, die es SageMaker Runtime ermöglicht, Modellartefakte von Amazon S3 herunterzuladen und auf dem Server bereitzustellen. Wenn Sie einen Endpunkt angeben, CloudFormation erstellt eine IAM-Rolle, die der Lambda-Funktion den Zugriff auf die OpenSearch Dienstdomäne ermöglicht oder, falls die Rolle bereits vorhanden ist, aktualisiert und wiederverwendet. Der Endpunkt dient dem Remote-Modell, das für den ML-Connector mit dem ML Commons-Plugin verwendet wird.

Verwenden Sie als Nächstes die Vorlage Integration with Sparse Encoders through Amazon Sagemaker, um eine Lambda-Funktion zu erstellen, mit der Ihre Domain Remote Inference Connectors einrichtet. Nachdem der Konnektor in OpenSearch Service erstellt wurde, kann die Remote-Inferenz mithilfe des Remote-Modells in Runtime eine semantische Suche ausführen. SageMaker Die Vorlage gibt Ihnen die Modell-ID in Ihrer Domain zurück, sodass Sie mit der Suche beginnen können.

Um die SageMaker CloudFormation Amazon-Vorlagen zu verwenden
  1. Öffnen Sie die Amazon OpenSearch Service-Konsole unter https://console.aws.amazon.com/aos/home.

  2. Wählen Sie in der linken Navigationsleiste Integrationen aus.

  3. Wählen Sie unter jeder SageMaker Amazon-Vorlage die Optionen Domain konfigurieren, Public Domain konfigurieren aus.

  4. Folgen Sie der Aufforderung in der CloudFormation Konsole, um Ihren Stack bereitzustellen und ein Modell einzurichten.

Anmerkung

OpenSearch Der Service bietet auch eine separate Vorlage für die Konfiguration der VPC-Domäne. Wenn Sie diese Vorlage verwenden, müssen Sie die VPC-ID für die Lambda-Funktion angeben.

Amazon Bedrock-Vorlagen

Ähnlich wie die SageMaker CloudFormation Amazon-Vorlagen stellt die Amazon CloudFormation Bedrock-Vorlage die AWS Ressourcen bereit, die zum Erstellen von Verbindungen zwischen OpenSearch Service und Amazon Bedrock erforderlich sind.

Zunächst erstellt die Vorlage eine IAM-Rolle, die es der future Lambda-Funktion ermöglicht, auf Ihre OpenSearch Service-Domain zuzugreifen. Die Vorlage erstellt dann die Lambda-Funktion, bei der die Domain mithilfe des ML Commons-Plugins einen Konnektor erstellt. Nachdem OpenSearch Service den Connector erstellt hat, ist die Einrichtung der Remote-Inferenz abgeschlossen und Sie können semantische Suchen mithilfe der Amazon Bedrock API-Operationen ausführen.

Beachten Sie, dass Sie kein Modell für SageMaker Runtime bereitstellen müssen, da Amazon Bedrock seine eigenen ML-Modelle hostet. Stattdessen verwendet die Vorlage einen vordefinierten Endpunkt für Amazon Bedrock und überspringt die Schritte zur Endpunktbereitstellung.

Um die Amazon CloudFormation Bedrock-Vorlage zu verwenden
  1. Öffnen Sie die Amazon OpenSearch Service-Konsole unter https://console.aws.amazon.com/aos/home.

  2. Wählen Sie in der linken Navigationsleiste Integrationen aus.

  3. Wählen Sie unter Integrate with Amazon Titan Text Embeddings model through Amazon Bedrock die Optionen Domain konfigurieren, Public domain konfigurieren aus.

  4. Folgen Sie der Aufforderung, um Ihr Modell einzurichten.

Anmerkung

OpenSearch Der Service bietet auch eine separate Vorlage für die Konfiguration der VPC-Domäne. Wenn Sie diese Vorlage verwenden, müssen Sie die VPC-ID für die Lambda-Funktion angeben.

Darüber hinaus bietet OpenSearch Service die folgenden Amazon Bedrock-Vorlagen für die Verbindung mit dem Cohere-Modell und dem multimodalen Einbettungsmodell von Amazon Titan:

  • Integration with Cohere Embed through Amazon Bedrock

  • Integrate with Amazon Bedrock Titan Multi-modal