

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# OpenSearch Modelli di framework di flussi di servizio
<a name="ml-workflow-framework"></a>

I modelli di framework di flusso di Amazon OpenSearch Service consentono di automatizzare attività complesse di configurazione e preelaborazione del OpenSearch servizio fornendo modelli per casi d'uso comuni. Ad esempio, puoi utilizzare i modelli di Flow Framework per automatizzare le attività di configurazione dell'apprendimento automatico. I modelli di framework di flusso di Amazon OpenSearch Service forniscono una descrizione compatta del processo di configurazione in un documento JSON o YAML. Questi modelli descrivono configurazioni automatizzate di flussi di lavoro per chat conversazionali o generazione di query, connettori AI, strumenti, agenti e altri componenti che preparano OpenSearch Service per l'uso in backend per modelli generativi.

I modelli di framework di flusso di Amazon OpenSearch Service possono essere personalizzati per soddisfare esigenze specifiche. Per vedere un esempio di modello di framework di flusso personalizzato, consulta [flow-framework](https://github.com/opensearch-project/flow-framework/blob/main/sample-templates/deploy-bedrock-claude-model.json). [Per i modelli forniti dal OpenSearch servizio, vedere workflow-templates.](https://opensearch.org/docs/2.13/automating-configurations/workflow-templates/) Per una documentazione completa, che include passaggi dettagliati, un riferimento all'API e un riferimento a tutte le impostazioni disponibili, vedi [Automating Configuration](https://github.com/opensearch-project/flow-framework/blob/main/sample-templates/deploy-bedrock-claude-model.json) nella documentazione open source. OpenSearch 

**Nota**  
Flow-framework non supporta il filtraggio dei ruoli di backend per Service 2.17. OpenSearch 

# Creazione di connettori ML in Service OpenSearch
<a name="ml-create"></a>

I modelli di framework di flusso di Amazon OpenSearch Service consentono di configurare e installare connettori ML utilizzando l'API create connector offerta in ml-commons. Puoi utilizzare i connettori ML per connettere OpenSearch Service ad altri AWS servizi o piattaforme di terze parti. Per ulteriori informazioni su questo argomento, consulta [Creazione di connettori per piattaforme ML di terze parti](https://opensearch.org/docs/2.13/ml-commons-plugin/remote-models/connectors/). L'API del framework di flusso di Amazon OpenSearch Service consente di automatizzare le attività di configurazione e preelaborazione del OpenSearch servizio e può essere utilizzata per creare connettori ML. 

Prima di poter creare un connettore in OpenSearch Service, devi fare quanto segue:
+ Crea un dominio Amazon SageMaker AI.
+ Crea un ruolo IAM.
+ Configura l'autorizzazione al pass role.
+ Mappa i ruoli flow-framework e ml-commons nelle dashboard. OpenSearch 

Per ulteriori informazioni su come configurare i connettori ML per AWS i servizi, consulta i [connettori ML OpenSearch di Amazon Service per AWS i servizi](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq). Per ulteriori informazioni sull'utilizzo dei connettori OpenSearch Service ML con piattaforme di terze parti, consulta [Connettori Amazon OpenSearch Service ML per piattaforme di terze parti](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq).

## Creazione di un connettore tramite un servizio flow-framework
<a name="ml-workflow"></a>

Per creare un modello di flow-framework con connettore, è necessario inviare una `POST` richiesta all'endpoint del dominio di servizio. OpenSearch Puoi usare cURL, un client Python di esempio, Postman o un altro metodo per inviare una richiesta firmata. La `POST` richiesta ha il seguente formato:

```
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"
            }
          }
        }
      ]
    }
  }
}
```

Se il tuo dominio risiede in un cloud privato virtuale (Amazon VPC), devi essere connesso ad Amazon VPC affinché la richiesta crei correttamente il connettore AI. L'accesso a un Amazon VPC varia in base alla configurazione di rete, ma di solito comporta la connessione a una VPN o a una rete aziendale. Per verificare di poter accedere al dominio del OpenSearch servizio, accedi a `https://your-vpc-domain.region.es.amazonaws.com` In un browser Web e verifica di ricevere la risposta JSON predefinita. (*placeholder text*Sostituiscili con i tuoi valori.

### Client Python di esempio
<a name="ml-python-sample"></a>

Il client Python è più semplice da automatizzare rispetto a una `HTTP` richiesta e ha una migliore riutilizzabilità. Per creare il connettore AI con il client Python, salva il seguente codice di esempio in un file Python. [Il client richiede i pacchetti [AWS SDK for Python (Boto3), requests:HTTP for](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq)[Humans e requests-aws4auth 1.2.3](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq).](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)
```

#### Modelli di workflow predefiniti
<a name="ml-predefined"></a>

Amazon OpenSearch Service fornisce diversi modelli di flusso di lavoro per alcuni casi d'uso comuni di machine learning (ML). L'utilizzo di un modello semplifica le configurazioni complesse e fornisce molti valori predefiniti per casi d'uso come la ricerca semantica o conversazionale. Puoi specificare un modello di workflow quando chiami l'API Create Workflow.
+ Per utilizzare un modello di workflow fornito dal OpenSearch servizio, specifica il caso d'uso del modello come parametro di `use_case` query. 
+ Per utilizzare un modello di workflow personalizzato, fornisci il modello completo nel corpo della richiesta. Per un esempio di modello personalizzato, vedi un esempio di modello JSON o un modello YAML di esempio.

#### Casi d'uso del modello
<a name="templates"></a>

Questa tabella fornisce una panoramica dei diversi modelli disponibili, una descrizione dei modelli e i parametri richiesti.


| Caso d'uso del modello | Description | Parametri obbligatori | 
| --- | --- | --- | 
| `bedrock_titan_embedding_model_deploy` | Crea e distribuisce un modello di incorporamento Amazon Bedrock (per impostazione predefinita, `titan-embed-text-v1` | `create_connector.credential.roleArn` | 
| `bedrock_titan_embedding_model_deploy` | Crea e distribuisce un modello di incorporamento multimodale Amazon Bedrock (per impostazione predefinita, `titan-embed-text-v1` | `create_connector.credential.roleArn` | 
| `cohere_embedding_model_deploy` | Crea e distribuisce un modello di incorporamento Cohere (per impostazione predefinita, 3.0). embed-english-v | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `cohere_chat_model_deploy` | Crea e distribuisce un modello di chat Cohere (per impostazione predefinita, Cohere Command). | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `open_ai_embedding_model_deploy` | Crea e distribuisce un modello di incorporamento OpenAI (per impostazione predefinita text-embedding-ada, -002). | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `openai_chat_model_deploy` | Crea e distribuisce un modello di chat OpenAI (per impostazione predefinita, gpt-3.5-turbo). | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `semantic_search_with_cohere_embedding` | Configura la ricerca semantica e implementa un modello di incorporamento Cohere. È necessario fornire la chiave API per il modello Cohere. | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `semantic_search_with_cohere_embedding_query_enricher` | Configura la ricerca semantica e implementa un modello di incorporamento Cohere. Aggiunge un processore di ricerca query\$1enricher che imposta un ID modello predefinito per le query neurali. È necessario fornire la chiave API per il modello Cohere. | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `multimodal_search_with_bedrock_titan` | Implementa un modello multimodale Amazon Bedrock e configura una pipeline di ingestione con un processore text\$1image\$1embedding e un indice k-NN per la ricerca multimodale. Devi AWS fornire le tue credenziali. | `create_connector.credential.roleArn` | 

**Nota**  
Per tutti i modelli che richiedono un ARN segreto, l'impostazione predefinita prevede l'archiviazione del segreto con il nome chiave «key» in AWS Secrets Manager.

## Modelli predefiniti con modelli preaddestrati
<a name="ml-pretrained-default"></a>

Amazon OpenSearch Service offre due modelli di flusso di lavoro predefiniti aggiuntivi non disponibili nel servizio opensource OpenSearch .


| Caso d'uso del modello | Description | 
| --- | --- | 
| `semantic_search_with_local_model` | Configura la [ricerca semantica](https://opensearch.org/docs/2.14/search-plugins/semantic-search/) e distribuisce un modello preaddestrato (). `msmarco-distilbert-base-tas-b` Aggiunge un processore [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/)di ricerca che imposta un ID modello predefinito per le query neurali e crea un indice k-NN collegato chiamato ''. my-nlp-index | 
| `hybrid_search_with_local_model` | Configura la [ricerca ibrida](https://opensearch.org/docs/2.14/search-plugins/hybrid-search/) e implementa un modello preaddestrato (). `msmarco-distilbert-base-tas-b` Aggiunge un processore [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/)di ricerca che imposta un ID modello predefinito per le query neurali e crea un indice k-NN collegato chiamato ''. my-nlp-index | 

# Configurazione delle autorizzazioni
<a name="flow-framework-permissions"></a>

Se crei un nuovo dominio con la versione 2.13 o successiva, le autorizzazioni sono già disponibili. Se abiliti il framework di flusso su un dominio di OpenSearch servizio preesistente con la versione 2.11 o precedente e poi esegui l'aggiornamento alla versione 2.13 o successiva, devi definire il ruolo. `flow_framework_manager` Gli utenti senza privilegi di amministratore devono essere mappati a questo ruolo in modo da gestire gli indici a caldo sui domini che utilizzano il controllo granulare degli accessi. Per creare manualmente il ruolo `flow_framework_manager`, procedere nel seguente modo:

1. **In OpenSearch Dashboards, vai su **Sicurezza** e scegli Autorizzazioni.**

1. Scegliere **Crea gruppo di operazioni** e configurare i seguenti gruppi:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/opensearch-service/latest/developerguide/flow-framework-permissions.html)

1. Scegliere **Ruoli**, quindi selezionare **Crea ruolo**.

1. **Assegna un nome al ruolo flow\$1framework\$1manager.**

1. Per **Autorizzazioni cluster**, selezionare `flow_framework_full_access` e `flow_framework_read_access`.

1. Per **Indice**, digitare `*`.

1. Per **Autorizzazioni indice**, selezionare `indices:admin/aliases/get`, `indices:admin/mappings/get` e `indices_monitor`.

1. Scegli **Create** (Crea).

1. Dopo aver creato il ruolo, [associalo](fgac.md#fgac-mapping) a qualsiasi ruolo utente o di backend che gestirà gli indici del framework di flusso.