"A solution that will eat up your logs like Godzilla, and will then talk to you about it"
Submission for the HackaTUM 2023 challenge "Rohde & Schwarz: Summarizing and Chatting with log files" | Devpost
- Upload: Upload your log file.
- Summarize: Receive a brief summary of the log file to quickly grasp its key points.
- Interact: Engage in a conversation with the chatbot to explore specific log entries and refine the summary based on your interests.
- Dynamic Updates: The system continuously adapts the summary based on your queries and conversation history, ensuring a personalized and efficient user experience.
The AI-powered system in the backend parses the logs, filters accordingly, and keeps track of a database generated from the initial file. The system predicts queries in parallel to the chat to retrieve the most relevant entries from the database (which correspond to log rows) to then present them to the user and incorporate to the current summary iteratively.
You need Node.js
(to use npm
) and Python
with the required dependencies. On MacOS:
# For the React package manager
brew install node
# Python dependencies
conda create -n backend Python=3.9
conda activate backend
conda install --file backend-react-client/requirements.txt
Install Docker and docker-compose.
Running the app:
# Run the backend before the frontend.
cd backend-flask-server
flask run
cd ../frontend-react-client
DANGEROUSLY_DISABLE_HOST_CHECK=true npm run start
The backend listens to port
4000
(because MacOS hijacks the default). If you want to change this, you need to modify the following files:
backend-flask-server/.flaskenv
Dockerfile.backend
frontend-react-client/deployment/nginx.default.conf
frontend-react-client/package.json
The frontend listens to default port
3000
.