Ir para o conteúdo

Como uso a coleção do Amazon OpenSearch sem servidor com uma política de rede privada para criar uma base de conhecimentos no Amazon Bedrock?

7 minuto de leitura
0

Quero usar a coleção do Amazon OpenSearch sem servidor com uma política de rede privada para criar uma base de conhecimentos.

Resolução

É possível usar o Amazon OpenSearch sem servidor como um armazenamento vetorial em uma base de conhecimentos. A incorporação permite que a base de conhecimentos acesse as coleções do OpenSearch sem servidor que têm uma política de rede privada.

Pré-requisitos

O exemplo nas seções a seguir tem as seguintes permissões:
Observação: Restrições adicionais podem ser necessárias em casos de uso específicos.

Permissões de usuário ou console

Perfis

Crie uma coleção com uma política de rede privada

Conclua as etapas a seguir:

  1. Faça login no console do Amazon OpenSearch Service.

  2. No painel de navegação esquerdo, expanda Serverless (Sem servidor). Em seguida, clique em Collections (Coleções).

  3. Selecione Create collection (Criar coleção). Insira os detalhes da coleção.

  4. Clique em Standard create (Criação padrão).

  5. Em Network access settings (Configurações de acesso à rede), configure o acesso à rede para a coleção:

    Em Access type (Tipo de acesso), selecione privado. Em seguida, selecione os endpoints da Amazon Virtual Private Cloud (VPC) e o serviço do Amazon Bedrock que podem acessar a coleção.

    Em VPC endpoints for access (Endpoint da VPC para acesso), especifique um ou mais endpoints da VPC. Ou selecione a opção Create VPC Endpoint (Criar endpoint da VPC) para gerar o endpoint da VPC ao criar a coleção privada.

    Em AWS service private access (Acesso privado ao serviço da AWS), selecione Amazon Bedrock como um serviço (bedrock.amazonaws.com).

    Em Resource type (Tipo de recurso), clique em Enable access to OpenSearch (Ativar acesso ao endpoint do OpenSearch).
    Observação: o acesso privado ao serviço da AWS se aplica somente ao endpoint do OpenSearch, não ao endpoint do OpenSearch Dashboards.

  6. Clique em Next (Próximo).

  7. Configure as regras de acesso aos dados para a coleção. As regras definem quem pode acessar os dados dentro da coleção. Para cada regra que você criar, realize as seguintes etapas:
    Clique em Add principals (Adicionar entidades principais) e selecione um ou mais perfis do AWS Identity and Access Management (AWS IAM).
    Selecione Security Assertion Markup Language (SAML) users and groups (Usuários e grupos SAML) para fornecer acesso aos dados. Certifique-se de incluir o perfil de serviço personalizado da Amazon Bedrock do qual você precisa para criar a base de conhecimentos.
    Em Grant permissions (Conceder permissões), selecione todas as permissões de alias, modelos e índices para concedê-las às entidades principais associadas.

  8. Clique em Next (Próximo).

  9. Em Data access policy settings (Configurações de política de acesso a dados), selecione Create as a new data access policy (Criar como uma nova política de acesso a dados). Ou adicione as entidades principais e as permissões a uma política existente.

  10. Revise a configuração da sua coleção. Em seguida, clique em Submit (Enviar).

Crie um índice a partir de um OpenSearch Dashboard

Não é possível criar diretamente um índice para uma coleção privada. O exemplo a seguir mostra como usar o OpenSearch Dashboard para criar um índice e o campo de metadados vetoriais. Modifique a política de rede existente ou crie uma nova política para fornecer acesso ao OpenSearch Dashboard.

