Menu Docs
Página inicial do Docs
/
Atlas
/ /

Primeiros passos com a integração da base de conhecimento do Amazon Observer

Observação

Atualmente, o Atlas está disponível como base de conhecimento nas regiões AWS localizadas apenas nos Estados Unidos.

Você pode usar o MongoDB Atlas como uma base de conhecimento para a Amazon Leite para criar aplicativos de IA generativa , implementar a geração aumentada de recuperação (RAG) e criar agentes.

A integração da Base de conhecimento do Amazon Bedrock com o Atlas permite os seguintes casos de uso:

  • Use modelos de base com o MongoDB Vector Search para criar aplicativos de IA e implementar o RAG. Para começar,consulte Iniciar.

  • Habilite a pesquisa híbrida com o MongoDB Vector Search e o MongoDB Search para sua base de conhecimento. Para saber mais, consulte Pesquisa Híbrida com Amazon Cama e Atlas.

Este tutorial demonstra como começar a usar a Vector Search do MongoDB com o Amazon Camarque. Especificamente, você executa as seguintes ações:

  1. Carregue dados personalizados em um bucket Amazon S3.

  2. Opcionalmente, configure um serviço de endpoint usando o AWS PrivateLink.

  3. Crie um índice do MongoDB Vector Search em seus dados.

  4. Crie uma Base de Conhecimento para armazenar dados no Atlas.

  5. Crie um agente que use o MongoDB Vector Search para implementar o RAG.

O Amazon Bedrock é um serviço totalmente gerenciado para criar aplicativos de IA generativa. Ele permite aproveitar os modelos de fundação (FMs) de várias empresas de IA como uma única API.

Você pode usar a Vector Search do MongoDB como uma base de conhecimento para o Amazon Camarock para armazenar dados personalizados no Atlas e criar um agente para implementar o RAG e responder a perguntas sobre seus dados. Para saber mais sobre RAG, consulte Geração Aumentada de Recuperação (RAG) com MongoDB.

Para concluir este tutorial, você deve ter o seguinte:

  • Um cluster Atlas M10+ executando o MongoDB versão 6.0.11, 7.0.2, ou posterior.

  • Uma conta da AWS com um segredo que contenha credenciais para seu cluster do Atlas .

  • Acesso aos seguintes modelos de base usados neste tutorial:

  • A AWS CLI e npm instalados se você planeja configurar um serviço de ponto de extremidade AWS PrivateLink.

Se você ainda não tem um bucket Amazon S3 que contém dados de texto, crie um novo bucket e carregue o seguinte PDF acessível ao público sobre as melhores práticas do MongoDB:

1
  1. Navegue até o Guia de melhores práticas do MongoDB.

  2. Clique em Read Whitepaper ou Email me the PDF para acessar o PDF.

  3. Baixe e salve o PDF localmente.

2
  1. Siga os passos para criar um S3 Bucket. Certifique-se de usar um descritivo Bucket Name.

  2. Siga as etapas para carregar um arquivo em seu bucket. Selecione o arquivo que contém o PDF que você acabou de baixar.

Por padrão, o Amazon CamaDB se conecta à sua base de conhecimento pela Internet pública. Para proteger ainda mais sua conexão, o MongoDB Vector Search oferece suporte à conexão com sua base de conhecimento em uma rede virtual por meio de um serviço de endpoints do AWS PrivateLink.

Opcionalmente, conclua as etapas a seguir para habilitar um serviço de endpoint que se conecta a um endpoint privado AWS PrivateLink para o seu cluster do Atlas :

1

Siga as etapas para configurar um endpoint privado do AWS PrivateLink para seu cluster Atlas. Certifique-se de usar um VPC ID descritivo para identificar seu endpoint privado.

Para obter mais informações, consulte Saiba mais sobre endpoints privados no Atlas.

2

O MongoDB e os parceiros fornecem um Cloud Development Kit (CDK) que você pode usar para configurar um serviço de endpoint apoiado por um balanceador de carga de rede que encaminha o tráfego para seu endpoint privado.

Siga as etapas especificadas no Repositório do Github do CDK para preparar e executar o script do CDK.

Nesta seção, você configura o Atlas como um banco de dados vetorial, também chamado de armazenamento de vetores, criando um índice do MongoDB Vector Search em sua collection.

Para criar um índice do MongoDB Vector Search , você deve ter Project Data Access Admin acesso ou superior ao projeto Atlas .

1

AVISO: Melhorias de navegação em andamento No momento, estamos implementando uma experiência de navegação nova e aprimorada. Se as etapas a seguir não corresponderem à sua visualização na IU do Atlas, consulte a documentação de visualização.

  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Se ainda não estiver exibido, clique em Clusters na barra lateral.

    A página Clusters é exibida.

2

Clique no botão Browse Collections para o seu cluster.

O Data Explorer é exibido.

3
  1. Clique no botão + Create Database.

  2. Para Database name insira bedrock_db.

  3. Para o Collection name, insira test.

  4. Clique em Create para criar o banco de dados e sua primeira coleção.

4

Você pode acessar a página de pesquisa do MongoDB na barra lateral, no Data Explorer ou na página de detalhes do cluster.

  1. Na barra lateral, clique em Atlas Search sob o título Services.

    Se você não tiver clusters, clique em Create cluster para criar um. Para saber mais, consulte Criar um cluster.

  2. Se o seu projeto tiver vários clusters, selecione o cluster que deseja usar no menu suspenso Select cluster e clique em Go to Atlas Search.

    A página Atlas Search é exibida.

  1. Clique no botão Browse Collections para o seu cluster.

  2. Expanda o banco de dados e selecione a coleção.

  3. Clique na guia Search Indexes da coleção.

    A página Atlas Search é exibida.

  1. Clique no nome do seu cluster.

  2. Clique na aba Atlas Search.

    A página Atlas Search é exibida.

5
6

Faça as seguintes seleções na página e clique em Next.

Search Type

Selecione o tipo de índice Vector Search.

Index Name and Data Source

Especifique as seguintes informações:

  • Index Name: vector_index

  • Database and Collection:

    • bedrock_db database

    • test collection

Configuration Method

For a guided experience, select Visual Editor.

To edit the raw index definition, select JSON Editor.

Observação

Seu índice do MongoDB Search é denominado default por padrão. Se você manter esse nome, seu índice será o índice de pesquisa padrão para qualquer query do MongoDB Search que não especifique uma index opção diferente em seus operadores. Se você estiver criando vários índices, recomendamos que mantenha uma convenção de nomenclatura descritiva consistente em seus índices.

7

Essa definição de índice do tipo vectorSearch indexa os seguintes campos:

  • embedding campo como o tipo de vetor . O campo embedding contém as inserções de vetor criadas usando o modelo de inserção que você especifica ao configurar a base de dados de conhecimento. A definição de índice especifica 1024 dimensões vetoriais e mede a similaridade usando cosine.

  • bedrock_metadata, campos bedrock_text_chunk e x-amz-bedrock-kb-document-page-number como o tipo de filtro para pré-filtrar seus dados. Você também especificará esses campos no Amazon Bedrock ao configurar a base de conhecimento.

Observação

Se você já criou um índice com o campo de filtro page_number, é necessário atualizar a definição do índice para usar o novo nome do campo de filtro x-amz-bedrock-kb-document-page-number. O Amazon Bedrock atualizou o nome do campo, e os índices que usam o nome do campo antigo não funcionam mais corretamente com as Bases de Conhecimento do Amazon Bedrock.

Especifique embedding como o campo a ser indexado e 1024 como o número de dimensões.

Para configurar o índice, faça o seguinte:

  1. Selecione Cosine no menu suspenso Similarity Method.

  2. Na seção Filter Field, especifique os campos bedrock_metadata, bedrock_text_chunk e x-amz-bedrock-kb-document-page-number para filtrar os dados.

Cole a seguinte definição de índice no editor JSON:

1{
2 "fields": [
3 {
4 "numDimensions": 1024,
5 "path": "embedding",
6 "similarity": "cosine",
7 "type": "vector"
8 },
9 {
10 "path": "bedrock_metadata",
11 "type": "filter"
12 },
13 {
14 "path": "bedrock_text_chunk",
15 "type": "filter"
16 },
17 {
18 "path": "x-amz-bedrock-kb-document-page-number",
19 "type": "filter"
20 }
21 ]
22}
8
9

O Atlas exibe uma janela modal para que você saiba que seu índice está crescendo.

10
11

O índice recém-criado é exibido na aba Atlas Search. Enquanto o índice está construindo, o campo StatusBuild in Progress. Quando o índice terminar de construir, o campo StatusActive.

Observação

Collections maiores demoram mais tempo para indexar. Você receberá uma notificação por e-mail quando seu índice terminar a criação.

Nesta seção, você cria uma base de conhecimento para carregar dados personalizados em seu repositório de vetores.

1
  1. Faça login no Console do Amazon Web Services.

  2. No canto superior esquerdo, clique no menu suspenso Services.

  3. Clique em Machine Learning e selecione Amazon Bedrock.

2

O Amazon Bedrock não concede acesso aos FMs automaticamente. Se ainda não o fez, siga as etapas para adicionar acesso ao modelo para os modelos Titan Embeddings G1 - Text e Anthropic Claude V2.1 .

3
  1. Na navegação à esquerda do console do Amazon Bedrock, clique em Knowledge Bases.

  2. Clique em Create e depois selecione Knowledge base with vector store.

  3. Especifique mongodb-atlas-knowledge-base como Knowledge Base name.

  4. Clique em Next.

Por padrão, o Amazon Leite cria uma nova função IAM para acessar a base de conhecimento.

4
  1. Especifique um nome para a fonte de dados usada pela base de conhecimento.

  2. Insira o URI para o bucket S3 que contém sua fonte de dados. Ou clique em Browse S3 e localize o bucket S3 que contém sua fonte de dados na lista.

  3. Clique em Next.

    O Amazon Leitor exibe modelos de incorporação disponíveis que você pode usar para converter os dados de texto da fonte de dados em incorporações vetoriais.

  4. Selecione o modelo Titan Embeddings G1 - Text.

