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

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

Nesta página

  • Plano de fundo
  • Pré-requisitos
  • Carregar dados personalizados
  • Configurar um serviço de endpoint
  • Criar o índice Atlas Vector Search Index
  • Crie uma base de conhecimento
  • Crie um agente
  • Próximos passos

Observação

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

Você pode utilizar Atlas Vector Search o como uma base de conhecimento do Amazon para Cama de Rock para criar aplicativos de generativa AI e implementar geração aumentada por recuperação (RAG). Este tutorial demonstra como começar a usar o Atlas Vector Search 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 de pesquisa do Atlas Vector Search em seus dados.

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

  5. Crie um agente que utilize o Atlas 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 AI como uma única API.

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

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 endpoint 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 fazer upload de um arquivo para o seu bucket. Selecione o arquivo que contém o PDF que você acabou de baixar.

Por padrão, o Amazon Bedrock se conecta à sua base de conhecimento pela Internet pública. Para proteger ainda mais sua conexão, o Atlas Vector Search oferece suporte para a conexão com sua Base de Conhecimento por uma rede virtual por meio de um serviço de endpoint 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órioGitHub 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 vetorial, criando um índice Atlas Vector Search na sua coleção.

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

1
  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 do Atlas Search pela barra lateral, pelo Data Explorer ou pela página de detalhes do cluster.

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

  2. No menu suspenso Select data source, selecione seu 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
  1. Clique no botão Create Search Index.

  2. Em Atlas Vector Search, selecione JSON Editor e clique em Next.

  3. Na seção Database and Collection, localize o banco de dados bedrock_db e selecione a coleção test.

  4. No campo Index Name, digite vector_index.

  5. Substitua a definição padrão pela seguinte definição de índice de amostra e clique em Next.

    Essa definição de índice especifica a indexação dos seguintes campos em um índice do tipo vectorSearch:

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

    • Os campos metadata e text_chunk são tipos de filtro para pré-filtrar seus dados. Você especifica esses campos ao configurar a Base de Conhecimento.

    1{
    2 "fields": [
    3 {
    4 "numDimensions": 1024,
    5 "path": "embedding",
    6 "similarity": "cosine",
    7 "type": "vector"
    8 },
    9 {
    10 "path": "metadata",
    11 "type": "filter"
    12 },
    13 {
    14 "path": "text_chunk",
    15 "type": "filter"
    16 }
    17 ]
    18}
6

Uma janela modal é exibida para que você saiba que seu índice está construindo.

7

O índice deve levar cerca de um minuto para ser criado. Enquanto é compilado, a coluna Status mostra Initial Sync. Quando a compilação terminar, a coluna Status mostrará Active.

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.

  4. Na página de destino Amazon Bedrock, clique em Get started.

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 knowledge base.

  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ções disponíveis que você pode usar para converter os dados de texto da fonte de dados em incorporações vetoriais.

  4. Selecione Titan Embeddings G1 - Text.

5
  1. Na seção Vector database, selecione Choose a vector store you have created.

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

    • 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 Atlas Search e os nomes de campo que o Atlas utiliza para incorporar e armazenar sua fonte de dados:

    • Para o Vector search index name, insira vector_index.

    • Para o Vector embedding field path, insira embedding.

    • Para o Text field path, insira text_chunk.

    • Para o Metadata field path, insira metadata.

  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, você poderá visualizar suas incorporações vetoriais na IU do Atlas navegando até a coleção bedrock_db.test em seu cluster.

Nesta seção, você cria um agente que usa o Atlas 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 o Atlas Vector Search 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 .

  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 Atlas 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 Atlas Vector Search recuperou.

5

O MongoDB e os parceiros também fornecem os seguintes recursos para desenvolvedores:

Dica

Veja também:

Voltar

Spring AI