
Construyendo un Sistema Simple de Recuperación de Información Multimodal Basado en VLM con NVIDIA NIM
En el mundo actual basado en datos, la capacidad de recuperar información precisa incluso de cantidades modestas de datos es vital para los desarrolladores que buscan soluciones optimizadas y efectivas para implementaciones rápidas, creación de prototipos o experimentación. Uno de los desafíos clave en la recuperación de información es administrar las diversas modalidades en conjuntos de datos no estructurados, incluidos texto, archivos PDF, imágenes, tablas, audio, video, etc. Los modelos multimodales de IA abordan este desafío procesando simultáneamente múltiples modalidades de datos, generando una salida cohesiva y completa en diferentes formas. NIM NVIDIA los microservicios simplifican el despliegue seguro y confiable de la IA modelos de fundación para el lenguaje, visión por computadora, habla, biología y más. Los microservicios NIM se pueden implementar en la infraestructura acelerada por NVIDIA en cualquier lugar y exponer las API estándar de la industria para una rápida integración con aplicaciones y marcos de desarrollo de IA populares, incluidos LangChain y LlamaIndex. Esta publicación te ayuda a comenzar a construir un modelo de lenguaje de visión (VLM) basado, multimodal, sistema de recuperación de información capaz de responder a consultas complejas que involucran texto, imágenes y tablas. Lo guiamos a través de la implementación de una aplicación utilizando LangGraph, el estado del arte llama-3.2-90b-visión-instruct VLM, el optimizado mistral-pequeño-24B-instruct modelo de lenguaje grande (LLM) y NVIDIA NIM para implementación. Este método de construcción de sistemas simples de recuperación de información ofrece varias ventajas sobre los tradicionales. El último microservicio VLM NIM permite una mejor comprensión contextual mediante el procesamiento de documentos visuales largos y complejos sin sacrificar la coherencia. La integración de Llamadas a herramientas de LangChaina permite al sistema crear herramientas, seleccionar y utilizar dinámicamente herramientas externas y mejorar la precisión de la extracción e interpretación de datos de diversas fuentes. Este sistema es bueno para aplicaciones empresariales porque genera salidas estructuradas, asegurando consistencia y confiabilidad en las respuestas. Para obtener más información sobre los pasos de implementación de este sistema, consulte el /NVIDIA/GenerativeAIExamples Repo gitHub. Una simple tubería de recuperación multimodal HTML El sistema consta de las siguientes tuberías: Ambas tuberías integran NVIDIA NIM y LangGraph para procesar y comprender texto, imágenes, visualizaciones complejas y tablas de manera efectiva. Tubería de ingestión y preprocesamiento de datos Esta etapa analiza documentos para procesar texto, imágenes y tablas por separado. Las tablas se convierten primero en imágenes, y las imágenes son procesadas por el punto final de la API de microservicio NIM alojado en NVIDIA para que el VLM llama-3.2-90b-vision-instruct genere texto descriptivo. A continuación, en el paso de reconstrucción del documento, el texto descriptivo se fusiona con el texto original del documento, luego se resume en un LLM con modelado de contexto largo capacidad. En esta implementación, llama-3.2-90b-vision-instruct también se usa como LLM, aunque también se pueden implementar otros LLM como mistral-small-24b-instruct. Finalmente, el texto completo, los resúmenes, las imágenes y sus descripciones se almacenan en una base de datos NoSQL, junto con identificadores de documentos únicos. LLM con modelado de contexto largo puede procesar documentos completos sin fragmentación, mejorando la comprensión del documento en una sola pasada y capturando relaciones y matices en tramos más largos de texto, lo que lleva a una recuperación de información más precisa. Por el contrario, los modelos tradicionales pueden manejar entradas de hasta unos pocos miles de tokens, lo que requiere que los documentos largos se dividan en trozos más pequeños para que quepan dentro de la ventana de contexto de las modelaciones. Este proceso de procesamiento puede alterar la coherencia y el contexto, lo que dificulta la recuperación precisa y la clasificación de la información relevante. Sin embargo, el modelado de contexto largo presenta desafíos relacionados con la escalabilidad y el costo, que deben tenerse en cuenta al negociar con mayor precisión. tubería QA Todos los resúmenes de documentos y sus identificadores se compilan en un mensaje grande. Cuando se envía una consulta, a LLM con modelado de contexto largo (mistral-small-24b-instruct en este caso) procesa la pregunta, evalúa la relevancia de cada resumen para la consulta y devuelve los identificadores de los documentos más relevantes. A continuación, los documentos más relevantes se introducen en un LLM con un contexto largo (mistral-small-24b-instruct). El modelo genera una respuesta a la consulta basada en el contenido textual. Si el modelo identifica que una imagen puede contener información pertinente basada en su texto descriptivo, se activa un paso adicional: la imagen original y la pregunta de los usuarios se envían al VLM (llama-3.2-90b-vision-instruct), que puede proporcionar una respuesta basada en el contenido visual real. Finalmente, el sistema combina ideas textuales y visuales para ofrecer una respuesta integral. Las salidas estructuradas aseguran que los datos devueltos por el modelo se ajusten a un formato predefinido, lo que facilita la extracción de información específica y la realización de operaciones posteriores. Por el contrario, las salidas no estructuradas o variables pueden introducir ambigüedades y dificultades para analizar las respuestas de los modelos, lo que dificulta la automatización y la integración con otros sistemas. La generación de datos estructurados a partir de modelos generalmente requiere instrucciones cuidadosamente diseñadas para guiar al modelo a responder en un formato particular, como JSON. Sin embargo, garantizar una adherencia constante a esta estructura puede ser un desafío debido a la tendencia natural de models’ a generar texto de forma libre. NVIDIA NIM ahora es compatible de forma nativa capacidades para generar salidas estructuradas. Esto significa que puede confiar en las funcionalidades integradas para asegurarse de que las respuestas de las modelaciones estén formateadas de manera consistente, lo que reduce la necesidad de una ingeniería rápida compleja. Integración de NVIDIA NIM con LangGraph NVIDIA NIM ofrece una compatibilidad perfecta con marcos populares y los últimos modelos de IA para sus aplicaciones. La implementación de la tubería integra NVIDIA NIM con LangGraph, un marco para construir aplicaciones agentic para determinar el flujo de control, que ha sido ampliamente adoptado por la comunidad de desarrolladores. Para orquestar el flujo de trabajo de esta tubería, el gráfico consta principalmente de dos nodos: Nodo asistente El nodo asistente es un agente primario que opera de acuerdo con el flujo de trabajo descrito en la Figura 3. El código