Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/

Compile una aplicación de búsqueda de PDF con búsqueda vectorial y LLM

Optimiza tus operaciones y el procesamiento de reclamos con potentes capacidades de búsqueda en PDF, integrando MongoDB Atlas Vector Search, Superduper.io y LLMs.

caso de uso: Gen AI

Industrias: Seguros, servicios financieros, Manufactura y movilidad, venta minorista

Productos: MongoDB Atlas, Búsqueda Vectorial en MongoDB Atlas

Socios: Superduper.io, FastAPI

Las compañías de seguros dependen en gran medida del procesamiento de datos. Para tomar decisiones de inversión o gestionar reclamaciones, utilizan grandes cantidades de datos, en su mayoría no estructurados. Las aseguradoras y los tasadores de reclamaciones tienen que revisar numerosas páginas de directrices, contratos e informes, normalmente en formato PDF. Encontrar y hacer la revisión manualmente de cada pieza de información lleva mucho tiempo y puede conducir fácilmente a errores costosos, como estimaciones de riesgos incorrectas.

Las aplicaciones de generación de recuperación aumentada (RAG) cambian las reglas del juego para las empresas de seguros, ya que les permiten aprovechar el poder de los datos no estructurados al tiempo que promueven la accesibilidad y la flexibilidad. Son especialmente útiles para los PDF, que son comunes pero difíciles de buscar. RAG hace que la búsqueda en PDF sea más eficiente y precisa. Ahora, los usuarios pueden escribir una pregunta en lenguaje natural y la aplicación tamizará los datos de la empresa, proporcionará una respuesta, resumirá el contenido de los documentos e indicará la fuente de la información, incluyendo la página y el párrafo donde se encontró.

En este repositorio de Github, encontrarás instrucciones detalladas paso a paso sobre cómo compilar una aplicación para la búsqueda de PDF que combine MongoDB, Superduper y LLM. Nuestro caso de uso para esta solución se centra en un ajustador de siniestros o un suscriptor que maneja un caso específico. Analizar un PDF de pautas que está asociado con un cliente específico ayuda a determinar la cantidad de pérdidas en evento de un accidente, o la nueva prima en caso de una renovación de póliza. La aplicación responde a preguntas y muestra las secciones pertinentes del documento.

Combinar Atlas búsqueda vectorial y LLMs para compilar aplicaciones RAG puede tener un impacto directo en el resultado final de una empresa de seguros. Para probar nuestra herramienta de búsqueda semántica, visita el Inicio rápido de búsqueda vectorial de Atlas.

Combinar MongoDB con Superduper te permite compilar un sistema de recuperación de información con facilidad. El proceso implica las siguientes etapas:

  1. El usuario añade los PDF que necesitan ser de búsqueda.

  2. Un script analiza los PDF, crea los fragmentos y los vectoriza (ver Figure 1). Para asegurar que no se pierdan datos transitorios entre fragmentos, el script utiliza la metodología de ventana deslizante para producir fragmentos superpuestos.

  3. Los vectores y los metadatos de fragmento se almacenan en MongoDB, y se crea un índice de Vector Search (ver Figura 2).

  4. Los archivos PDF ahora están listos para ser consultados. El usuario selecciona un cliente, hace una pregunta y el sistema devuelve una respuesta, muestra la página y el párrafo donde se encontró la información y resalta la sección específica con un marco rojo (véase la figura 2).

Figura 1: Fragmentación de PDF, creación de incrustaciones y almacenamiento, orquestado con Superduper.io

Figura 1. Fragmentación de PDF, creación de incrustaciones y almacenamiento, orquestado con Superduper.io

Cada cliente tiene un PDF de directrices asociado a su cuenta en función del país de residencia. Cuando el usuario selecciona un cliente y plantea una pregunta, el sistema ejecuta una query de búsqueda vectorial únicamente en ese documento en particular, filtrando sin problemas los que no son relevantes. Esto es posible gracias al campo de pre-filtrado incluido en el índice y la consulta de búsqueda (ver fragmentos de código a continuación).

Atlas Vector Search también aprovecha la nueva arquitectura dedicada de Nodos de búsqueda de MongoDB, permitiendo una mejor optimización para el nivel adecuado de recursos según necesidades específicas de carga de trabajo. Los nodos de búsqueda proporcionan una infraestructura dedicada para las cargas de trabajo de Atlas Search y Vector Search, lo que le permite optimizar los recursos informáticos y escalar completamente las necesidades de búsqueda independientemente de la base de datos. Los nodos de búsqueda brindan aislamiento de la carga de trabajo, alta disponibilidad y la capacidad de optimizar mejor el uso de recursos.

Figura 2: Flujo de consulta de PDF, orquestado con Superduper.io

Figura 2. Flujo de consulta de PDF, orquestado con 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 es un marco de Python de código abierto para integrar modelos e IA directamente con y entre las principales bases de datos para obtener soluciones empresariales de IA personalizadas más flexibles y escalables. Capacita a los desarrolladores para compilar, implementar y gestionar IA en su infraestructura y datos existentes, utilizando sus propias herramientas preferidas, eliminando así la migración y duplicación de datos.

Con Superduper.io, los desarrolladores pueden:

  • Llevar la IA a sus bases de datos, lo que elimina los pipelines de datos y minimiza los esfuerzos de ingeniería, el tiempo de producción y los recursos computacionales.

  • Implementa flujos de trabajo de IA con cualquier modelo de IA y API en cualquier tipo de dato.

  • Protege los datos pasando de las APIs al alojamiento y el ajuste de sus propios modelos en su propia infraestructura.

  • Cambiar de modelos de incrustación a otros proveedores de API. También pueden host sus modelos en HuggingFace u otras plataformas.

Superduper.io proporciona una variedad de casos de uso de muestra y cuadernos que los desarrolladores pueden utilizar para comenzar, incluidos la búsqueda vectorial con MongoDB, la generación de incrustaciones, la búsqueda multimodal, RAG, el aprendizaje por transferencia y muchos más.

Compile la solución siguiendo las instrucciones en este repositorio de Github. La solución consta de dos pasos:

  1. El script de inicialización divide los archivos PDF en fragmentos y luego los transforma en incrustaciones vectoriales.

  2. El paso de consulta permite al usuario interrogar a los documentos.

  • Los embeddings pueden utilizar diferentes modelos y opciones de implementación: Puedes implementar un modelo localmente si tus datos deben permanecer en los servidores. De lo contrario, puedes llamar a una API y obtener tus incrustaciones de vectores, como se explica en este tutorial. Se puede utilizar Voyage AI o modelos de código abierto. Al crear el sistema, se deben considerar los requisitos de privacidad y seguridad.

  • Superduper integra modelos de IA y flujos de trabajo: Superduper es el framework que provee una interfaz simple y estándar para interactuar con búsqueda vectorial y LLMs.

  • Luca Napoli, soluciones empresariales, MongoDB

  • Clarence Ondieki, arquitecto de soluciones, MongoDB

  • Pedro Bereilh, Soluciones sectoriales, MongoDB

Volver

Suscriptor de seguros de IA

En esta página