Модуль NLP Core отвечает за анализ текстового технического задания (ТЗ) и формирование структурированного JSON, который используется на следующих этапах пайплайна (BIM Core и MCP Server).
📂 Структура
nlp_core/
├── config/ # Конфигурационные файлы (если нужны)
├── input/ # Входные ТЗ (docx/pdf/txt)
├── nlp_core/
│ ├── __init__.py # пустой или с минимальным кодом
│ ├── run.py # Основная логика анализа ТЗ
│ └── run_cli.py # CLI-обёртка (точка входа для запуска)
├── OUT/ # Результаты анализа (JSON)
├── requirements.txt # Зависимости Python
└── README.md # Документация модуля
⚙️ Установка
- Перейдите в каталог модуля:
cd draftai\nlp_core
- Создайте и активируйте виртуальное окружение:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
- Установите зависимости:
pip install --upgrade pip
pip install -r requirements.txt
- Установите модель spaCy для русского языка:
python -m spacy download ru_core_news_sm
🚀 Запуск
Показ справки
python .\nlp_core\nlp_core\run_cli.py --help
Запуск с указанием входного файла
python .\nlp_core\nlp_core\run_cli.py --tz .\input\TZ_object.docx --out .\OUT\result.json -v
Автоматический поиск входного файла
Если --tz не указан, wrapper попытается найти первый .docx, .pdf или .txt в папке nlp_core/input/:*
python .\nlp_core\nlp_core\run_cli.py --out .\OUT\result.json -v
🔑 Основные моменты
Запускать только run_cli.py
, а не run.py.
Входные файлы должны быть в формате DOCX, PDF или TXT.
Результаты сохраняются в папку OUT/.
Код возврата процесса:
0 — успешное выполнение,
-0 — ошибка (например, файл не найден или неверный формат).