# Packages
# README
Vac
An AI-driven application providing real-time commentary for Esports events.
Overview
Vac is an Artificial Intelligence (AI)-powered application that generates commentary for Esports events like CS:GO, Dota 2, and Call of Duty in real-time. It integrates cutting-edge technologies such as GPT-3.5, Go to deliver dynamic, insightful, and engaging commentary. The backend efficiently processes Esports data for generating commentary.
Features
- Real-Time Commentary Generation: Generates engaging and contextually relevant commentary during live Esports matches.
Technologies Used
- Backend: Go (Golang)
- AI Model: GPT-3.5
- API Communication: RESTful APIs and WebSocket (via Socket.IO)
Commentary Output Example
Figure 1: Example of generated commentary output.
Architecture
The Vac system consists of three major components:
- Server1 (Data Preprocessor): Handles data ingestion, filtering, and structuring.
- Server3 (AI Commentary Generator): Integrates with GPT-3.5 for generating commentary based on processed data.
Flowchart of Data Processing
Figure 2: Data processing flowchart.
System Architecture
Figure 3: System architecture.
Prerequisites
Software
- Go 1.20+
Hardware
- Minimum Requirements:
- Processor: Intel Core i5
- RAM: 8GB
- Storage: 256GB SSD
- Recommended:
- Processor: Intel Core i7 or equivalent
- RAM: 16GB
- Storage: 512GB SSD
Installation and Setup
-
Clone this repository:
git clone https://github.com/karkianmol/vac.git cd vac
-
Install dependencies for the servers:
- Server1:
cd server1 go mod tidy
- Server3:
cd server3 go mod tidy
- Server1:
-
Configure the environment variables:
- Create
.env
files for both servers with necessary configurations:OPENAI_API_KEY=<Your OpenAI Key>
- Create
-
Start the servers:
- Server1:
go run server1.go
- Server3:
go run server3.go
- Server1:
API Endpoints
Server1
- POST /process: Sends processed data to Server3.
Server3
- POST /commentary: Generates and returns AI commentary.
Commentary API Workflow
Figure 4: API workflow for commentary generation.
Data Source
The data used for this project is from the Grid Esports Data Jam 2023. You can access the data files here.
How It Works
- Data Ingestion: Server1 preprocesses Esports data in JSONL format, categorizes events, and sends them to Server3.
- AI Integration: Server3 processes the data using GPT-3.5 and generates context-rich commentary.
Future Enhancements
- Audio Commentary: Generate AI-driven voice commentary with emotional tone.
- Game Support Expansion: Adapt functionality for more Esports titles.
- Enhanced Personalization: Provide user-specific commentary settings.
License
This project is licensed under the MIT License.