Menu Docs
Página inicial do Docs
/ /
Centro de Arquitetura Atlas
/ / /

Crie um aplicativo de pesquisa em PDF com pesquisa vetorial e LLMs

Otimize as operações e o processamento de sinistros com poderosos recursos de pesquisa em PDF, integrando o MongoDB Atlas Vector Search, o Superduper.io e LLMs.

Casos de uso: Gen AI

Setores: Seguros, Serviços Financeiros, Manufatura e Mobilidade, Varejo

Produtos: MongoDB Atlas, MongoDB Atlas Vector Search

Parceiros: Superduper.io, FastAPI

Seguradoras dependem fortemente do processamento de dados. Para tomar decisões de investimento ou lidar com pedidos, essas empresas utilizam grandes quantidades de dados, e a maioria desses dados não são estruturados. Reguladores de sinistros e underwriters precisam examinar minuciosamente inúmeras páginas de diretrizes, contratos e relatórios, geralmente em formato PDF. Localizar e analisar manualmente cada informação é demorado e pode facilmente resultar em erros onerosos, como estimativas de risco incorretas.

As aplicações da geração aumentada de recuperação (RAG) são uma revolução para as seguradoras, pois permitem a utilização do poder dos dados não estruturados e, ao mesmo tempo, promovem a acessibilidade e a flexibilidade. Isso é especialmente útil em PDFs, que são comuns, mas não fáceis de pesquisar. A RAG torna a pesquisa em PDFs mais eficiente e precisa. Agora, os usuários podem digitar uma pergunta em linguagem natural, e o aplicativo examinará os dados da empresa, fornecerá uma resposta, resumirá o conteúdo dos documentos e indicará a fonte das informações, incluindo a página e o parágrafo onde foram encontradas.

Neste repositório do Github, você encontrará instruções passo a passo detalhadas sobre como criar um aplicação de pesquisa em PDF que combine MongoDB, Superduper e LLMs. Nosso caso de uso para essa solução se concentra em um avaliador de reivindicações ou um subscritor que lida com um caso específico. A análise de um PDF de diretrizes associado a um cliente específico ajuda a determinar o valor da perda em evento de desastre ou o novo premium no caso de renovação de política. O aplicação responde a perguntas e exibe as seções relevantes do documento.

Combinar o Atlas Vector Search com LLMs para criar aplicativos RAG pode impactar diretamente o resultado financeiro de uma seguradora. Para experimentar nossa ferramenta de pesquisa semântica, acesse o Guia rápido do Atlas Vector Search.

Combinar o MongoDB e Superduper permite criar um sistema de recuperação de informações com facilidade. O processo envolve as seguintes etapas:

  1. O usuário adiciona os PDFs que precisam ser pesquisados.

  2. Um script analisa os PDFs, cria partes e as vetoriza (ver Figura 1). Para garantir que você não perca dados de transição entre as partes, o script utiliza a metodologia de janela deslizante para produzir partes sobrepostas.

  3. Os vetores e metadados de partes são armazenados no MongoDB, e um índice do Vector Search é criado (veja a Figura 2).

  4. Os PDFs agora estão prontos para serem consultados. O usuário seleciona um cliente, faz uma pergunta, e o sistema retorna uma resposta, exibindo a página e o parágrafo onde a informação foi encontrada e destacando a seção específica com um retângulo vermelho (ver Figura 2).

Figura 1: divisão de PDFs em partes, criação de embeddings e armazenamento, orquestrados com o Superduper.io

Figura 1. Particionamento de PDF, criação de incorporação e armazenamento, orquestrados com o Superduper.io

Cada cliente tem um PDF de diretrizes vinculado à sua conta, com base no país de residência. Quando o usuário seleciona um cliente e faz uma query, o sistema executa uma pesquisa vetorial apenas naquele documento específico, filtrando de forma transparente os documentos não relevantes. Isso é possível graças ao campo de pré-filtro incluído no índice e na query de pesquisa (veja os trechos de código abaixo).