Siga estas etapas para modificar a política de rede existente:

  1. Faça login no console do Amazon OpenSearch Service.
  2. No painel de navegação esquerdo, expanda Serverless (Sem servidor). Em seguida, clique em Collections (Coleções).
  3. Vá para a seção de política de rede da coleção privada.
  4. Selecione sua política em Associated Policy (Política associada).
  5. Clique em Edit (Editar).
  6. Selecione Add Rule (Adicionar regra).
  7. Selecione Public (Público) em Access type (Tipo de acesso).
  8. Clique em Enable access to OpenSearch Dashboards (Ativar acesso ao OpenSearch Dashboards).
  9. Pesquise e associe o nome da coleção privada.
    Observação: use o botão Update (Atualizar) para atualizar uma política existente.

Crie um índice vetorial

Conclua as etapas a seguir:

  1. Faça login no console do Amazon OpenSearch Service.
  2. No painel de navegação esquerdo, expanda Serverless (Sem servidor). Em seguida, clique em Collections (Coleções).
  3. Selecione a coleção privada.
  4. Clique em Create vector index (Criar índice vetorial).
  5. Insira detalhes em Vector index (Índice vetorial), Vector fields (Campos vetoriais) e Metadata management (Gerenciamento de metadados).
  6. Copie o bloco de código JSON com as configurações.
  7. No painel de navegação esquerdo, expanda Serverless (Sem servidor). Retorne para Collections (Coleções).
  8. Abra o link Dashboard (Painel) para acessar o OpenSearch Dashboard.
  9. Em Home (Início), à esquerda, selecione Developer tools (Ferramentas de desenvolvedor).
  10. Insira o código JSON que você copiou anteriormente junto com suas configurações. Use um comando PUT conforme mostrado abaixo. Em seguida, execute o código:
PUT <index name>
{
  "settings": {
    "index": {
      "knn": true,
      "knn.algo_param.ef_search": 512
    }
  },
  "mappings": {
    "properties": {
      "<vector field name>": {
        "type": "knn_vector",
        "dimension": 1536,
        "method": {
          "name": "hnsw",
          "engine": "faiss",
          "parameters": {},
          "space_type": "l2"
        }
      },
      "<Mapping field-1>": {
        "type": "text",
        "index": "true"
      },
      "<Mapping field-2>": {
        "type": "text",
        "index": "true"
      }
    }
  }
}

Para personalizar o código, substitua as seguintes variáveis:

<index name>, <vector field name>, <Mapping field-1>, <Mapping field-2>

Para obter mais informações, consulte Create Index API (Criar API de índice) no site do OpenSearch.
Observação: Também é possível decidir criar seu próprio índice vetorial. Para obter mais informações sobre como criar um índice vetorial com seu código, consulte Ingestão de dados em coleções Amazon OpenSearch Serverless. Para obter mais informações sobre as expectativas de armazenamento vetorial da Amazon Bedrock, consulte Pré-requisitos para usar o armazenamento de vetores que você criou para uma base de conhecimento.

Crie uma base de conhecimentos

  1. Antes de criar uma base de conhecimentos, certifique-se de que a coleção privada esteja pronta e disponível. Verifique se o perfil do usuário e os perfis de serviço do Amazon Bedrock têm acesso aos dados e à rede. Confirme se o índice vetorial tem os seguintes campos:
    Collection ARN (ARN da coleção) Vector index name (Nome do índice vetorial) Vector field name (Nome do campo vetorial) Metadata management (first mapping field) (Gerenciamento de metadados (primeiro campo de mapeamento)) Metadata management (second mapping field) (Gerenciamento de metadados (segundo campo de mapeamento))
  2. Crie a base de conhecimento.

Dicas de solução de problemas

Error: "The knowledge base storage configuration provided is invalid... Request failed: [http_exception] server returned 401"

Esse erro ocorre quando o Amazon Bedrock não está adicionado à política de rede para dar acesso à coleção privada e ao endpoint da VPC.

Para resolver esse erro, vá para a etapa 5 de Crie uma coleção com uma política de rede privada na seção anterior. Em seguida, adicione bedrock.amazonaws.com à Política de rede para permitir que o Amazon Bedrock acesse a coleção privada.

Informações relacionadas

Como soluciono erros de permissão que recebo quando crio uma base de conhecimento no Amazon Bedrock?