Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Junte-se a nós no Amazon Web Services re:Invent 2024! Saiba como usar o MongoDB para casos de uso de AI .
Desenvolvedor do MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Atlaschevron-right

Inicie um fluxo de trabalho RAG totalmente gerenciado com o MongoDB Atlas e o Amazon Bedrock

BS
EO
Babu Srinivasan, Igor Alekseev, Erik Onnen6 min read • Published May 02, 2024 • Updated May 08, 2024
AWSAtlas
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty

Introdução

O MongoDB Atlas agora está integrado nativamente com o Amazon Bedrock Knowledge Base, facilitando ainda mais a criação de aplicativos de IA generativa com base em dados corporativos.
O Amazon Bedrock, o serviço de cloud gerenciado do Amazon Web Services (AWS) para IA generativa, permite que os desenvolvedores criem aplicativos com base em modelos de fundamentos avançados, como o Class da Athropic, o Cohere Embed e o Amazon Titan. Ao se integrar ao Atlas Vector Search, o Amazon Bedrock permite que os clientes aproveitem os recursos de banco de dados vetoriais do Atlas para trazer contexto atualizado às saídas do Modelo Fundamental usando dados proprietários.
Com o clique de um botão (veja abaixo), o Amazon Bedrock agora integra o MongoDB Atlas como um banco de dados vetorial em seu fluxo de trabalho RAG (Retrieval Augmented Generation) totalmente gerenciado e de ponta a ponta, eliminando a necessidade de criar integrações personalizadas para fontes de dados ou gerenciar fluxos de dados.
As empresas que usam o MongoDB Atlas e o Amazon Bedrock agora podem implantar e escalar rapidamente aplicativos de IA generativos com base nos dados corporativos mais recentes e precisos. Para empresas com os requisitos de privacidade mais exigentes, esse recurso também está disponível por meio do AWS PrivateLink (mais detalhes na parte inferior deste artigo).

O que é geração aumentada de recuperação?

Um dos maiores desafios ao trabalhar com IA generativa é tentar evitar alucinações ou resultados errôneos retornados pelo modelo básico (FM) que está sendo usado. Os FMs são treinados em informações públicas que ficam desatualizadas rapidamente e os modelos não podem tirar proveito das informações proprietárias que as empresas possuem.
Uma maneira de lidar com CMs alucinadas é complementar uma query com seus próprios dados usando um fluxo de trabalho conhecido como geração aumentada de recuperação, ou RAG. Em um fluxo de trabalho RAG, o CM buscará dados específicos — por exemplo, o histórico de compras anteriores de um cliente — de um banco de dados designado que atua como um "source of truth " para aumentar os resultados retornados pelo CM. Para uma pesquisa generativa de AI CM para Atlas Search, localize e aumente suas respostas, os dados relevantes precisam ser transformados em um vetor e armazenados em um banco de dados vetorial.

Como funciona a integração do Knowledge Base?

No Amazon Cama, os desenvolvedores agora podem "click to add " MongoDB Atlas como uma base de conhecimento para seu armazenamento de dados vetoriais para alimentar o RAG.
No fluxo de trabalho, um cliente escolhe dois modelos diferentes: um modelo de incorporação e um modelo generativo. Esses modelos são então orquestrados e usados pelos Agentes Bedrock durante a interação com a base de conhecimento — neste caso, o MongoDB Atlas.
O Bedrock lê seus dados de texto de um bucket S3, fragmenta os dados e usa o modelo de incorporação escolhido pelo usuário para criar as incorporações vetoriais, armazenando esses fragmentos de texto, incorporações e metadados relacionados no banco de dados vetoriais do MongoDB Atlas. Um índice de pesquisa vetorial do Atlas também é criado como parte da configuração para consultar as incorporações vetoriais.
Diagrama de blocos de alto nível representando cada um dos serviços e seu fluxo de dados

Por que escolher o MongoDB Atlas como base de conhecimento da Cama do Rock?

