PatrickRedStar commited on
Commit
7cf5951
·
1 Parent(s): 29fdac9
Files changed (2) hide show
  1. README.md +39 -47
  2. runtime.txt +1 -0
README.md CHANGED
@@ -1,68 +1,60 @@
1
- # Log Compiler App
2
-
3
- Gradio demo that ingests raw logs/stacktraces, classifies the incident type, paraphrases to human language, retrieves local runbooks, and proposes checks. The pipeline uses multiple Hugging Face transformer models (zero-shot classifier, summarizer, sentence-embedding retriever; optional reranker and NLI verifier).
 
 
 
 
 
 
 
4
 
5
- ## Setup
6
 
7
- 1. Python 3.10+ recommended.
8
- 2. Install deps (downloads models on first run):
9
- ```bash
10
- pip install -r requirements.txt
11
- ```
12
 
13
- ## Run
14
 
15
  ```bash
16
- python app.py
17
  ```
18
 
19
- Gradio UI will open in the browser. Models load once at startup.
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
- ## Запуск на Hugging Face Spaces
31
 
32
- - Выложите содержимое репозитория в новый Space (Gradio).
33
- - `app.py` автоматически отключит `share` в окружении Spaces (`SPACE_ID`/`HF_SPACE`), так что дополнительная настройка не нужна.
34
- - Заводываются зависимости из `requirements.txt` автоматически. При необходимости можно добавить `runtime.txt` с версией Python (например, `python-3.10`).
35
 
36
- ## How to use
 
 
37
 
38
- - Paste logs/stacktrace in the left text box.
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
- ## Samples
 
 
47
 
48
- Try the provided snippets:
49
 
50
- - `samples/sample_python.txt` HTTP timeout stacktrace.
51
- - `samples/sample_k8s.txt` CrashLoop/OOMKilled pod.
52
- - `samples/sample_java.txt` NullPointerException auth failure.
53
 
54
- ## Files
55
 
56
- - `app.py` Gradio UI wiring.
57
- - `pipeline.py` ML pipeline (classification, summarization, retrieval, NLI).
58
- - `preprocess.py` Masking, signature detection, safe truncation.
59
- - `retrieval.py` Embedding search over `kb/` markdown runbooks.
60
- - `kb/` Local runbooks (edit/add your own).
61
- - `samples/` Example logs to paste.
62
 
63
- ## Notes
64
 
65
- - First run downloads models (`facebook/bart-large-mnli`, `sshleifer/distilbart-cnn-12-6`, `sentence-transformers/all-MiniLM-L6-v2`, optional reranker `cross-encoder/ms-marco-MiniLM-L-6-v2`, and NLI `typeform/distilbert-base-uncased-mnli`).
66
- - Handles empty/short input with a clear error.
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