INTEVI RAG Licitaciones
Sistema de inteligencia artificial para analizar licitaciones médicas, cruzar requerimientos técnicos contra catálogo interno y generar dictámenes exportables.
Contexto
INTEVI participa en procesos de licitación para equipamiento médico donde cada anexo técnico puede contener decenas o cientos de requisitos específicos. El análisis tradicional exige leer fichas, catálogos y bases de producto manualmente, con muy poco margen de tiempo y alta responsabilidad técnica.
Este proyecto convirtió ese flujo en una herramienta interna de inteligencia artificial capaz de leer documentación técnica, estructurar especificaciones y comparar automáticamente los requerimientos gubernamentales contra el catálogo de productos de la empresa.
El problema operativo
El equipo necesitaba responder más rápido sin sacrificar precisión técnica. Cada licitación implicaba revisar requisitos de dependencias como IMSS, ISSSTE o SEDENA, identificar productos candidatos, validar cumplimiento y preparar documentos formales para sustentar la propuesta.
Los principales retos eran:
- Revisión manual de anexos técnicos extensos.
- Búsqueda lenta dentro de catálogos médicos y fichas PDF.
- Información técnica dispersa entre modelos, marcas, SKU y familias de producto.
- Riesgo de omitir requisitos mínimos.
- Necesidad de justificar cada decisión con lenguaje técnico formal.
- Generación repetitiva de reportes en Word y Excel.
Qué Construimos
Desarrollamos una aplicación interna con Streamlit y Python que funciona como un motor RAG operativo sobre el catálogo técnico de INTEVI. El sistema recupera especificaciones oficiales desde la base de datos y las usa como contexto controlado para que los modelos de lenguaje comparen, califiquen y redacten dictámenes sin depender de memoria general.
La solución se compone de cinco módulos principales:
-
Evaluador de Licitaciones
Recibe requisitos técnicos, filtra productos por categoría y genera un ranking de compatibilidad. -
Gestor de Especificaciones
Permite consultar productos, cargar fichas técnicas, extraer datos con IA y guardar JSON técnico estructurado. -
Lector de Catálogos Matriz
Aísla información de un modelo específico dentro de catálogos con múltiples equipos. -
Procesador Masivo Bulker
Ejecuta extracción por lotes sobre productos pendientes y calcula el costo de consumo de IA. -
Configuración de Agentes
Permite administrar modelos, prompts maestros y plantillas JSON por categoría de equipo.
Inteligencia Artificial Aplicada
El sistema no usa un solo prompt genérico. Está dividido en agentes especializados, cada uno con una responsabilidad clara dentro del flujo.
| Agente | Función |
|---|---|
| Extractor | Convierte fichas técnicas PDF en JSON estructurado. |
| Catálogos | Encuentra un modelo objetivo dentro de catálogos con múltiples productos. |
| Bulker | Procesa lotes de PDFs para poblar la base de datos. |
| Matcher | Calcula compatibilidad entre requisitos de licitación y productos candidatos. |
| Evaluador | Redacta dictámenes técnicos punto por punto. |
La arquitectura permite usar distintos proveedores de IA según la tarea, incluyendo OpenAI y Anthropic Claude, con selección configurable por agente.
Flujo Del Sistema
- El usuario ingresa o carga los requisitos técnicos de la licitación.
- El sistema recupera productos candidatos desde el catálogo interno.
- El agente Matcher compara requisitos contra especificaciones JSON.
- Se genera un leaderboard con porcentaje de compatibilidad, resumen técnico y alertas.
- El usuario selecciona el equipo final.
- El agente Evaluador genera una matriz de cumplimiento punto por punto.
- El sistema exporta el resultado en Word y Excel con formato institucional.
Vistas Del Producto





Arquitectura Técnica
| Capa | Tecnología |
|---|---|
| Interfaz | Streamlit, streamlit-option-menu, CSS personalizado |
| Lenguaje Core | Python |
| Modelos IA | OpenAI API, Anthropic Claude API |
| Orquestación LLM | Router propio multi-proveedor |
| Datos de Producto | API REST privada, MySQL, campos JSON |
| Extracción PDF | PyMuPDF, pymupdf4llm, pdfplumber |
| OCR | Tesseract OCR, Pillow |
| Datos tabulares | Pandas, OpenPyXL |
| Documentos | python-docx, OpenPyXL |
| Configuración | dotenv, variables de entorno |
| Validación | JSON estructurado, Pydantic |
| Infraestructura | Docker, Python 3.11 slim |
Resultado
El sistema redujo el análisis técnico de licitaciones de un proceso manual de días a un flujo asistido de minutos. El equipo puede identificar candidatos viables, detectar riesgos técnicos y generar documentos formales con mayor velocidad, consistencia y trazabilidad.
Además, la herramienta dejó una base técnica reutilizable: cada ficha procesada alimenta el catálogo estructurado de INTEVI, mejorando futuras comparaciones y reduciendo trabajo repetitivo en nuevas licitaciones.
Impacto
- Análisis acelerado de requerimientos médicos complejos.
- Menor dependencia de búsqueda manual en PDFs.
- Dictámenes técnicos consistentes y exportables.
- Mayor control sobre prompts, modelos y costos por agente.
- Base de conocimiento técnica estructurada por producto y categoría.
- Flujo preparado para escalar a nuevas familias de equipo médico.