O MongoDB Atlas combina metadados operacionais, vetoriais e em uma única plataforma, tornando-o uma base de conhecimento ideal para usuários do Amazon Leitor que desejam aumentar suas experiências de IA generativa e, ao mesmo tempo, simplificar sua pilha de IA generativa.
Além disso, o MongoDB Atlas oferece aos desenvolvedores a capacidade de configurar uma infraestrutura dedicada para volumes de trabalho de pesquisa e pesquisa vetorial, otimizando os recursos de computação para dimensionar a pesquisa e o banco de dados de forma independente.

Arquitetura da solução

diagrama de arquitetura
No diagrama de arquitetura acima, os documentos são carregados para a Base de Dados de Conhecimento da Amazon Cama (via S3) e armazenados dentro do armazenamento de vetores do MongoDB Atlas. Em seguida, as queries dos usuários são abordadas por meio de agentes especializados Amazon Cama de Rock, personalizados para casos de uso individuais, utilizando a funcionalidade Atlas Search do MongoDB Atlas Vector.

Conjunto de dados

Nesta demonstração, usamos o Guia de melhores práticas para MongoDB para preencher nossa base de conhecimento. Baixe o PDF (clicando em “Read Whitepaper” ou “Email me the PDF). Como alternativa, você pode baixá-lo do repositórioGitHub. Depois de obter o PDF, faça o upload dele para um bucket S3 para hospedagem. (Observe o nome do bucket, pois o usaremos mais tarde no artigo.)

Pré-requisitos

  • Conta do MongoDB Atlas
  • Conta AWS

Etapas de implementação

Atlas cluster e configuração do banco de dados

A captura de tela mostra a navegação ao criar um banco de dados no MongoDB Atlas.

Índice do Atlas Vector Search

Antes de criarmos uma base de conhecimento do Amazon BIDB (usando o MongoDB Atlas), precisamos criar um índice do Atlas Vector Search.
  • No MongoDB Atlas Console, navegue até seu cluster e selecione a guiaAtlas Search.
Navegação no console do Atlas para criar o índice de pesquisa
  • Selecione Criar Índicede Pesquisa,Atlas Vector Searche Avançar.
A captura de tela mostra a navegação do MongoDB Atlas Search Index.
  • Selecione o banco de dados e a coleção onde os embeddings estão armazenados.
