import gradio as gr import matplotlib.pyplot as plt from utils import detect_anomalies def analyze(csv_file): df, threshold = detect_anomalies(csv_file) plt.figure(figsize=(10,4)) plt.plot(df.iloc[:,0], label="Sensor") anomalies = df[df["anomaly"]] plt.scatter( anomalies.index, anomalies.iloc[:,0], color="red", label="Anomaly" ) plt.axhline( threshold, color="orange", linestyle="--", label="Threshold" ) plt.legend() output = "plot.png" plt.savefig(output) return output, df demo = gr.Interface( fn=analyze, inputs=gr.File(label="Wgraj plik CSV"), outputs=[ gr.Image(label="Wyniki analizy"), gr.Dataframe(label="Wyniki") ], title="Wykrywanie anomalii (Edge AI)", description=""" Wykryj nietypowe zachowanie maszyn na podstawie danych z czujników. 1. Pobierz przykładowy plik: [sample.csv](sample.csv) 2. Kliknij „Wgraj plik CSV”. 3. Wybierz plik i zobacz wynik analizy AI. """ ) demo.launch()