Spaces:
Sleeping
Sleeping
Commit
·
7cf5951
1
Parent(s):
29fdac9
add
Browse files- README.md +39 -47
- runtime.txt +1 -0
README.md
CHANGED
|
@@ -1,68 +1,60 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
|
| 5 |
-
|
| 6 |
|
| 7 |
-
|
| 8 |
-
2. Install deps (downloads models on first run):
|
| 9 |
-
```bash
|
| 10 |
-
pip install -r requirements.txt
|
| 11 |
-
```
|
| 12 |
|
| 13 |
-
##
|
| 14 |
|
| 15 |
```bash
|
| 16 |
-
|
| 17 |
```
|
| 18 |
|
| 19 |
-
|
| 20 |
|
| 21 |
-
Если localhost недоступен (WSL/прокси), приложение по умолчанию включает share-ссылку. Чтобы явно управлять:
|
| 22 |
```bash
|
| 23 |
-
|
| 24 |
-
GRADIO_SHARE=1 python app.py
|
| 25 |
-
# отключить share (если localhost доступен)
|
| 26 |
-
GRADIO_SHARE=0 python app.py
|
| 27 |
```
|
| 28 |
-
Запуск уже включает `server_name=0.0.0.0`.
|
| 29 |
|
| 30 |
-
|
| 31 |
|
| 32 |
-
|
| 33 |
-
- `app.py` автоматически отключит `share` в окружении Spaces (`SPACE_ID`/`HF_SPACE`), так что дополнительная настройка не нужна.
|
| 34 |
-
- Заводываются зависимости из `requirements.txt` автоматически. При необходимости можно добавить `runtime.txt` с версией Python (например, `python-3.10`).
|
| 35 |
|
| 36 |
-
|
|
|
|
|
|
|
| 37 |
|
| 38 |
-
|
| 39 |
-
- Pick a source (auto/python/java/node/k8s).
|
| 40 |
-
- Toggle:
|
| 41 |
-
- `Use retrieval (local KB)` to search `kb/` runbooks.
|
| 42 |
-
- `Verify hypothesis (NLI)` to check entailment against the logs.
|
| 43 |
-
- Adjust verbosity (0-2) for explanation detail.
|
| 44 |
-
- Click **Analyze**. Use **Generate ticket template** to get a pre-filled ticket, and **Export JSON** to download results.
|
| 45 |
|
| 46 |
-
|
|
|
|
|
|
|
| 47 |
|
| 48 |
-
|
| 49 |
|
| 50 |
-
- `samples/sample_python.txt`
|
| 51 |
-
- `samples/sample_k8s.txt`
|
| 52 |
-
- `samples/sample_java.txt`
|
| 53 |
|
| 54 |
-
##
|
| 55 |
|
| 56 |
-
- `app.py`
|
| 57 |
-
- `pipeline.py`
|
| 58 |
-
- `preprocess.py`
|
| 59 |
-
- `retrieval.py`
|
| 60 |
-
- `kb/`
|
| 61 |
-
- `samples/`
|
| 62 |
|
| 63 |
-
##
|
| 64 |
|
| 65 |
-
-
|
| 66 |
-
-
|
| 67 |
-
- Output tabs: Incident Type, Human Explanation, Likely Cause + Checks, Retrieved Runbooks, Verification, Ticket Template.
|
| 68 |
-
- Pin `numpy<2.0` to avoid ABI conflicts with PyTorch/Transformers wheels. If you already installed numpy 2.x, run `pip install 'numpy<2' --upgrade`.
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: Log Compiler App
|
| 3 |
+
emoji: 🧠
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: green
|
| 6 |
+
sdk: gradio
|
| 7 |
+
sdk_version: "4.44.0"
|
| 8 |
+
app_file: app.py
|
| 9 |
+
pinned: false
|
| 10 |
+
---
|
| 11 |
|
| 12 |
+
# Log Compiler App
|
| 13 |
|
| 14 |
+
Gradio демо: вставляете логи/стектрейс, получаете тип инцидента, человеческое объяснение, вероятную причину, проверки и локальные ранбуки. Пайплайн использует трансформеры: zero-shot classifier, summarizer, sentence-embedding retriever (опционально reranker и NLI).
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
|
| 16 |
+
## Установка локально
|
| 17 |
|
| 18 |
```bash
|
| 19 |
+
pip install -r requirements.txt
|
| 20 |
```
|
| 21 |
|
| 22 |
+
## Запуск локально
|
| 23 |
|
|
|
|
| 24 |
```bash
|
| 25 |
+
python app.py
|
|
|
|
|
|
|
|
|
|
| 26 |
```
|
|
|
|
| 27 |
|
| 28 |
+
Если localhost недоступен (WSL/прокси), по умолчанию включён share-линк; управлять можно `GRADIO_SHARE=0/1`. `server_name=0.0.0.0` выставлен.
|
| 29 |
|
| 30 |
+
## Запуск на Hugging Face Spaces
|
|
|
|
|
|
|
| 31 |
|
| 32 |
+
- Создайте Space (Gradio) и залейте содержимое репозитория.
|
| 33 |
+
- `app.py` сам определяет окружение Spaces (`SPACE_ID`/`HF_SPACE`) и не включает share там.
|
| 34 |
+
- Опционально добавьте `runtime.txt` с `python-3.10`.
|
| 35 |
|
| 36 |
+
## Использование
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
|
| 38 |
+
- Вставьте логи/стектрейс, выберите source (auto/python/java/node/k8s).
|
| 39 |
+
- Опции: retrieval (локальный KB `kb/`), NLI-проверка гипотез, slider verbosity.
|
| 40 |
+
- Нажмите **Analyze**, вкладки покажут Incident, Explanation, Cause+Checks, Retrieval, Verification, Ticket template. Есть Export JSON.
|
| 41 |
|
| 42 |
+
## Примеры
|
| 43 |
|
| 44 |
+
- `samples/sample_python.txt` — HTTP timeout.
|
| 45 |
+
- `samples/sample_k8s.txt` — CrashLoop/OOMKilled pod.
|
| 46 |
+
- `samples/sample_java.txt` — NullPointerException auth failure.
|
| 47 |
|
| 48 |
+
## Состав
|
| 49 |
|
| 50 |
+
- `app.py` — Gradio UI.
|
| 51 |
+
- `pipeline.py` — классификация, суммаризация, retrieval, NLI.
|
| 52 |
+
- `preprocess.py` — маскировка/сигнатуры/обрезка.
|
| 53 |
+
- `retrieval.py` — эмбеддинговый поиск по `kb/`.
|
| 54 |
+
- `kb/` — локальные ранбуки.
|
| 55 |
+
- `samples/` — примеры логов.
|
| 56 |
|
| 57 |
+
## Примечания
|
| 58 |
|
| 59 |
+
- Модели: `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`.
|
| 60 |
+
- Держите `numpy<2.0` чтобы избежать ABI-конфликтов с PyTorch/Transformers (`pip install 'numpy<2' --upgrade` при необходимости).
|
|
|
|
|
|
runtime.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
python-3.10
|