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
Avalie esse Tutorial
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).
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.
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.
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.
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.
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.)
- Conta do MongoDB Atlas
- Conta AWS
- Faça login ou inscreva -se no MongoDB Atlas
- Configure o cluster MongoDB Atlas com uma configuração M10 ou superior. Observe que M0 ou cluster gratuito não serão compatíveis com essa configuração.
- Crie um banco de dados e uma coleção
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.
- Selecione Criar Índicede Pesquisa,Atlas Vector Searche Avançar.
- Selecione o banco de dados e a coleção onde os embeddings estão armazenados.
- 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 }
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"}
.- No console da AWS, navegue até Amazon Cama do Rock e clique em Começar.
- Em seguida, clique em Acesso ao modelo.
- Certifique-se de que os modelos Amazon e Atrópico estejam selecionados.
- Em seguida, navegue até Knowledge Bases (Bases de conhecimento ) no menu à esquerda e selecione Create Knowledge Base (Criar base de conhecimento).
- Dê um nome à sua base de conhecimento e selecione Avançar. (Adicione uma descrição opcional, se desejar.)
- Forneça o bucket S3 em que você fez o upload do PDF “Best Practices Guide for MongoDB” anterior e selecione Avançar.
- Em seguida, selecione Modelo de incorporações Tiger.
- Role para baixo para configurar o MongoDB Atlas como o banco de dados vetorial que foi configurado anteriormente.
- 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.
- E mapeamentos de campo de metadados do arquivo JSON que você configurou anteriormente no Atlas por meio do editor JSON.
- Em seguida, revise e crie a base de conhecimento.
- 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.
- 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.
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.
- Forneça o nome do agente e uma descrição opcional.
- Selecione um modelo e forneça o prompt.
- 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.
- Em seguida, salve a configuração para criar o agente.
- Depois que o agente for criado com sucesso, teste-o fazendo uma pergunta.
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.