Primeiros passos com a integração da base de conhecimento do Amazon Observer
Nesta página
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:
Carregue dados personalizados em um bucket Amazon S3.
Opcionalmente, configure um serviço de endpoint usando o AWS PrivateLink.
Crie um índice de pesquisa do Atlas Vector Search em seus dados.
Crie uma Base de Conhecimento para armazenar dados no Atlas.
Crie um agente que utilize o Atlas Vector Search para implementar o RAG.
Plano de fundo
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.
Pré-requisitos
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.
Carregar dados personalizados
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:
Faça o download do PDF.
Navegue até o Guia de melhores práticas do MongoDB.
Clique em Read Whitepaper ou Email me the PDF para acessar o PDF.
Baixe e salve o PDF localmente.
Carregue o PDF em um bucket Amazon S3.
Siga os passos para criar um S3 Bucket. Certifique-se de usar um descritivo Bucket Name.
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.
Configurar um serviço de endpoint
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 :
Configure um endpoint privado no Atlas.
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.
Configure o serviço de endpoint.
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.
Criar o índice Atlas Vector Search Index
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.
Acesso necessário
Para criar um índice do Atlas Vector Search, você deve ter acesso do Project Data Access Admin
ou superior ao projeto do Atlas.
Procedimento
No Atlas, váGo para a Clusters página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Se ainda não estiver exibido, clique em Clusters na barra lateral.
A página Clusters é exibida.
Acesse a página Collections.
Clique no botão Browse Collections para o seu cluster.
O Data Explorer é exibido.
Defina o índice do Atlas Vector Search.
Clique no botão Create Search Index.
Em Atlas Vector Search, selecione JSON Editor e clique em Next.
Na seção Database and Collection, localize o banco de dados
bedrock_db
e selecione a coleçãotest
.No campo Index Name, digite
vector_index
.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 campoembedding
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 especifica1024
dimensões vetoriais e mede a similaridade usandocosine
.Os campos
metadata
etext_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 }
Crie uma base de conhecimento
Nesta seção, você cria uma base de conhecimento para carregar dados personalizados em seu repositório de vetores.
Gerenciar o acesso ao modelo.
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 .
Crie a base de conhecimento.
Na navegação à esquerda do console do Amazon Bedrock, clique em Knowledge bases.
Clique em Create knowledge base.
Especifique
mongodb-atlas-knowledge-base
como Knowledge base name.Clique em Next.
Por padrão, o Amazon Leite cria uma nova função IAM para acessar a base de conhecimento.
Adicione uma fonte de dados.
Especifique um nome para a fonte de dados usada pela base de conhecimento.
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.
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.
Selecione Titan Embeddings G1 - Text.
Conecte o Atlas à base de conhecimento.
Na seção Vector database, selecione Choose a vector store you have created.
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.
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
.
Se você configurou um serviço de endpoint, informe seu PrivateLink Service Name.
Clique em Next.
Sincronize a fonte de dados.
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.
Crie um agente
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:
Conecta-se à sua base de conhecimento para acessar os dados personalizados armazenados no Atlas.
Utiliza o Atlas Vector Search para recuperar documentos relevantes do seu armazenamento de vetor com base no prompt.
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 :
Selecione um modelo e forneça um prompt.
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:
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 .
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. Clique em Save.
Adicione a base de conhecimento.
Para conectar o agente à base de conhecimento que você criou:
Na seção Knowledge Bases, clique em Add.
Selecione mongodb-atlas-knowledge-base no menu suspenso.
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. Clique em Add e depois em Save.
Teste o agente.
Clique no botão Prepare.
Clique Test. O Amazon Camado exibe uma janela de teste à direita dos detalhes do seu agente, se ela ainda não tiver sido exibida.
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.
Próximos passos
O MongoDB e os parceiros também fornecem os seguintes recursos para desenvolvedores: