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úsquedavectorialde MongoDB Atlas
Socios: Superduper.io, FastAPI
Resumen de la solución
Las aseguradoras dependen en gran medida del procesamiento de datos. Para tomar decisiones de inversión o gestionar siniestros, utilizan grandes cantidades de datos, en su mayoría no estructurados. Los suscriptores y liquidadores de siniestros deben revisar minuciosamente numerosas páginas de directrices, contratos e informes, generalmente en formato PDF. Encontrar y revisar manualmente cada dato requiere mucho tiempo y puede fácilmente provocar errores costosos, como estimaciones de riesgo incorrectas.
Las aplicaciones de generación aumentada por recuperación (RAG) son revolucionarias para las aseguradoras, ya que les permiten aprovechar el potencial de los datos no estructurados, a la vez que promueven la accesibilidad y la flexibilidad. Son especialmente útiles para archivos 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 examinará los datos de la compañía, 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.
Arquitectura de referencia
Combinar MongoDB con Superduper te permite compilar un sistema de recuperación de información con facilidad. El proceso implica las siguientes etapas:
El usuario añade los PDF que necesitan ser de búsqueda.
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.
Los vectores y los metadatos de los fragmentos se almacenan en MongoDB y se crea un índice de búsqueda de vectores (consulte la 2 Figura).
Los PDF ya están listos para su consulta. El usuario selecciona un cliente, formula una pregunta y el sistema devuelve una respuesta, mostrando la página y el párrafo donde se encontró la información, y resaltando la sección específica con un marco rojo (ver Figura 2).
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, lo que permite una mejor optimización para el nivel adecuado de recursos según las necesidades específicas de la 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 permite optimizar los recursos computacionales y escalar completamente las necesidades de búsqueda independientemente de la base de datos. Los Nodos de Búsqueda proporcionan aislamiento de la carga de trabajo, mayor disponibilidad y la capacidad de optimizar el uso de recursos.
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
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.
Proteja los datos cambiando de API a alojamiento y ajustando 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.
Compilar la solución
Compile la solución siguiendo las instrucciones en este repositorio de Github. La solución consta de dos pasos:
El script de inicialización divide los archivos PDF en fragmentos y luego los transforma en incrustaciones vectoriales.
El paso de consulta permite al usuario interrogar a los documentos.
Lecciones clave
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.
Autores
Luca Napoli, soluciones empresariales, MongoDB
Clarence Ondieki, arquitecto de soluciones, MongoDB
Pedro Bereilh, Soluciones sectoriales, MongoDB