Files
bearingsinfo/docs/KNOWLEDGE_BASE_BUILDER.md

7.9 KiB
Raw Permalink Blame History

Knowledge Base Builder - Документация

Описание

Knowledge Base Builder (Построитель Базы Знаний) - это инструмент для автоматического построения полной, структурированной и машиночитаемой базы знаний на основе всех файлов в репозитории BearingsInfo.

Основные возможности

✅ Режим максимального контекста - извлечение 100% информации без сокращений
✅ Полная инвентаризация - анализ всех файлов репозитория
✅ Автоматическая декомпозиция - извлечение терминов, определений, структур данных
✅ Нормализация - приведение к единому формату
✅ Трассировка источников - каждый факт привязан к файлу-источнику
✅ Машиночитаемый формат - структурированный Markdown для LLM, RAG, Wiki

Структура выходного файла

База знаний содержит следующие разделы:

  1. Инвентаризация файлов - полная таблица всех обработанных файлов
  2. Термины и глоссарий - все термины и определения с источниками
  3. Процессы и алгоритмы - описание процессов и последовательностей
  4. Правила и ограничения - правила, требования, ограничения
  5. Структуры данных и форматы - классы, функции, форматы данных
  6. Роли и ответственности - описание ролей в проекте
  7. Инструкции и сценарии - руководства по использованию
  8. Ошибки и исключения - обработка крайних случаев
  9. Связи и зависимости - взаимосвязи между компонентами
  10. Источники и трассировка - полная привязка к исходным файлам

Использование

Базовое использование

# Запуск из корня репозитория
python scripts/build_knowledge_base.py

# С указанием пути к репозиторию
python scripts/build_knowledge_base.py --repo /path/to/repo

# С указанием имени выходного файла
python scripts/build_knowledge_base.py --output MY_KNOWLEDGE_BASE.md

Параметры

  • --repo - путь к репозиторию (по умолчанию: текущая директория)
  • --output - имя выходного файла (по умолчанию: KNOWLEDGE_BASE.md)

Поддерживаемые типы файлов

Скрипт обрабатывает следующие типы файлов:

  • Документация: Markdown (.md), Text (.txt), PDF, Word (.docx, .doc)
  • Код: Python (.py), JavaScript (.js), TypeScript (.ts), SQL (.sql)
  • Данные: JSON, YAML, CSV, Excel (.xlsx, .xls)
  • Конфигурация: TOML, INI, Config files
  • Веб: HTML, CSS, SCSS
  • Изображения: PNG, JPEG, GIF, SVG (с метаданными)
  • Архивы: ZIP, TAR, GZ (с метаданными)

Исключения

Следующие директории и файлы автоматически исключаются из обработки:

  • .git, __pycache__, .pytest_cache, node_modules
  • .venv, venv, dist, build, .mypy_cache
  • _trash_review, ZIP
  • Бинарные файлы размером более 100 MB

Алгоритм работы

Шаг 1: Инвентаризация

Сканирование всех файлов в репозитории с определением:

  • Имени и пути файла
  • Типа файла
  • Назначения
  • Размера
  • Ключевых тем

Шаг 2: Декомпозиция

Извлечение из каждого файла:

  • Терминов и определений (из Markdown)
  • Структур данных (классы, функции из кода)
  • Заголовков и ключевых слов
  • Содержимого (превью)

Шаг 3: Нормализация

  • Группировка файлов по типам
  • Стандартизация формата представления
  • Выявление конфликтов и противоречий

Шаг 4: Генерация базы знаний

Создание структурированного Markdown файла со всеми разделами и трассировкой к источникам.

Статистика по репозиторию BearingsInfo

После запуска скрипта на репозитории BearingsInfo:

  • Всего обработано файлов: 3,279
  • Терминов в глоссарии: 11,702
  • Структур данных: 384
  • Размер базы знаний: ~6 MB

Применение

База знаний может использоваться для:

  1. Обучения LLM - полный датасет по подшипникам
  2. RAG / Vector DB - структурированная информация с источниками
  3. Корпоративной Wiki - готовая справочная система
  4. Подготовки ТЗ - полное описание предметной области
  5. Автоматизации - машиночитаемый формат для обработки
  6. Агентных систем - база знаний для AI-агентов

Расширения

Возможные дополнительные форматы вывода:

  • JSON / YAML - для программной обработки
  • CSV - для табличного представления
  • Vector DB format - для семантического поиска
  • Wiki format - для корпоративных вики-систем

Пример выходных данных

## Шаг 1. Инвентаризация файлов

| № | Имя файла | Тип | Размер (байт) | Назначение | Ключевые темы |
|---|-----------|-----|---------------|------------|---------------|
| 1 | `README.md` | Markdown | 1905 | Основная документация | обработки, Pipeline, Оглавление |
| 2 | `baza.md` | Markdown | 74042 | Документация | words, Содержание, bearings |
...

## 2. Термины и глоссарий

| Термин | Определения | Источники |
|--------|-------------|-----------|
| Подшипник качения | Опора или направляющая, основанная на... | 15 источник(ов) |
| ГОСТ | Государственный стандарт... | 47 источник(ов) |
...

Техническая информация

Требования

  • Python 3.11+
  • Стандартные библиотеки Python (нет внешних зависимостей)

Производительность

  • Обработка ~3,000 файлов: ~3-5 минут
  • Потребление памяти: ~100-200 MB
  • Размер выходного файла: ~5-10 MB (зависит от количества контента)

Лицензия

MIT License - см. файл LICENSE в корне репозитория

Автор

Создано для проекта BearingsInfo