O Atlas Vector Search também usa a nova arquitetura dedicada de Nós de pesquisa do MongoDB para viabilizar uma melhor otimização conforme o nível certo de recursos para necessidades específicas de carga de trabalho. Os nós de pesquisa fornecem infraestrutura dedicada para cargas de trabalho do Atlas Search e Vector Search, permitindo otimizar os recursos de computação e dimensionar por completo as necessidades de pesquisa independentemente do banco de dados. Os nós de pesquisa fornecem isolamento de carga de trabalho, maior disponibilidade e melhor otimização do uso dos recursos.

Figura 2: Fluxo de consulta de PDF, orquestrado com Superduper.io

Figura 2. Fluxo de queries em PDF, orquestrado com o Superduper.io

{
"fields": [
{
"numDimensions": 1536,
"path": "_outputs.elements.text-embedding.0",
"similarity": "cosine",
"type": "vector"
},
{
"path": "_outputs.elements.chunk.0.source_elements.metadata.filename",
"type": "filter"
}
]
}
vector_query = [
{
"$vectorSearch": {
'index': INDEX_NAME,
'path': "_outputs.elements.text-embedding.0",
'queryVector': query_embedding,
'numCandidates': vector_search_top_k,
'limit': vector_search_top_k,
'filter': {'_outputs.elements.chunk.0.source_elements.metadata.filename': filename}
}
},
{
"$project": {
"_outputs.elements.text-embedding.0": 0,
"score": { "$meta": "vectorSearchScore" }
}
}
]

Superduper.io é uma estrutura Python de código aberto para integrar modelos e fluxos de trabalho de IA diretamente com e entre os principais bancos de dados para obter soluções de IA corporativa personalizadas mais flexíveis e escaláveis. Ele permite que os desenvolvedores criem, implementem e gerenciem a IA em sua infraestrutura e dados existentes enquanto usam seus FERRAMENTAS preferidos, eliminando a migração e duplicação de dados.

Com o Superduper.io, os desenvolvedores podem:

  • Incorporar AI aos seus bancos de dados, eliminando os pipelines de dados e minimizando esforços de engenharia, tempo para produção e recursos computacionais.

  • Implementem fluxos de trabalho de AI com quaisquer modelos de AI e quaisquer APIs em quaisquer tipos de dados.

  • Proteger dados: em vez de usar APIs, podem usar hospedagem e ajustar seus próprios modelos em sua própria infraestrutura.

  • Em vez de usar modelos de embedding, podem usar outros provedores de API. Também podem hospedar seus modelos na HuggingFace ou em outras plataformas.

O Superduper.io oferece uma gama de amostras de casos de uso e notebooks que os desenvolvedores podem utilizar para começar. Alguns exemplos incluem pesquisa vetorial com o MongoDB, geração de embeddings, pesquisa multimodal, RAG, aprendizado por transferência e muito mais. A demonstração desta solução foi adaptada de um aplicativo previamente desenvolvido no Superduper.io.

Crie a solução seguindo as instruções neste repositório do Github. A solução é composta de duas etapas:

  1. O script de inicialização divide os PDFs em partes e depois as transforma em incorporações vetoriais.

  2. A etapa de consulta permite que o usuário faça consultas nos documentos.

  • As embeddings podem usar diferentes modelos e opções de implantação: é possível implantar um modelo localmente se for necessário que seus dados permaneçam nos servidores. Caso contrário, você pode chamar uma API e obter suas incorporações vetoriais de volta, conforme explicado neste tutorial. É possível usar a Voyage AI ou modelos de código aberto. Ao construir seu sistema, pense nos requisitos de privacidade e segurança.

  • O Superduper integra modelos de AI e fluxo de trabalho: o Superduper é o framework que fornece uma interface simples e padrão para interação com pesquisa vetorial e LLMs.

  • Luca Napoli, soluções para o setor, MongoDB

  • Clarence Ondieki, arquiteto de soluções, MongoDB

  • Pedro Bereilh, Soluções para o setor, MongoDB

Voltar

Ajuste de sinistro aprimorado por IA

Nesta página