AlbertStahl/AIDA-pvk26

4

stars

55

commits

HTML

primary language

Jun 26, 2026

updated

README

AIDA (Artificial Intelligence for Disaster Aid)

Python 3.13 License: MIT Status: Active

AIDA är en svensk AI-baserad röstchattprototyp utformad för tidiga insatser vid krissituationer. Projektet utvecklades i samarbete med Totalförsvarets forskningsinstitut (FOI), med anledning att undersöka potentialen av LLMs och transkriberingsmodeller under stressfyllda katastrofsituationer (t.ex. bränder, explosioner, skador).

Detta repository är ursprungliga grupp-projektet från kursen DD1367 (PVK26) vid Kungliga Tekniska Högskolan (KTH), och underhålls för vidareutveckling och öppen källkod.

Ursprungligt Team

AIDA designades och byggdes ursprungligen av en studentgrupp på 8 personer:

  • Mikael Kemstedt
  • Emil Olofsgård
  • Albert Ståhl Bryggö
  • Jehad Omar
  • Monzer Orabi
  • Ludvig Oderud
  • Mohamed El Yahiaoui
  • Adam Abdulmohsen

Arkitektur

AIDA använder en hybrid pipeline mellan lokal maskin och molnet för att optimera svarstid och beräkningskraft.

  1. Frontend (src/app.py): Ett webbgränssnitt byggt i Gradio för röstinspelning och uppspelning.
  2. Lokal Ljudanalys (src/):
    • Transkribering: Använder pywhispercpp med svenskoptimerade KB-Whisper-modeller.
    • Känslomässig Igenkänning: Analyserar rösten för att bedöma känsloläge (t.ex. rädsla, sorg, ilska).
    • Klassificering av Bakgrundsljud: Identifierar omgivande ljud (t.ex. sirener, explosioner).
  3. Kontextberikad LLM (src/llm.py): Det detekterade känsloläget och bakgrundsljudet läggs in som metadatataggar i användarens transkriberade text. En molnbaserad LLM (Qwen-2.5-3B som standard) agerar som en professionell larmoperatör.
  4. Molninfrastruktur (deploy/): Modal-baserat skript för driftsättning som kör vLLM-inferensservern.
  5. Talsyntes (TTS) (src/tts.py): Genererar rösten via edge-tts.

Systemflöde

graph TD
    A[Mikrofon/Ljudinmatning] --> B[Lokal Ljudanalys]
    B --> C{Transkribering<br>KB-Whisper}
    B --> D{Känslomässig Igenkänning<br>XLSR-53}
    B --> E{Bakgrundsljud<br>AST AudioSet}
    C --> F[Kontextkompilator]
    D --> F
    E --> F
    F --> G[Molnbaserad LLM<br>Qwen-2.5-3B]
    G --> H[Lokal TTS<br>Edge-TTS]
    H --> I[Ljuduppspelning]

Kom igång

Systemkrav

  • Python 3.13+
  • ffmpeg installerat på ditt system (t.ex. sudo apt install ffmpeg eller brew install ffmpeg)
  • Pakethanteraren uv

Installation

  1. Klona repositoryt:
    git clone https://github.com/AlbertStahl/AIDA-pvk26.git
    cd AIDA-pvk26
    
  2. Synkronisera beroenden med uv:
    uv sync
    
  3. Aktivera den virtuella miljön:
    source .venv/bin/activate
    

Starta Projektet

AIDA kräver att den molnbaserade LLM:en är igång innan frontend kan ansluta.

  1. Driftsätt LLM-backend: Följ instruktionerna i deploy/README.md för att driftsätta Modal-containern.
    cd deploy
    python mgmt.py --deploy container.json
    
  2. Starta Frontend:
    uv run src/app.py
    
    Öppna den lokala URL:en som visas i din webbläsare.

Benchmarking & Analys (AIDA-ANALYS/)

Detta repository innehåller även en omfattande studie som utvärderar ~34 ASR-modeller på ett svenskt korpus inspelat under olika nivåer av fysisk ansträngning. För detaljer, se mappen AIDA-ANALYS.

Licens

Detta projekt är licensierat under MIT-licensen. Se filen LICENSE för detaljer.

Contributors

OniHil

19 commits

AlbertStahl

18 commits

j3h0d

8 commits

EmilOlofsgard

5 commits

AlbertStahl/AIDA-pvk26