5
  1. Na seção Vector database, selecione Use an existing vector store.

  2. Selecione MongoDB Atlas e configure as seguintes opções:

    Captura de tela da seção de configuração do armazenamento de vetores do Amazon Bedrock.
    clique para ampliar
    • Para o Hostname, insira o URL do seu cluster do Atlas localizado em sua string de conexão. O nome de host usa o seguinte formato:

      <clusterName>.mongodb.net
    • Para o Database name, insira bedrock_db.

    • Para o Collection name, insira test.

    • Para o Credentials secret ARN, insira o ARN para o segredo que contém suas credenciais do Atlas cluster. Para saber mais, consulte os conceitos do Amazon Web Services Secrets Manager.

  3. Na seção Metadata field mapping , configure as seguintes opções para determinar o índice do MongoDB Vector Search e os nomes de campo que o Atlas utiliza para incorporar e armazenar sua fonte de dados:

    Captura de tela da seção de configuração do mapeamento de campos do armazenamento vetorial.
    clique para ampliar
    • Para o Vector search index name, insira vector_index.

    • Para o Vector embedding field path, insira embedding.

    • Para o Text field path, insira bedrock_text_chunk.

    • Para o Metadata field path, insira bedrock_metadata.

    Observação

    Opcionalmente, você pode especificar o campo Text search index name para configurar a pesquisa híbrida. Para aprender mais, veja Pesquisa híbrida com Amazon Bedrock e Atlas.

  4. Se você configurou um serviço de endpoint, informe seu PrivateLink Service Name.

  5. Clique em Next.

6

Depois de revisar os detalhes da sua base de conhecimento, clique em Create knowledge base para finalizar sua criação.

7

Depois que o Amazon Bedrock cria a Base de Conhecimento, ele solicita que você sincronize seus dados. Na seção Data source, selecione sua fonte de dados e clique em Sync para sincronizar os dados do bucket S3 e carregá-los no Atlas.

Quando a sincronização for concluída, se você estiver usando o Atlas, poderá verificar suas incorporações vetoriais navegando até o namespace bedrock_db.test na interface do usuário do Atlas.

Nesta seção, você implementa um agente que usa o MongoDB Vector Search para implementar o RAG e responder a perguntas sobre seus dados. Quando você solicita a este agente, ele faz o seguinte:

  1. Conecta-se à sua base de conhecimento para acessar os dados personalizados armazenados no Atlas.

  2. Utiliza a Vector Search do MongoDB para recuperar documentos relevantes do seu armazenamento de vetor com base no prompt.

  3. Utiliza um modelo de bate-papo com AI para gerar uma resposta sensível ao contexto com base nesses documentos.

Conclua as etapas a seguir para criar e testar o agente RAG :

1
  1. No painel de navegação à esquerda do Amazon Bedrock, clique em Agents.

  2. Clique em Create Agent.

  3. Especifique mongodb-rag-agent como Name e clique em Create.

2

Por padrão, o Amazon Leitor cria uma nova função do IAM para acessar o agente. Na seção Agent details , especifique o seguinte:

  1. Nos menus suspensos, selecione Anthropic e Claude V2.1 como o provedor e o modelo de AI usado para responder a perguntas sobre seus dados.

    Observação

    O Amazon Bedrock não concede acesso aos FMs automaticamente. Se ainda não o fez, siga os passos para adicionar acesso ao modelo para o modelo Anthropic Claude V2.1 modelo.

  2. Forneça instruções para o agente para que ele saiba como concluir a tarefa.

    Por exemplo, se você estiver usando os dados de amostra, cole as seguintes instruções:

    You are a friendly AI chatbot that answers questions about working with MongoDB.
  3. Clique em Save.

3

Para conectar o agente à base de conhecimento que você criou:

  1. Na seção Knowledge Bases, clique em Add.

  2. Selecione mongodb-atlas-knowledge-base no menu suspenso.

  3. Descreva a base de dados de conhecimento para determinar como o agente deve interagir com a fonte de dados.

    Se você estiver usando os dados de amostra, cole as seguintes instruções:

    This knowledge base describes best practices when working with MongoDB.
  4. Clique em Add e depois em Save.

4
  1. Clique no botão Prepare.

  2. Clique Test. O Amazon Camado exibe uma janela de teste à direita dos detalhes do seu agente, se ela ainda não tiver sido exibida.

  3. Na janela de teste, insira um prompt. O agente solicita o modelo, usa o MongoDB Vector Search para recuperar documentos relevantes e, em seguida, gera uma resposta com base nos documentos.

    Se você usou os dados de amostra, insira o seguinte prompt. A resposta gerada pode variar.

    What's the best practice to reduce network utilization with MongoDB?
    The best practice to reduce network utilization with MongoDB is
    to issue updates only on fields that have changed rather than
    retrieving the entire documents in your application, updating
    fields, and then saving the document back to the database. [1]

    Dica

    Clique na anotação na resposta do agente para visualizar o bloco de texto que o MongoDB Vector Search recuperou.

5

Para solucionar problemas, consulte Solução de problemas da integração da base de conhecimento do Amazon Bedrock.

Voltar

Criar agentes de AI

Nesta página