Об этом проекте

CrawlViz — это исследовательский веб-краулер, ориентированный на заданную тему. В отличие от традиционных краулеров, исследующих все связанные страницы в ширину, CrawlViz в реальном времени решает по каждой ссылке, какие страницы стоит посещать для соответствия заданной теме. Он использует двухэтапный каскад оценки: дешёвая локальная модель эмбеддингов предложений оценивает каждую ссылку-кандидата, и только бюджетированная выборка ссылок средней уверенности отправляется в LLM для оценки релевантности. Это позволяет снизить затраты и задержку. Система построена вокруг внутрипроцессной шины событий asyncio с 57 различными типизированными событиями, разделяющей извлечение, дедупликацию, оценку, приоритизацию, преобразование, экспорт, повторные попытки и логирование на независимые конвейеры. Шлюз готовности на основе Future на каждом узле решает состояние гонки, позволяя конвейеру оценки подхватывать узел сразу после его создания, не оценивая неполный контент. Фронтенд — это приложение на React, которое отображает граф обхода в реальном времени через WebSocket и поддерживает прокрутку назад по истории событий с помощью event sourcing с поддержкой контрольных точек. Конфигурация обхода декларативна: начальные узлы, домены, стратегия оценки, поля извлечения и условия остановки определяются в JSON-шаблоне, валидируемом по схеме Pydantic. CrawlViz не является распределённым; это однопроцессное приложение на asyncio с состоянием в памяти. Хранение — локальный SQLite. Набор тестов бэкенда включает 123 теста, охватывающих конвейеры, схему шаблона и связывание событий, но не содержит сквозных тестов или тестов интеграции с живой LLM. Проект включает тематическое исследование на wikimd.org, начавшееся с «Type 2 Diabetes», которое исследовало 539 узлов из 50 828 выявленных ссылок (~1%) и построило граф, кластеризующийся в подтемы осложнений, лечения и эпидемиологии. Конфигурация зафиксирована в templates/wikiMD.json. Документация обширна и включает глубокие погружения в архитектуру, пошаговое описание выполнения, конвейер событий, семантическую оценку, устойчивость, алгоритмы, исследовательский протокол, руководство разработчика и проектные решения. Полный академический отчёт о проекте доступен в формате PDF.