Usando AWS CloudFormation para configurar a inferência remota para pesquisa semântica - 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á.

Usando AWS CloudFormation para configurar a inferência remota para pesquisa semântica

A partir da OpenSearch versão 2.9, você pode usar a inferência remota com pesquisa semântica para hospedar seus próprios modelos de aprendizado de máquina (ML). A inferência remota usa o plug-in ML Commons para permitir que você hospede suas inferências de modelo remotamente em serviços de ML, como a Amazon SageMaker Amazon, e conecte-as ao Amazon BedRock OpenSearch Service com conectores de ML.

Para facilitar a configuração da inferência remota, o Amazon OpenSearch Service fornece um AWS CloudFormationmodelo no console. CloudFormation é uma AWS service (Serviço da AWS) ferramenta que permite modelar, provisionar AWS e gerenciar recursos de terceiros tratando a infraestrutura como código.

O OpenSearch CloudFormation modelo automatiza o processo de provisionamento do modelo para que você possa criar facilmente um modelo em seu domínio de OpenSearch serviço e, em seguida, usar o ID do modelo para ingerir dados e executar consultas de pesquisa neural.

Ao usar codificadores neurais esparsos com a versão 2.12 e posteriores do OpenSearch Service, recomendamos que você use o modelo de tokenizador localmente em vez de implantá-lo remotamente. Para obter mais informações, consulte Modelos de codificação esparsa na OpenSearch documentação.

Pré-requisitos

Para usar um CloudFormation modelo com o OpenSearch Serviço, preencha os seguintes pré-requisitos.

Configurar um domínio OpenSearch de serviço

Antes de usar um CloudFormation modelo, você deve configurar um domínio do Amazon OpenSearch Service com a versão 2.9 ou posterior e um controle de acesso refinado ativado. Crie uma função OpenSearch de back-end de serviço para dar permissão ao plug-in ML Commons para criar seu conector para você.

O CloudFormation modelo cria uma função do Lambda IAM para você com o nome padrãoLambdaInvokeOpenSearchMLCommonsRole, que você pode substituir se quiser escolher um nome diferente. Depois que o modelo criar essa função do IAM, você precisa dar permissão à função Lambda para chamar seu domínio de OpenSearch serviço. Para fazer isso, mapeie a função nomeada ml_full_access para sua função OpenSearch de back-end de serviço com as seguintes etapas:

  1. Navegue até o plug-in OpenSearch Dashboards do seu domínio OpenSearch de serviço. Você pode encontrar o endpoint Dashboards no painel do seu domínio no console de OpenSearch serviços.

  2. No menu principal, escolha Segurança, Funções e selecione a função ml_full_access.

  3. Escolha Usuários mapeados e Gerenciar mapeamento.

  4. Em Funções de back-end, adicione o ARN da função do Lambda que precisa de permissão para chamar seu domínio.

    arn:aws:iam::account-id:role/role-name
  5. Selecione Mapa e confirme se o usuário ou função aparece em Usuários mapeados.

Depois de mapear a função, navegue até a configuração de segurança do seu domínio e adicione a função Lambda IAM à OpenSearch sua política de acesso ao serviço.

Ative as permissões no seu Conta da AWS

Você Conta da AWS deve ter permissão para acessar CloudFormation o Lambda, junto com o que AWS service (Serviço da AWS) você escolher para seu modelo — Runtime SageMaker ou Amazon. BedRock

Se estiver usando o Amazon Bedrock, você também deve registrar seu modelo. Consulte Acesso aos modelos no Guia do usuário do Amazon Bedrock para registrar seu modelo.

Se você estiver usando seu próprio bucket do Amazon S3 para fornecer artefatos de modelo, deverá adicionar a função do CloudFormation IAM à sua política de acesso do S3. Para obter mais informações, consulte Adicionar e remover permissões de identidade do IAM no Guia do usuário do IAM.

Amazon SageMaker modelos

Os SageMaker CloudFormation modelos da Amazon definem vários AWS recursos para configurar o plug-in neural e a pesquisa semântica para você.

Primeiro, use a integração com modelos de incorporação de texto por meio do SageMaker modelo da Amazon para implantar um modelo de incorporação de texto no SageMaker Runtime como um servidor. Se você não fornecer um endpoint de modelo, CloudFormation cria uma função do IAM que permite ao SageMaker Runtime baixar artefatos de modelo do Amazon S3 e implantá-los no servidor. Se você fornecer um endpoint, CloudFormation cria uma função do IAM que permite que a função Lambda acesse OpenSearch o domínio do Serviço ou, se a função já existir, atualize e reutilize a função. O endpoint serve o modelo remoto usado para o conector ML com o plug-in ML Commons.

Em seguida, use o modelo Integration with Sparse Encoders por meio do Amazon Sagemaker para criar uma função Lambda que faça com que seu domínio configure conectores de inferência remotos. Depois que o conector é criado no OpenSearch Service, a inferência remota pode executar a pesquisa semântica usando o modelo remoto no SageMaker Runtime. O modelo retorna o ID do modelo em seu domínio para que você possa começar a pesquisar.

Para usar os SageMaker CloudFormation modelos da Amazon
  1. Abra o console do Amazon OpenSearch Service em https://console.aws.amazon.com/aos/home.

  2. No painel de navegação à esquerda, escolha Integrações.

  3. Em cada um dos SageMaker modelos da Amazon, escolha Configurar domínio, Configurar domínio público.

  4. Siga as instruções no CloudFormation console para provisionar sua pilha e configurar um modelo.

nota

OpenSearch O serviço também fornece um modelo separado para configurar o domínio VPC. Se você usar esse modelo, precisará fornecer o ID da VPC para a função do Lambda.

Modelos Amazon Bedrock

Semelhante aos SageMaker CloudFormation modelos da Amazon, o CloudFormation modelo Amazon Bedrock provisiona os AWS recursos necessários para criar conectores entre o OpenSearch Service e o Amazon Bedrock.

Primeiro, o modelo cria uma função do IAM que permite que a futura função Lambda acesse seu domínio de OpenSearch serviço. Em seguida, o modelo cria a função Lambda, que faz com que o domínio crie um conector usando o plug-in ML Commons. Depois que o OpenSearch Service cria o conector, a configuração da inferência remota é concluída e você pode executar pesquisas semânticas usando as operações da API Amazon Bedrock.

Observe que, como o Amazon Bedrock hospeda seus próprios modelos de ML, você não precisa implantar um modelo no SageMaker Runtime. Em vez disso, o modelo usa um endpoint predeterminado para o Amazon Bedrock e ignora as etapas de provisionamento do endpoint.

Para usar o modelo Amazon Bedrock CloudFormation
  1. Abra o console do Amazon OpenSearch Service em https://console.aws.amazon.com/aos/home.

  2. No painel de navegação à esquerda, escolha Integrações.

  3. Em Integrar com o modelo Amazon Titan Text Embeddings por meio do Amazon Bedrock, escolha Configurar domínio, Configurar domínio público.

  4. Siga as instruções para configurar seu modelo.

nota

OpenSearch O serviço também fornece um modelo separado para configurar o domínio VPC. Se você usar esse modelo, precisará fornecer o ID da VPC para a função do Lambda.

Além disso, o OpenSearch Service fornece os seguintes modelos do Amazon Bedrock para se conectar ao modelo Cohere e ao modelo de incorporação multimodal Amazon Titan:

  • Integration with Cohere Embed through Amazon Bedrock

  • Integrate with Amazon Bedrock Titan Multi-modal