

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# OpenSearch Modelos de estrutura de fluxo de serviço
<a name="ml-workflow-framework"></a>

Os modelos de estrutura de fluxo do Amazon OpenSearch Service permitem que você automatize tarefas complexas de configuração e pré-processamento de OpenSearch serviços fornecendo modelos para casos de uso comuns. Por exemplo, você pode usar modelos de estrutura de fluxo para automatizar as tarefas de configuração do machine learning. Os modelos de estrutura de fluxo do Amazon OpenSearch Service fornecem uma descrição compacta do processo de configuração em um documento JSON ou YAML. Esses modelos descrevem configurações automatizadas de fluxo de trabalho para bate-papo conversacional ou geração de consultas, conectores de IA, ferramentas, agentes e outros componentes que preparam o OpenSearch Serviço para uso de back-end em modelos generativos.

Os modelos de estrutura de fluxo do Amazon OpenSearch Service podem ser personalizados para atender às suas necessidades específicas. Para ver um exemplo de um modelo de estrutura de fluxo personalizado, consulte [flow-framework](https://github.com/opensearch-project/flow-framework/blob/main/sample-templates/deploy-bedrock-claude-model.json). Para modelos fornecidos pelo OpenSearch serviço, consulte modelos de [fluxo de trabalho](https://opensearch.org/docs/2.13/automating-configurations/workflow-templates/). Para obter uma documentação abrangente, incluindo etapas detalhadas, uma referência de API e uma referência de todas as configurações disponíveis, consulte Como [automatizar a configuração](https://github.com/opensearch-project/flow-framework/blob/main/sample-templates/deploy-bedrock-claude-model.json) na documentação de código OpenSearch aberto.

**nota**  
O Flow-framework não oferece suporte à filtragem de funções de back-end para o Service 2.17. OpenSearch 

# Criação de conectores de ML no Service OpenSearch
<a name="ml-create"></a>

Os modelos de estrutura de fluxo do Amazon OpenSearch Service permitem que você configure e instale conectores de ML utilizando a API de criação de conectores oferecida no ml-commons. Você pode usar conectores de ML para conectar o OpenSearch Serviço a outros AWS serviços ou plataformas de terceiros. Para saber mais sobre isso, consulte [Como criar conectores para plataformas de ML de terceiros](https://opensearch.org/docs/2.13/ml-commons-plugin/remote-models/connectors/). A API da estrutura OpenSearch de fluxo do Amazon Service permite automatizar as tarefas de configuração e pré-processamento do OpenSearch serviço e pode ser usada para criar conectores de ML. 

Antes de criar um conector no OpenSearch Service, você deve fazer o seguinte:
+ Crie um domínio Amazon SageMaker AI.
+ Criar um perfil do IAM.
+ Configure a permissão de função de transmissão.
+ Mapeie a estrutura de fluxo e as funções do ml-commons nos painéis. OpenSearch 

Para obter mais informações sobre como configurar conectores de ML para AWS serviços, consulte [Conectores de ML do Amazon OpenSearch Service para AWS](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq) serviços. Para saber mais sobre o uso OpenSearch de conectores Service ML com plataformas de terceiros, consulte [Conectores Amazon OpenSearch Service ML para plataformas de terceiros](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq).

## Como criar um conector por meio de um serviço de estrutura de fluxo
<a name="ml-workflow"></a>

Para criar um modelo de estrutura de fluxo com conector, você precisará enviar uma `POST` solicitação para o endpoint do domínio OpenSearch Service. Você pode usar cURL, um cliente Python de amostra, o Postman ou outro método para enviar uma solicitação assinada. A solicitação `POST` assume o seguinte 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 o domínio residir em uma nuvem privada virtual (Amazon VPC), você deverá estar conectado à Amazon VPC para que a solicitação crie o conector de IA com êxito. O acesso a uma Amazon VPC varia de acordo com a configuração de rede, mas geralmente requer uma conexão com VPN ou rede corporativa. Para verificar se você pode acessar seu domínio OpenSearch de serviço, navegue até `https://your-vpc-domain.region.es.amazonaws.com` em um navegador da Web e verifique se você recebeu a resposta JSON padrão. (Substitua *placeholder text* o por seus próprios valores.

### Exemplo de cliente do Python
<a name="ml-python-sample"></a>

O cliente Python é mais simples de automatizar do que uma solicitação `HTTP`, além de ser mais fácil reutilizá-lo. Para criar o conector AI com o cliente Python, salve o código de exemplo a seguir em um arquivo Python. O cliente requer os pacotes [AWS SDK for Python (Boto3)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq), [Requests:HTTP for Humans](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ml-amazon-connector.html#connector-sagemaker-prereq) e [requests-aws4auth 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)
```

#### Modelos de fluxo de trabalho predefinidos
<a name="ml-predefined"></a>

O Amazon OpenSearch Service fornece vários modelos de fluxo de trabalho para alguns casos de uso comuns de aprendizado de máquina (ML). O uso de um modelo simplifica configurações complexas e fornece muitos valores padrão para casos de uso, como pesquisa semântica ou conversacional. Você pode especificar um modelo de fluxo de trabalho ao chamar a API Create Workflow.
+ Para usar um modelo de fluxo de trabalho fornecido pelo OpenSearch serviço, especifique o caso de uso do modelo como parâmetro de `use_case` consulta. 
+ Para usar um modelo de fluxo de trabalho personalizado, forneça o modelo completo no corpo da solicitação. Para ver um exemplo de modelo personalizado, consulte um exemplo de modelo JSON ou um exemplo de modelo YAML.

#### Casos de uso de modelos
<a name="templates"></a>

Esta tabela fornece uma visão geral dos diferentes modelos disponíveis, uma descrição dos modelos e os parâmetros necessários.


| Caso de uso do modelo | Description | Parâmetros necessários | 
| --- | --- | --- | 
| `bedrock_titan_embedding_model_deploy` | Cria e implanta um modelo de incorporação do Amazon Bedrock (por padrão, `titan-embed-text-v1`). | `create_connector.credential.roleArn` | 
| `bedrock_titan_embedding_model_deploy` | Cria e implanta um modelo de incorporação multimodal Amazon Bedrock (por padrão, `titan-embed-text-v1`). | `create_connector.credential.roleArn` | 
| `cohere_embedding_model_deploy` | Cria e implanta um modelo de incorporação Cohere (por padrão, embed-english-v 3.0). | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `cohere_chat_model_deploy` | Cria e implanta um modelo de chat Cohere (por padrão, Cohere Command). | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `open_ai_embedding_model_deploy` | Cria e implanta um modelo de incorporação OpenAI (por padrão text-embedding-ada, -002). | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `openai_chat_model_deploy` | Cria e implanta um modelo de chat OpenAI (por padrão, gpt-3.5-turbo). | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `semantic_search_with_cohere_embedding` | Configura a pesquisa semântica e implanta um modelo de incorporação Cohere. Você deve fornecer a chave de API para o modelo Cohere. | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `semantic_search_with_cohere_embedding_query_enricher` | Configura a pesquisa semântica e implanta um modelo de incorporação Cohere. Adiciona um processador de pesquisa query\$1enricher que define um ID de modelo padrão para consultas neurais. Você deve fornecer a chave de API para o modelo Cohere. | `create_connector.credential.roleArn`, `create_connector.credential.secretArn` | 
| `multimodal_search_with_bedrock_titan` | Implanta um modelo multimodal do Amazon Bedrock e configura um pipeline de ingestão com um processador text\$1image\$1embedding e um índice k-NN para pesquisa multimodal. Você deve fornecer suas credenciais da AWS . | `create_connector.credential.roleArn` | 

**nota**  
Para todos os modelos que exigem um ARN secreto, o padrão é armazenar o segredo com o nome de chave “chave” no AWS Secrets Manager.

## Modelos padrão com modelos pré-treinados
<a name="ml-pretrained-default"></a>

O Amazon OpenSearch Service oferece dois modelos adicionais de fluxo de trabalho padrão não disponíveis no serviço de código aberto OpenSearch .


| Caso de uso do modelo | Description | 
| --- | --- | 
| `semantic_search_with_local_model` | Configura a [pesquisa semântica](https://opensearch.org/docs/2.14/search-plugins/semantic-search/) e implanta um modelo pré-treinado (`msmarco-distilbert-base-tas-b`). Adiciona um processador de [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/)pesquisa que define um ID de modelo padrão para consultas neurais e cria um índice k-NN vinculado chamado ''. my-nlp-index | 
| `hybrid_search_with_local_model` | Configura a [pesquisa híbrida](https://opensearch.org/docs/2.14/search-plugins/hybrid-search/) e implanta um modelo pré-treinado (`msmarco-distilbert-base-tas-b`). Adiciona um processador de [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/)pesquisa que define um ID de modelo padrão para consultas neurais e cria um índice k-NN vinculado chamado ''. my-nlp-index | 

# Configurar permissões do
<a name="flow-framework-permissions"></a>

Se você criar um novo domínio com a versão 2.13 ou posterior, as permissões já estarão em vigor. Se você habilitar a estrutura de fluxo em um domínio de OpenSearch serviço preexistente com a versão 2.11 ou anterior e, em seguida, atualizar para a versão 2.13 ou posterior, deverá definir a função. `flow_framework_manager` Os usuários não administradores deverão ser mapeados nessa função para poderem gerenciar índices warm usando o controle de aceso detalhado. Para criar manualmente a função `flow_framework_manager`, faça o seguinte:

1. Em OpenSearch Painéis, acesse **Segurança** e escolha **Permissões**.

1. Escolha **Criar grupo de ações** e configure os seguintes grupos:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/flow-framework-permissions.html)

1. Escolha **Funções** e, em seguida, **Criar função**.

1. Nomeie a função **flow\$1framework\$1manager**.

1. Para **Permissões de cluster**, selecione `flow_framework_full_access` e `flow_framework_read_access`.

1. Para **Índice**, digite `*`.

1. Para **Permissões de índice**, selecione `indices:admin/aliases/get`, `indices:admin/mappings/get`, e `indices_monitor`.

1. Escolha **Criar**.

1. Depois de criar a função, [mapeie-a](fgac.md#fgac-mapping) em qualquer função de usuário ou de backend que gerencie índices de estrutura de fluxo.