--- title: Анализатор логов emoji: 🧠 colorFrom: blue colorTo: green sdk: gradio sdk_version: "4.44.1" app_file: app.py pinned: false --- # Анализатор логов Gradio‑демо: вставляете логи/стектрейс, получаете тип инцидента, человеческое объяснение, вероятную причину, набор проверок и локальные ранбуки. Пайплайн использует трансформеры (zero-shot классификатор, summarizer, sentence-embedding retriever, при желании reranker и NLI). ## Установка локально ```bash pip install -r requirements.txt ``` ## Запуск локально ```bash python app.py ``` По умолчанию приложение слушает `127.0.0.1:7860` без публичного шаринга. Чтобы открыть интерфейс наружу, задайте: ```bash GRADIO_HOST=0.0.0.0 GRADIO_SHARE=1 python app.py ``` или выставьте нужный `GRADIO_SERVER_NAME` / `PORT`. ## Запуск на Hugging Face Spaces - Создайте Space (Gradio) и залейте содержимое репозитория. - `app.py` сам определяет окружение Spaces (`SPACE_ID`/`HF_SPACE`) и не включает share там. - Опционально добавьте `runtime.txt` с `python-3.10`. ## Использование - Вставьте логи/стектрейс, выберите источник (auto/python/java/node/k8s). - Опции: поиск по локальной базе (`kb/`), NLI-проверка гипотез, слайдер детализации объяснения. - Нажмите **Анализировать**: вкладки покажут тип инцидента, пояснение, причину/проверки, найденные ранбуки, проверку гипотез и шаблон тикета. Можно выгрузить JSON. ## Примеры - `samples/sample_python.txt` — HTTP timeout. - `samples/sample_k8s.txt` — под с CrashLoop/OOMKilled. - `samples/sample_java.txt` — NullPointerException из-за auth failure. ## Состав - `app.py` — Gradio UI. - `pipeline.py` — классификация, суммаризация, retrieval, NLI. - `preprocess.py` — маскировка/сигнатуры/обрезка. - `retrieval.py` — эмбеддинговый поиск по `kb/`. - `kb/` — локальные ранбуки. - `samples/` — примеры логов. ## Примечания - Модели: `facebook/bart-large-mnli`, `sshleifer/distilbart-cnn-12-6`, `sentence-transformers/all-MiniLM-L6-v2`, опционально `cross-encoder/ms-marco-MiniLM-L-6-v2`, NLI `typeform/distilbert-base-uncased-mnli`. - Держите `numpy<2.0` чтобы избежать ABI-конфликтов с PyTorch/Transformers (`pip install 'numpy<2' --upgrade` при необходимости).