

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.

# OpenSearch Vorlagen für das Service Flow-Framework
<a name="ml-workflow-framework"></a>

Mit den Amazon OpenSearch Service Flow Framework-Vorlagen können Sie komplexe Aufgaben zur Einrichtung und Vorverarbeitung von OpenSearch Services automatisieren, indem sie Vorlagen für gängige Anwendungsfälle bereitstellen. Sie können beispielsweise Flow-Framework-Vorlagen verwenden, um Einrichtungsaufgaben für maschinelles Lernen zu automatisieren. Die Amazon OpenSearch Service Flow Framework-Vorlagen bieten eine kompakte Beschreibung des Einrichtungsprozesses in einem JSON- oder YAML-Dokument. Diese Vorlagen beschreiben automatisierte Workflow-Konfigurationen für Konversationschats oder die Generierung von Abfragen, KI-Konnektoren, Tools, Agenten und andere Komponenten, die den OpenSearch Service für die Backend-Nutzung für generative Modelle vorbereiten.

Die Vorlagen für das Amazon OpenSearch Service Flow Framework können an Ihre spezifischen Bedürfnisse angepasst werden. Ein Beispiel für eine benutzerdefinierte Flow-Framework-Vorlage finden Sie unter [Flow-Framework](https://github.com/opensearch-project/flow-framework/blob/main/sample-templates/deploy-bedrock-claude-model.json). Vom OpenSearch Service bereitgestellte Vorlagen finden Sie unter [Workflow-Vorlagen](https://opensearch.org/docs/2.13/automating-configurations/workflow-templates/). Eine umfassende Dokumentation, einschließlich detaillierter Schritte, einer API-Referenz und einer Referenz aller verfügbaren Einstellungen, finden Sie in der Open-Source-Dokumentation unter [Automatisieren der Konfiguration](https://github.com/opensearch-project/flow-framework/blob/main/sample-templates/deploy-bedrock-claude-model.json). OpenSearch 

**Anmerkung**  
Flow-Framework unterstützt keine Backend-Rollenfilterung für OpenSearch Service 2.17.

# ML-Konnektoren im Service erstellen OpenSearch
<a name="ml-create"></a>

Mit Amazon OpenSearch Service Flow Framework-Vorlagen können Sie ML-Konnektoren konfigurieren und installieren, indem Sie die in ml-commons angebotene Create Connector-API verwenden. Sie können ML-Konnektoren verwenden, um OpenSearch Service mit anderen AWS Diensten oder Plattformen von Drittanbietern zu verbinden. Weitere Informationen dazu finden Sie unter [Connectors für ML-Plattformen von Drittanbietern erstellen](https://opensearch.org/docs/2.13/ml-commons-plugin/remote-models/connectors/). Die Amazon OpenSearch Service Flow Framework-API ermöglicht Ihnen die Automatisierung von Aufgaben zur Einrichtung und Vorverarbeitung von OpenSearch Services und kann zur Erstellung von ML-Konnektoren verwendet werden. 

Bevor Sie einen Connector in OpenSearch Service erstellen können, müssen Sie Folgendes tun:
+ Erstellen Sie eine Amazon SageMaker AI-Domain.
+ Erstellen Sie eine IAM-Rolle.
+ Konfigurieren Sie die Berechtigung zum Übergeben von Rollen.
+ Ordnen Sie die Flow-Framework- und ML-Commons-Rollen in OpenSearch Dashboards zu.

Weitere Informationen zur Einrichtung von ML-Konnektoren für AWS Services finden Sie unter [Amazon OpenSearch Service ML-Konnektoren für AWS Services](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq). Weitere Informationen zur Verwendung von OpenSearch Service ML-Konnektoren mit Plattformen von Drittanbietern finden Sie unter [Amazon OpenSearch Service ML-Konnektoren für Drittanbieterplattformen](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq).

## Einen Connector über einen Flow-Framework-Service erstellen
<a name="ml-workflow"></a>

Um eine Flow-Framework-Vorlage mit Connector zu erstellen, müssen Sie eine `POST` Anfrage an Ihren OpenSearch Service-Domain-Endpunkt senden. Sie können cURL, einen Python-Beispielclient, Postman oder eine andere Methode verwenden, um eine signierte Anfrage zu senden. Die `POST` Anfrage hat das folgende Format:

```
POST /_plugins/_flow_framework/workflow 
{
  "name": "Deploy Claude Model",
  "description": "Deploy a model using a connector to Claude",
  "use_case": "PROVISION",
  "version": {
    "template": "1.0.0",
    "compatibility": [
      "2.12.0",
      "3.0.0"
    ]
  },
  "workflows": {
    "provision": {
      "nodes": [
        {
          "id": "create_claude_connector",
          "type": "create_connector",
          "user_inputs": {
            "name": "Claude Instant Runtime Connector",
            "version": "1",
            "protocol": "aws_sigv4",
            "description": "The connector to Bedrock service for Claude model",
            "actions": [
              {
                "headers": {
                  "x-amz-content-sha256": "required",
                  "content-type": "application/json"
                },
                "method": "POST",
                "request_body": "{ \"prompt\":\"${parameters.prompt}\", \"max_tokens_to_sample\":${parameters.max_tokens_to_sample}, \"temperature\":${parameters.temperature},  \"anthropic_version\":\"${parameters.anthropic_version}\" }",
                "action_type": "predict",
                "url": "https://bedrock-runtime.us-west-2.amazonaws.com/model/anthropic.claude-instant-v1/invoke"
              }
            ],
            "credential": {
                "roleArn": "arn:aws:iam::account-id:role/opensearch-secretmanager-role" 
             },
            "parameters": {
              "endpoint": "bedrock-runtime.us-west-2.amazonaws.com",
              "content_type": "application/json",
              "auth": "Sig_V4",
              "max_tokens_to_sample": "8000",
              "service_name": "bedrock",
              "temperature": "0.0001",
              "response_filter": "$.completion",
              "region": "us-west-2",
              "anthropic_version": "bedrock-2023-05-31"
            }
          }
        }
      ]
    }
  }
}
```

Wenn sich Ihre Domain in einer Virtual Private Cloud (Amazon VPC) befindet, müssen Sie mit der Amazon VPC verbunden sein, damit die Anfrage den AI-Connector erfolgreich erstellen kann. Der Zugriff auf eine Amazon VPC hängt von der Netzwerkkonfiguration ab, beinhaltet jedoch in der Regel eine Verbindung zu einem VPN- oder Unternehmensnetzwerk. Um zu überprüfen, ob Sie Ihre OpenSearch Service-Domain erreichen können, navigieren Sie `https://your-vpc-domain.region.es.amazonaws.com` in einem Webbrowser zu und stellen Sie sicher, dass Sie die Standard-JSON-Antwort erhalten. (Ersetzen Sie die *placeholder text* durch Ihre eigenen Werte.

### Beispiel für einen Python-Client
<a name="ml-python-sample"></a>

Der Python-Client ist einfacher zu automatisieren als eine `HTTP` Anfrage und hat eine bessere Wiederverwendbarkeit. Um den AI-Konnektor mit dem Python-Client zu erstellen, speichern Sie den folgenden Beispielcode in einer Python-Datei. [Der Client benötigt das [AWS SDK for Python (Boto3)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq), die Pakete [requests:Http for Humans und requests-aws4auth](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq) 1.2.3.](https://pypi.org/project/requests-aws4auth/)

```
import boto3
import requests 
from requests_aws4auth import AWS4Auth

host = 'domain-endpoint/'
region = 'region'
service = 'es'
credentials = boto3.Session().get_credentials()
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token)

path = '_plugins/_flow_framework/workflow'
url = host + path

payload = {
  "name": "Deploy Claude Model",
  "description": "Deploy a model using a connector to Claude",
  "use_case": "PROVISION",
  "version": {
    "template": "1.0.0",
    "compatibility": [
      "2.12.0",
      "3.0.0"
    ]
  },
  "workflows": {
    "provision": {
      "nodes": [
        {
          "id": "create_claude_connector",
          "type": "create_connector",
          "user_inputs": {
            "name": "Claude Instant Runtime Connector",
            "version": "1",
            "protocol": "aws_sigv4",
            "description": "The connector to Bedrock service for Claude model",
            "actions": [
              {
                "headers": {
                  "x-amz-content-sha256": "required",
                  "content-type": "application/json"
                },
                "method": "POST",
                "request_body": "{ \"prompt\":\"${parameters.prompt}\", \"max_tokens_to_sample\":${parameters.max_tokens_to_sample}, \"temperature\":${parameters.temperature},  \"anthropic_version\":\"${parameters.anthropic_version}\" }",
                "action_type": "predict",
                "url": "https://bedrock-runtime.us-west-2.amazonaws.com/model/anthropic.claude-instant-v1/invoke"
              }
            ],
            "credential": {
                "roleArn": "arn:aws:iam::account-id:role/opensearch-secretmanager-role" 
             },
            "parameters": {
              "endpoint": "bedrock-runtime.us-west-2.amazonaws.com",
              "content_type": "application/json",
              "auth": "Sig_V4",
              "max_tokens_to_sample": "8000",
              "service_name": "bedrock",
              "temperature": "0.0001",
              "response_filter": "$.completion",
              "region": "us-west-2",
              "anthropic_version": "bedrock-2023-05-31"
            }
          }
        }
      ]
    }
  }
}

headers = {"Content-Type": "application/json"}

r = requests.post(url, auth=awsauth, json=payload, headers=headers)
print(r.status_code)
print(r.text)
```

#### Vordefinierte Workflow-Vorlagen
<a name="ml-predefined"></a>

Amazon OpenSearch Service bietet mehrere Workflow-Vorlagen für einige gängige Anwendungsfälle des maschinellen Lernens (ML). Die Verwendung einer Vorlage vereinfacht komplexe Konfigurationen und bietet viele Standardwerte für Anwendungsfälle wie semantische Suche oder Konversationssuche. Sie können eine Workflow-Vorlage angeben, wenn Sie die Create Workflow API aufrufen.
+ Um eine vom OpenSearch Service bereitgestellte Workflow-Vorlage zu verwenden, geben Sie den Anwendungsfall der Vorlage als `use_case` Abfrageparameter an. 
+ Um eine benutzerdefinierte Workflow-Vorlage zu verwenden, geben Sie die vollständige Vorlage im Anfragetext an. Ein Beispiel für eine benutzerdefinierte Vorlage finden Sie in einer JSON-Beispielvorlage oder einer YAML-Beispielvorlage.

#### Anwendungsfälle für Vorlagen
<a name="templates"></a>

Diese Tabelle bietet einen Überblick über die verschiedenen verfügbaren Vorlagen, eine Beschreibung der Vorlagen und die erforderlichen Parameter.


| Anwendungsfall für Vorlagen | Description | Erforderliche Parameter | 
| --- | --- | --- | 
| `bedrock_titan_embedding_model_deploy` | Erstellt und implementiert ein Amazon Bedrock-Einbettungsmodell (standardmäßig `titan-embed-text-v1` | `create_connector.credential.roleArn` | 
| `bedrock_titan_embedding_model_deploy` | Erstellt und implementiert ein multimodales Einbettungsmodell von Amazon Bedrock (standardmäßig `titan-embed-text-v1` | `create_connector.credential.roleArn` | 
| `cohere_embedding_model_deploy` | Erstellt ein Cohere-Einbettungsmodell und stellt es bereit (standardmäßig 3.0). embed-english-v | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `cohere_chat_model_deploy` | Erstellt ein Cohere-Chat-Modell und stellt es bereit (standardmäßig Cohere Command). | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `open_ai_embedding_model_deploy` | Erzeugt und implementiert ein OpenAI-Einbettungsmodell (standardmäßig -002). text-embedding-ada | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `openai_chat_model_deploy` | Erzeugt und implementiert ein OpenAI-Chat-Modell (standardmäßig gpt-3.5-Turbo). | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `semantic_search_with_cohere_embedding` | Konfiguriert die semantische Suche und stellt ein Cohere-Einbettungsmodell bereit. Sie müssen den API-Schlüssel für das Cohere-Modell angeben. | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `semantic_search_with_cohere_embedding_query_enricher` | Konfiguriert die semantische Suche und stellt ein Cohere-Einbettungsmodell bereit. Fügt einen query\$1enricher-Suchprozessor hinzu, der eine Standardmodell-ID für neuronale Abfragen festlegt. Sie müssen den API-Schlüssel für das Cohere-Modell angeben. | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `multimodal_search_with_bedrock_titan` | Stellt ein multimodales Amazon Bedrock-Modell bereit und konfiguriert eine Aufnahme-Pipeline mit einem text\$1image\$1embedding-Prozessor und einem k-NN-Index für die multimodale Suche. Sie müssen Ihre Anmeldeinformationen angeben. AWS  | `create_connector.credential.roleArn` | 

**Anmerkung**  
Für alle Vorlagen, die einen geheimen ARN benötigen, wird das Geheimnis standardmäßig mit dem Schlüsselnamen „key“ in AWS Secrets Manager gespeichert.

## Standardvorlagen mit vortrainierten Modellen
<a name="ml-pretrained-default"></a>

Amazon OpenSearch Service bietet zwei zusätzliche Standard-Workflow-Vorlagen, die im OpenSearch Open-Source-Service nicht verfügbar sind.


| Anwendungsfall für Vorlagen | Description | 
| --- | --- | 
| `semantic_search_with_local_model` | Konfiguriert die [semantische Suche](https://opensearch.org/docs/2.14/search-plugins/semantic-search/) und stellt ein vortrainiertes Modell bereit (). `msmarco-distilbert-base-tas-b` Fügt einen [https://opensearch.org/docs/2.14/search-plugins/search-pipelines/neural-query-enricher/](https://opensearch.org/docs/2.14/search-plugins/search-pipelines/neural-query-enricher/)Suchprozessor hinzu, der eine Standardmodell-ID für neuronale Abfragen festlegt und einen verknüpften k-NN-Index namens '' erstellt. my-nlp-index | 
| `hybrid_search_with_local_model` | Konfiguriert die [Hybridsuche](https://opensearch.org/docs/2.14/search-plugins/hybrid-search/) und stellt ein vortrainiertes Modell bereit (). `msmarco-distilbert-base-tas-b` Fügt einen [https://opensearch.org/docs/2.14/search-plugins/search-pipelines/neural-query-enricher/](https://opensearch.org/docs/2.14/search-plugins/search-pipelines/neural-query-enricher/)Suchprozessor hinzu, der eine Standardmodell-ID für neuronale Abfragen festlegt und einen verknüpften k-NN-Index namens '' erstellt. my-nlp-index | 

# Konfigurieren von -Berechtigungen
<a name="flow-framework-permissions"></a>

Wenn Sie eine neue Domain mit Version 2.13 oder höher erstellen, sind die Berechtigungen bereits vorhanden. Wenn Sie Flow Framework auf einer bereits vorhandenen OpenSearch Service-Domain mit Version 2.11 oder früher aktivieren, die Sie dann auf Version 2.13 oder höher aktualisieren, müssen Sie die Rolle definieren. `flow_framework_manager` Benutzer ohne Administratorrechte müssen dieser Rolle zugeordnet werden, um Warm-Indizes in Domains mithilfe einer fein abgestuften Zugriffskontrolle zu verwalten. Führen Sie die folgenden Schritte aus, um die `flow_framework_manager`-Rolle manuell zu erstellen:

1. **Gehen Sie in OpenSearch Dashboards zu **Sicherheit** und wählen Sie Berechtigungen aus.**

1. Wählen Sie **Aktionsgruppe erstellen** und konfigurieren Sie die folgenden Gruppen:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/opensearch-service/latest/developerguide/flow-framework-permissions.html)

1. Wählen Sie **Rollen** und **Rolle erstellen**.

1. Nennen Sie die Rolle **flow\$1framework\$1manager**.

1. Wählen Sie für **Clusterberechtigungen** `flow_framework_full_access` und `flow_framework_read_access` aus.

1. Geben Sie für **Index** `*` ein.

1. Wählen Sie für **Indexberechtigungen** `indices:admin/aliases/get`, `indices:admin/mappings/get` und `indices_monitor` aus.

1. Wählen Sie **Erstellen** aus.

1. Nachdem Sie die Rolle erstellt haben, [ordnen Sie sie](fgac.md#fgac-mapping) einer beliebigen Benutzer- oder Backend-Rolle zu, die die Flow-Framework-Indizes verwaltet.