|
|
|
import gradio as gr
|
|
from modules import analysis
|
|
|
|
|
|
with gr.Blocks(title="Log Intelligence Assistant") as demo:
|
|
|
|
|
|
gr.Markdown("## 🔍 Interactive Network Log Assistant")
|
|
|
|
|
|
with gr.Tab("Inputs 🔽"):
|
|
|
|
with gr.Row():
|
|
uploaded_files = gr.File(
|
|
file_types=[".pdf", ".log", ".txt"],
|
|
file_count="multiple",
|
|
label="📁 Upload Log Files"
|
|
)
|
|
|
|
text_input = gr.Textbox(
|
|
label="Paste Logs Here",
|
|
lines=15,
|
|
placeholder="2023-10-05 14:22:11 [Firewall] BLOCKED: 192.168.1.5..."
|
|
)
|
|
|
|
|
|
with gr.Row():
|
|
query_input = gr.Textbox(
|
|
label="Ask About Logs",
|
|
placeholder="Find failed login attempts from 192.168.1.5"
|
|
)
|
|
|
|
quick_query = gr.Dropdown(
|
|
choices=["", "Detect anomalies", "Show blocked IPs", "Generate summary"],
|
|
label="Quick Actions"
|
|
)
|
|
|
|
|
|
with gr.Accordion("⚙️ Configuration Controls", open=False):
|
|
temperature = gr.Slider(
|
|
minimum=0.1, maximum=1.0, value=0.7,
|
|
label="Creativity (Temperature)"
|
|
)
|
|
|
|
start_time = gr.DateTime(label="Start Time")
|
|
end_time = gr.DateTime(label="End Time")
|
|
|
|
|
|
with gr.Tab("Outputs 🔼"):
|
|
|
|
analys
|
|
|