Sobre el proyecto
CrawlViz es un rastreador web de grado de investigación centrado en temas. A diferencia de los rastreadores tradicionales en anchura que exploran todas las páginas enlazadas, CrawlViz decide en tiempo real, enlace por enlace, qué páginas merece la pena visitar para satisfacer un tema declarado. Utiliza una cascada de puntuación en dos etapas: un modelo local barato de incrustación de frases puntúa cada enlace candidato, y solo una muestra con presupuesto limitado de enlaces de confianza media se envía a un LLM para juzgar su relevancia. Esto mantiene bajos el coste y la latencia.
El sistema se construye en torno a un bus de eventos asyncio en proceso con 57 eventos tipados distintos, que desacopla la obtención, la extracción, la deduplicación, la puntuación, la prioridad, la transformación, la exportación, el reintento y el registro en canalizaciones independientes. Una puerta de preparación basada en Future en cada nodo resuelve una condición de carrera, permitiendo que la canalización de puntuación recoja un nodo tan pronto como se crea sin puntuar contenido incompleto.
El frontend es una aplicación React que representa el grafo de rastreo en vivo por WebSocket y admite desplazarse hacia atrás por el historial de eventos mediante event sourcing asistido por puntos de control. La configuración del rastreo es declarativa: las semillas, los dominios, la estrategia de puntuación, los campos de extracción y las condiciones de parada se definen en un plano JSON validado contra un esquema Pydantic.
CrawlViz no es distribuido; es una aplicación asyncio de un solo proceso con estado en memoria. La persistencia es SQLite local. La suite de pruebas del backend incluye 123 pruebas que cubren canalizaciones, esquema de plano y cableado de eventos, pero no pruebas de extremo a extremo ni de integración con LLM en vivo.
El proyecto incluye un estudio de caso sobre wikimd.org, sembrado desde "Type 2 Diabetes", que exploró 539 nodos de 50.828 enlaces identificados (~1%) y produjo un grafo que se agrupa en subtemas de complicaciones, tratamientos y epidemiología. La configuración está registrada como templates/wikiMD.json.
La documentación es extensa, con análisis en profundidad de la arquitectura, el recorrido de ejecución, la canalización de eventos, la puntuación semántica, la resiliencia, los algoritmos, el protocolo de investigación, la guía para desarrolladores y las decisiones de diseño. Hay disponible un informe académico completo del proyecto en PDF.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.