MongoDB Atlas Navegação no índice do Atlas Search
  • Forneça o seguinte JSON na definição do índice e clique em Avançar, confirmando e criando o índice na próxima página.
    1{
    2 "fields": [
    3 {
    4 "numDimensions": 1536,
    5 "path": "bedrock_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}
Captura de tela mostra a navegação do Índice de Pesquisa do MongoDB Atlas
Observação: os campos no JSON são personalizáveis, mas devem corresponder aos campos que configuramos no console da AWS do Amazon Read More . Se o seu conteúdo de origem tiver metadados de filtro, os campos terão de ser incluídos na array JSON acima no mesmo formato: {"path": "<attribute_name>","type":"filter"}.

Base de conhecimento da Amazon Bedrock

  • No console da AWS, navegue até Amazon Cama do Rock e clique em Começar.
Página inicial do console do Amazon BIRock
  • Em seguida, clique em Acesso ao modelo.
Página de visão geral do console Amazon Bedrock
  • Certifique-se de que os modelos Amazon e Atrópico estejam selecionados.
Página Acesso ao modelo do console do Amazon CloudRock
  • Em seguida, navegue até Knowledge Bases (Bases de conhecimento ) no menu à esquerda e selecione Create Knowledge Base (Criar base de conhecimento).
Página do console do Amazon Bloco para selecionar as bases de conhecimento
  • Dê um nome à sua base de conhecimento e selecione Avançar. (Adicione uma descrição opcional, se desejar.)
Página de configuração do console de Bases de conhecimento do Amazon BIDB
  • Forneça o bucket S3 em que você fez o upload do PDF “Best Practices Guide for MongoDB” anterior e selecione Avançar.
Navegação para configurar a fonte de dados
  • Em seguida, selecione Modelo de incorporações Tiger.
Navegação para a seleção do modelo de incorporação
  • Role para baixo para configurar o MongoDB Atlas como o banco de dados vetorial que foi configurado anteriormente.
Navegação para a seleção da loja de vetores
  • Role para baixo para preencher as opções de configuração do MongoDB.
    • As etapas de configuração abaixo pressupõem conectividade com o MongoDB Atlas pela Internet e ele é recomendado somente para casos de uso que não sejam de produção.
    • Para configurar a conectividade pelo PrivateLink (PL) seguro, siga as etapas adicionais (detalhadas no Leiame) do script CDK para configurar o Endpoint Service.
    • Para fornecer o ARN secreto, crie um segredo no seguinte formato: {"username":"xxxx","password":"xxx"}.
      Observação: como prática de segurança recomendada, as credenciais NÃO devem ter privilégiosde administrador do Atlas . Eles não devem ser mais permissivos do que a permissãoLer e gravar em qualquer banco de dados.
Detalhes de configuração do MongoDB Atlas Vector como uma base de conhecimento
  • E mapeamentos de campo de metadados do arquivo JSON que você configurou anteriormente no Atlas por meio do editor JSON.
Configuração do mapeamento do campo de metadados para a pesquisa vetorial
  • Em seguida, revise e crie a base de conhecimento.
Painel de revisão de todas as configurações feitas anteriormente
  • Quando a criação estiver concluída, navegue até a Fonte de Dados e clique no botão Sincronizar para sincronizar a fonte de dados.
Conclusão bem-sucedida da criação da base de conhecimento
  • Quando a sincronização for concluída, você poderá navegar até sua coleção de banco de dados no console MongoDB Atlas. Observe que o tamanho do vetor corresponde ao tamanho do vetor do modelo de incorporações.
Coleções de banco de dados MongoDB com incorporação de vetor

Amazon Bedrock Agent

Os agentes do Amazon Bedrock orquestram interações entre modelos de base, fontes de dados, aplicativos de software e conversas com usuários. Além disso, os agentes chamam automaticamente as APIs para realizar ações e invocam bases de conhecimento para complementar as informações para essas ações
  • No console do AWS Bedrock, crie um agente.
Página inicial dos Agentes Amazon Cama de Rock
  • Forneça o nome do agente e uma descrição opcional.
Configurações para o Agente Amazon Cama de Rock
  • Selecione um modelo e forneça o prompt.
Seleção de modelos para o Amazon CloudRock Agent
  • Para nosso agente, pularemos o Grupo de ação e configuraremos nossa base de conhecimento. Selecione a base de conhecimento configurada anteriormente, forneça instruções para o agente e selecione Adicionar.
Seleção da base de conhecimento para o Amazon BIDB Agent
  • Em seguida, salve a configuração para criar o agente.
Mensagem de sucesso após salvar a configuração do agente.
  • Depois que o agente for criado com sucesso, teste-o fazendo uma pergunta.
Saída do chat para a query fornecida

Conclusão

Este artigo demonstra o processo de estabelecer uma base de conhecimento no Amazon Leite, usando o MongoDB Atlas como banco de dados vetorial. Depois de configurado, o Amazon CamaDB usará sua base de conhecimento do MongoDB Atlas para ingestão de dados e, posteriormente, criará um agente capaz de responder a consultas com base em seus dados precisos e proprietários.
Principais comentários nos fóruns
Ainda não há comentários sobre este artigo.
Iniciar a conversa

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Artigo

Como criar aplicativos sem servidor com SST e MongoDB Atlas


Aug 29, 2024 | 3 min read
Tutorial

Influencie a classificação dos resultados de pesquisa com pontuações de funções no Atlas Search


Feb 03, 2023 | 5 min read
exemplo de código

myLeG


Jul 07, 2022 | 1 min read
Tutorial

Desenvolver um catálogo de conteúdo de e-commerce com Atlas Search


Jun 27, 2022 | 10 min read
Sumário