4

stars

55

commits

HTML

primary language

Jun 26, 2026

updated

README

AIDA (Artificial Intelligence for Disaster Aid)

Python 3.13 License: MIT Status: Active

AIDA är en svensk AI-baserad röstchattprototyp utformad för tidiga insatser vid krissituationer. Projektet utvecklades i samarbete med Totalförsvarets forskningsinstitut (FOI), med anledning att undersöka potentialen av LLMs och transkriberingsmodeller under stressfyllda katastrofsituationer (t.ex. bränder, explosioner, skador).

Detta repository är ursprungliga grupp-projektet från kursen DD1367 (PVK26) vid Kungliga Tekniska Högskolan (KTH), och underhålls för vidareutveckling och öppen källkod.

Ursprungligt Team

AIDA designades och byggdes ursprungligen av en studentgrupp på 8 personer:

  • Mikael Kemstedt
  • Emil Olofsgård
  • Albert Ståhl Bryggö
  • Jehad Omar
  • Monzer Orabi
  • Ludvig Oderud
  • Mohamed El Yahiaoui
  • Adam Abdulmohsen

Arkitektur

AIDA använder en hybrid pipeline mellan lokal maskin och molnet för att optimera svarstid och beräkningskraft.

  1. Frontend (src/app.py): Ett webbgränssnitt byggt i Gradio för röstinspelning och uppspelning.
  2. Lokal Ljudanalys (src/):
    • Transkribering: Använder pywhispercpp med svenskoptimerade KB-Whisper-modeller.
    • Känslomässig Igenkänning: Analyserar rösten för att bedöma känsloläge (t.ex. rädsla, sorg, ilska).
    • Klassificering av Bakgrundsljud: Identifierar omgivande ljud (t.ex. sirener, explosioner).
  3. Kontextberikad LLM (src/llm.py): Det detekterade känsloläget och bakgrundsljudet läggs in som metadatataggar i användarens transkriberade text. En molnbaserad LLM (Qwen-2.5-3B som standard) agerar som en professionell larmoperatör.
  4. Molninfrastruktur (deploy/): Modal-baserat skript för driftsättning som kör vLLM-inferensservern.
  5. Talsyntes (TTS) (src/tts.py): Genererar rösten via edge-tts.

Systemflöde

graph TD
    A[Mikrofon/Ljudinmatning] --> B[Lokal Ljudanalys]
    B --> C{Transkribering<br>KB-Whisper}
    B --> D{Känslomässig Igenkänning<br>XLSR-53}
    B --> E{Bakgrundsljud<br>AST AudioSet}
    C --> F[Kontextkompilator]
    D --> F
    E --> F
    F --> G[Molnbaserad LLM<br>Qwen-2.5-3B]
    G --> H[Lokal TTS<br>Edge-TTS]
    H --> I[Ljuduppspelning]

Kom igång

Systemkrav

  • Python 3.13+
  • ffmpeg installerat på ditt system (t.ex. sudo apt install ffmpeg eller brew install ffmpeg)
  • Pakethanteraren uv

Installation

  1. Klona repositoryt:
    git clone https://github.com/AlbertStahl/AIDA-pvk26.git
    cd AIDA-pvk26
    
  2. Synkronisera beroenden med uv:
    uv sync
    
  3. Aktivera den virtuella miljön:
    source .venv/bin/activate
    

Starta Projektet

AIDA kräver att den molnbaserade LLM:en är igång innan frontend kan ansluta.

  1. Driftsätt LLM-backend: Följ instruktionerna i deploy/README.md för att driftsätta Modal-containern.
    cd deploy
    python mgmt.py --deploy container.json
    
  2. Starta Frontend:
    uv run src/app.py
    
    Öppna den lokala URL:en som visas i din webbläsare.

Benchmarking & Analys (AIDA-ANALYS/)

Detta repository innehåller även en omfattande studie som utvärderar ~34 ASR-modeller på ett svenskt korpus inspelat under olika nivåer av fysisk ansträngning. För detaljer, se mappen AIDA-ANALYS.

Licens

Detta projekt är licensierat under MIT-licensen. Se filen LICENSE för detaljer.

Contributors

OniHil

19 commits

AlbertStahl

18 commits

j3h0d

8 commits

EmilOlofsgard

5 commits

Languages

HTML

92.8%

Python

7.2%