Criação de conectores de ML no Service OpenSearch - OpenSearch Serviço Amazon

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á.

Criação de conectores de ML no Service OpenSearch

Os modelos de estrutura de fluxo do Amazon OpenSearch Service permitem que você configure e instale conectores de ML utilizando o conector de criação API oferecido 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 obter mais informações sobre isso, consulte Como criar conectores para plataformas de ML de terceiros. A estrutura OpenSearch de fluxo do Amazon Service API permite que você automatize as tarefas OpenSearch de configuração e pré-processamento do 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.

  • Crie uma função 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 serviços. Para saber mais sobre o uso OpenSearch de conectores do Service ML com plataformas de terceiros, consulte Conectores do Amazon OpenSearch Service ML para plataformas de terceiros.

Como criar um conector por meio de um serviço de estrutura de fluxo

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, 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 seu domínio residir em uma nuvem privada virtual (AmazonVPC), você deverá estar conectado à Amazon VPC para que a solicitação crie com sucesso o conector AI. O acesso a uma Amazon VPC varia de acordo com a configuração da rede, mas geralmente envolve a conexão com uma VPN 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 JSON resposta padrão.

Exemplo de cliente do Python

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 SDKfor Python (Boto3), Requests: HTTP for Humans e requests-aws4auth 1.2.3.

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

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 o Create WorkflowAPI.

  • 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 modelo de exemplo JSON ou um YAML modelo de exemplo.

Casos de uso de modelos

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 Descrição 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 API chave 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_enricher que define um ID de modelo padrão para consultas neurais. Você deve fornecer a API chave 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_image_embedding e um índice k-NN para pesquisa multimodal. Você deve fornecer suas AWS credenciais.

create_connector.credential.roleArn

nota

Para todos os modelos que exigem um segredoARN, o padrão é armazenar o segredo com o nome de “chave” no gerenciador de AWS segredos.

Modelos padrão com modelos pré-treinados

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 Descrição

semantic_search_with_local_model

Configura a pesquisa semântica e implanta um modelo pré-treinado (msmarco-distilbert-base-tas-b). Adiciona um processador de neural_query_enricherpesquisa 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 e implanta um modelo pré-treinado (msmarco-distilbert-base-tas-b). Adiciona um processador de neural_query_enricherpesquisa que define um ID de modelo padrão para consultas neurais e cria um índice k-NN vinculado chamado ''. my-nlp-index