Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion education-ai-suite/smart-classroom/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ models:
min_words: 2

summarizer:
provider: openvino # ipex or openvino
provider: openvino
name: Qwen/Qwen2.5-7B-Instruct # Qwen/Qwen2-7B-Instruct or Qwen/Qwen2.5-7B-Instruct
device: GPU # GPU or CPU
weight_format: int8 # supports fp16, int4, int8 (Recommended)
Expand Down
91 changes: 23 additions & 68 deletions education-ai-suite/smart-classroom/docs/user-guide/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,15 @@ To install dependencies, do the following:

Download from [https://ffmpeg.org/download.html](https://ffmpeg.org/download.html), and add the `ffmpeg/bin` folder to your system `PATH`.

### B. Install DL Streamer

Download the archive from [DL Streamer assets on GitHub](https://github.com/open-edge-platform/edge-ai-libraries/releases) Extract to a new folder, for example `C:\\dlstreamer_dlls`.

For details, refer to [Install Guide](https://docs.openedgeplatform.intel.com/dev/edge-ai-libraries/dl-streamer/get_started/install/install_guide_windows.html).

**Run your shell with admin privileges before starting the application**

### B. Clone Repository
### C. Clone Repository

```bash
git clone --no-checkout https://github.com/open-edge-platform/edge-ai-suites.git
Expand All @@ -23,7 +29,7 @@ Download from [https://ffmpeg.org/download.html](https://ffmpeg.org/download.htm
cd education-ai-suite
```

### C. Install Python dependencies
### D. Install Python dependencies

It’s recommended to create a **dedicated Python virtual environment** for the base dependencies.

Expand All @@ -37,32 +43,6 @@ python.exe -m pip install --upgrade pip
pip install --upgrade -r requirements.txt
```

### D. \[Optional] Create Python Venv for Ipex Based Summarizer

If you plan to use IPEX, create a separate virtual environment.

```bash
python -m venv smartclassroom_ipex
smartclassroom_ipex\Scripts\activate
# Use Python 3.12.x before running pip.
python.exe -m pip install --upgrade pip
cd smart-classroom
pip install --upgrade -r requirements.txt
pip install --pre --upgrade ipex-llm[xpu_2.6] --extra-index-url https://download.pytorch.org/whl/xpu
```

> **Note:**
>
> - `smartclassroom_ipex` should only be used with FunAsr and Ipex related models
> (Specified in 2nd section). Don't configure Openvino related models in `smartclassroom_ipex`
> - Use `smartclassroom` if you don’t need IPEX. Use `smartclassroom_ipex` if you want IPEX summarization.

### E. Install DL Streamer

Download the archive from [DL Streamer assets on GitHub](https://github.com/open-edge-platform/edge-ai-libraries/releases) Extract to a new folder, for example `C:\\dlstreamer_dlls`.

For details, refer to [Install Guide](https://docs.openedgeplatform.intel.com/dev/edge-ai-libraries/dl-streamer/get_started/install/install_guide_windows.html).

## Step 2: Configuration

### A. Default Configuration
Expand All @@ -71,13 +51,13 @@ By default, the project uses Whisper for transcription and OpenVINO-based Qwen m

```bash
asr:
provider: openvino # Supported: openvino, openai, funasr
name: whisper-tiny # Options: whisper-tiny, whisper-small, paraformer-zh etc.
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 # Options: openvino or ipex
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
Expand All @@ -94,57 +74,21 @@ asr:
name: paraformer-zh
```

### B. IPEX-based Summarization

To use IPEX for summarization, ensure:

- IPEX-LLM is installed.
- The environment for IPEX is activated.
- The configuration (`smart-classroom/config.yaml`) is updated as shown below:

```bash
asr:
provider: funasr
name: paraformer-zh
summarizer:
provider: ipex
```

**Important: After updating the configuration, reload the application for changes to take effect.**

## Step 3: Run the Application

Run the setup script.
Open a PowerShell prompt as and administrator, run the following script and follow instructions:

```sh
cd C:\\dlstreamer_dlls
.\setup_dls_env.ps1
```

Activate the environment before running the application:

```bash
smartclassroom\Scripts\activate # or smartclassroom_ipex
smartclassroom\Scripts\activate
```

Run the backend:

```bash
python main.py
```

Bring Up the Frontend:

```bash
cd ui
npm install
npm run dev -- --host 0.0.0.0 --port 5173
```

> **Note:** Open a second (new) Command Prompt/ terminal window for the frontend.
> The backend terminal stays busy serving requests.

You should see backend logs similar to this:

```text
Expand All @@ -158,6 +102,17 @@ 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.

```bash
cd C:\path\to\edge-ai-suites\education-ai-suite\smart-classroom\ui
npm install
npm run dev -- --host 0.0.0.0 --port 5173
```

## Step 4: Access the UI

After starting the frontend you can open the Smart Classroom UI in a browser:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@ import "../../assets/css/Footer.css";

const Footer: React.FC = () => {
const { t } = useTranslation();
const currentYear = new Date().getFullYear();
return (
<footer className="footer-bar">
<span>{t('footer.copyright')}</span>
<span>{t('footer.copyright', { year: currentYear })}</span>
</footer>
);
};
Expand Down
2 changes: 1 addition & 1 deletion education-ai-suite/smart-classroom/ui/src/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"timer": "Timer"
},
"footer": {
"copyright": "© 2025 Smart Classroom Sample App"
"copyright": "© 2025-{{year}} Smart Classroom Sample App"
},
"notifications": {
"start": "Upload the files or Start recording to begin a new session",
Expand Down
2 changes: 1 addition & 1 deletion education-ai-suite/smart-classroom/ui/src/i18n/zh.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"timer": "计时器"
},
"footer": {
"copyright": "© 2025 智能教室示例应用"
"copyright": "© 2025-{{year}} 智能教室示例应用"
},
"notifications": {
"start": "上传文件或开始录音以开始新会话",
Expand Down
Loading