This guide walks you through installing dependencies, configuring defaults, and running the application.
To install dependencies, do the following:
Download from https://ffmpeg.org/download.html, and add the ffmpeg/bin folder to your system PATH.
Download the archive from DL Streamer assets on GitHub Extract to a new folder, for example C:\\dlstreamer_dlls.
For details, refer to Install Guide.
Run your shell with admin privileges before starting the application
git clone --no-checkout https://github.com/open-edge-platform/edge-ai-suites.git
cd edge-ai-suites
git sparse-checkout init --cone
git sparse-checkout set education-ai-suite
git checkout
cd education-ai-suiteIt’s recommended to create a dedicated Python virtual environment for the base dependencies.
python -m venv smartclassroom
smartclassroom\Scripts\activate
# Use Python 3.12.x before running pip.
cd smart-classroom
python.exe -m pip install --upgrade pip
pip install --upgrade -r requirements.txtBy default, the project uses Whisper for transcription and OpenVINO-based Qwen models for summarization.You can modify these settings in the configuration file (smart-classroom/config.yaml):
asr:
provider: openai # Supported: openvino, openai, funasr
name: whisper-small # Options: whisper-tiny, whisper-small, paraformer-zh etc.
device: CPU # Whisper currently supports only CPU
temperature: 0.0
summarizer:
provider: openvino
name: Qwen/Qwen2-7B-Instruct # Examples: Qwen/Qwen1.5-7B-Chat, Qwen/Qwen2-7B-Instruct, Qwen/Qwen2.5-7B-Instruct
device: GPU # Options: GPU or CPU
weight_format: int8 # Supported: fp16, fp32, int4, int8
max_new_tokens: 1024 # Maximum tokens to generate in summariesFor Chinese audio transcription, switch to funASR with Paraformer in your config (smart-classroom/config.yaml):
asr:
provider: funasr
name: paraformer-zhImportant: After updating the configuration, reload the application for changes to take effect.
Activate the environment before running the application:
smartclassroom\Scripts\activate Run the backend:
python main.pyYou should see backend logs similar to this:
pipeline initialized
[INFO] __main__: App started, Starting Server...
INFO: Started server process [21616]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
This means your pipeline server has started successfully and is ready to accept requests.
Bring Up the Frontend:
Note: Open a second (new) Command Prompt/ terminal window for the frontend. The backend terminal stays busy serving requests.
cd C:\path\to\edge-ai-suites\education-ai-suite\smart-classroom\ui
npm install
npm run dev -- --host 0.0.0.0 --port 5173After starting the frontend you can open the Smart Classroom UI in a browser:
Local machine:
From another device on the same network (replace <HOST_IP> with your computer’s IP):
- http://<HOST_IP>:5173
Find your IP (Windows PowerShell):
ipconfigUse the IPv4 Address from your active network adapter.
If you changed the port, adjust the URL accordingly.
Speaker diarization is supported using Pyannote Audio models. To enable diarization, you must request access to the Pyannote pretrained models and provide a Hugging Face access token.
Pyannote diarization models require gated access.
Request access here:
Pyannote Speaker Diarization v3.1
https://huggingface.co/pyannote/speaker-diarization-3.1
Pyannote segmentation v3.0
https://huggingface.co/pyannote/segmentation-3.0
Click "Request Access" on the model page and wait for approval.
After approval:
Go to https://huggingface.co/settings/tokens
Create a Read access token
Copy the generated token
Open your model configuration file config/models.yaml Add your Hugging Face token:
models:
asr:
diarization: true
hf_token: "hf_your_access_token_here"-
Frontend not opening: Ensure you ran
npm run devin a second terminal after startingpython main.py. -
Backend not ready: Wait until Uvicorn shows "Application startup complete" and is listening on port 8000.
-
URL fails from another device: Confirm you used
--host 0.0.0.0and replaced<HOST_IP>correctly. -
Nothing at http://localhost:5173: Check that the frontend terminal shows the Vite server running and no port conflict.
-
Firewall blocks access: Allow inbound traffic on ports 5173 (frontend) and 8000 (backend) on Windows.
-
Auto reload not happening: Refresh manually if the backend was restarted after initial UI load.
-
Error:
Port for tensor name cache_position was not found.This means the models were not configured correctly. To fix this:-
Delete the models directory:
edge-ai-suites/education-ai-suite/smart-classroom/models -
Rerun only Step 1’s option c (OpenVINO) or d (IPEX), whichever applies.
-
-
Tokenizer load issue:
If you see this error:
Either openvino_tokenizer.xml was not provided or it was not loaded correctly. Tokenizer::encode is not available
Delete the models folder from
edge-ai-suites/education-ai-suite/smart-classroom/modelsand try again. -
If you see below error while running dls setup script,
.\setup_dls_env.ps1 CategoryInfo : SecurityError: (:) [], PSSecurityException FullyQualifiedErrorId : UnauthorizedAccessRun the command:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
- Manual Video File Path Input: Users are required to manually specify the path to video files from their local system in the base directory input. It is recommended to keep all video files in the same directory for seamless operation.
- Live Video Monitoring Timeout: Live video monitoring sessions will automatically stop after 45 minutes if the user does not reload the page to start a new session.
- Stream End Notification: Once the video streaming ends, the user will see a "Stream not found" message on the screen, indicating that the stream has concluded.
- Do Not Reload During Active Streaming: Users should not reload the page while the stream is active. Reloading the page will terminate the session, and the user will lose the current stream. Wait until the "Stream not found" notification appears on the screen before reloading.
- Video Ready Notification: If the URL is configured in the settings, the notification will display "Video Ready" unless the screen is reloaded. Reloading the screen will reset the session and the notification.
To uninstall the application, follow these steps:
- Delete the Python virtual environment folder:
Navigate to the directory and remove
For base environment : education-ai-suite/smartclassroom.
For IPEX environemnt : education-ai-suite/smartclassroom_ipex. - Remove the models directory: Remove the models folder located under education-ai-suite/smart-classroom.