Skip to content

vakovalskii/whisperx-fronted-docker-compose

Repository files navigation

whisperx-fronted-docker-compose - AI Вранскрипция Π°ΡƒΠ΄ΠΈΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

whisperx-frontend.mov

Основано на WhisperX - Automatic Speech Recognition with Word-level Timestamps & Diarization
Copyright (c) 2024, Max Bain. ЛицСнзия BSD-2-Clause.

⚑ Быстрый старт: QUICKSTART.md

πŸš€ Быстрый старт

πŸ“‹ Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹:

  • GPU: NVIDIA с 8GB+ памяти
  • ОБ: Ubuntu 20.04+
  • Docker + NVIDIA Container Toolkit
  • NVIDIA Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ (470+)
  • vLLM сСрвСр с модСлью 32K+ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²
  • Google OAuth настройки

⚑ Запуск Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚:

# 1. ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
git clone https://github.com/your-repo/whisperx-fronted-docker-compose
cd whisperx-fronted-docker-compose

# 2. НастраиваСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния
cp .env.example .env
# Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ .env - добавляСм Google OAuth ΠΈ vLLM настройки

# 3. ЗапускаСм vLLM сСрвСр (Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅)
docker run --gpus all -p 11434:8000 \
  vllm/vllm-openai:latest \
  --model meta-llama/Llama-3.1-8B-Instruct \
  --guided-decoding-backend xgrammar

# 4. Π‘ΠΎΠ±ΠΈΡ€Π°Π΅ΠΌ ΠΈ запускаСм основноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
docker-compose build
docker-compose up -d

# 5. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ http://localhost:8000

πŸ”§ Минимальная настройка .env:

# Google OAuth (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ)
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret

# vLLM для суммаризации (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ)
SUMMARIZATION_API_URL=http://localhost:11434/v1/chat/completions
SUMMARIZATION_MODEL=meta-llama/Llama-3.1-8B-Instruct

# Yandex S3 (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)
S3_ACCESS_KEY=your-s3-key
S3_SECRET_KEY=your-s3-secret

🎯 Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: ΠŸΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ систСма транскрипции с AI суммаризациСй Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅!


πŸ“‹ ОписаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

whisperx-fronted-docker-compose - это ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ систСма для транскрипции Π°ΡƒΠ΄ΠΈΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ², построСнная Π½Π° основС WhisperX с соврСмСнным Π²Π΅Π±-интСрфСйсом, API, Chrome Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ΠΈ real-time транскрипциСй. БистСма ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ экспорт Π² 6 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π² Yandex Cloud S3, ΡΡƒΠΌΠΌΠ°Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ транскриптов ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ очистку Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

ΠžΠ±Ρ‰Π°Ρ статистика ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: 16,437+ строк ΠΊΠΎΠ΄Π°

πŸš€ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности

🎯 Вранскрипция

  • Высокоточная транскрипция Π°ΡƒΠ΄ΠΈΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ² с использованиСм WhisperX
  • Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ спикСров (диаризация) с Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° мноТСства Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ²: MP3, M4A, WAV, MP4, AVI, MKV ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅
  • Π’Ρ‹Π±ΠΎΡ€ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ: Large-v3, Medium, Small для баланса качСства ΠΈ скорости
  • ΠœΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½ΠΎΡΡ‚ΡŒ: Русский, English, Π°Π²Ρ‚ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅

πŸ“„ Экспорт ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅

  • 6 Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² экспорта: JSON, SRT, VTT, TSV, DOCX, PDF
  • АвтоматичСская Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π° Yandex Cloud S3
  • ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ катСгориям ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌ
  • АвтоматичСская очистка Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

πŸ”„ Real-Time транскрипция

  • Живая транскрипция с ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
  • WebSocket соСдинСниС для Π½ΠΈΠ·ΠΊΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ
  • Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ уровня Π·Π²ΡƒΠΊΠ° ΠΈ статуса
  • НастраиваСмыС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

πŸ€– AI Буммаризация

  • АвтоматичСскоС созданиС саммари транскриптов
  • Анализ спикСров ΠΈ ΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ
  • Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ прСдставлСниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

🌐 Π’Π΅Π±-интСрфСйс

  • Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ UI с drag & drop Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ
  • ВстроСнный ΠΌΠ΅Π΄ΠΈΠ°ΠΏΠ»Π΅Π΅Ρ€ с синхронизациСй транскрипта
  • Π˜ΡΡ‚ΠΎΡ€ΠΈΡ транскрипций с поиском ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ
  • Адаптивный Π΄ΠΈΠ·Π°ΠΉΠ½ для всСх устройств

πŸ”Œ Chrome Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅

  • Π—Π°ΠΏΠΈΡΡŒ встрСч прямо ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ для Π·Π°Ρ…Π²Π°Ρ‚Π° Π°ΡƒΠ΄ΠΈΠΎ
  • Микс ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π° ΠΈ систСмного Π·Π²ΡƒΠΊΠ°
  • АвтоматичСская ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π½Π° сСрвСр

πŸ” Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

  • Google OAuth 2.0 аутСнтификация
  • JWT Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ
  • CORS Π·Π°Ρ‰ΠΈΡ‚Π° ΠΈ бСзопасныС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ
  • Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅

πŸ–₯️ Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ систСмы

Π“Π»Π°Π²Π½Ρ‹ΠΉ интСрфСйс

Основной интСрфСйс whisperx-fronted-docker-compose Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚:

  • Drag & Drop ΠΎΠ±Π»Π°ΡΡ‚ΡŒ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²
  • Настройки транскрипции: Π²Ρ‹Π±ΠΎΡ€ ΠΌΠΎΠ΄Π΅Π»ΠΈ, языка, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ
  • ΠœΠ΅Π΄ΠΈΠ°ΠΏΠ»Π΅Π΅Ρ€ с синхронизациСй транскрипта
  • ПанСль экспорта с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ 6 Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ²
  • Π˜ΡΡ‚ΠΎΡ€ΠΈΡ транскрипций с поиском ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ
  • Real-time транскрипция с Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ
  • AI суммаризация Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности UI

  • 🎨 Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ с Ρ‚Π΅ΠΌΠ½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ
  • πŸ“± Адаптивная вСрстка для всСх устройств
  • 🎡 ВстроСнный ΠΌΠ΅Π΄ΠΈΠ°ΠΏΠ»Π΅Π΅Ρ€ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π°ΡƒΠ΄ΠΈΠΎ/Π²ΠΈΠ΄Π΅ΠΎ
  • πŸ“Š Визуализация прогрСсса ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
  • πŸ” Поиск ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π² истории
  • πŸ“‹ ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ

πŸ“ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

whisperx-fronted-docker-compose/           # ΠšΠΎΡ€Π½Π΅Π²Π°Ρ дирСктория ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
β”œβ”€β”€ πŸ“Š Бтатистика: 16,437+ строк ΠΊΠΎΠ΄Π°
β”œβ”€β”€ 
β”œβ”€β”€ πŸ–₯️ БЕРВЕРНАЯ ЧАБВЬ (Backend)
β”œβ”€β”€ src/                                   # Основной ΠΊΠΎΠ΄ сСрвСра (4,247 строк)
β”‚   β”œβ”€β”€ main.py                           # FastAPI ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (80 строк)
β”‚   β”œβ”€β”€ 
β”‚   β”œβ”€β”€ πŸ›£οΈ API слой
β”‚   β”œβ”€β”€ api/                              # REST API эндпоинты (1,185 строк)
β”‚   β”‚   β”œβ”€β”€ routes.py                     # ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ (589 строк)
β”‚   β”‚   β”œβ”€β”€ realtime_routes.py            # Real-time WebSocket API (377 строк)
β”‚   β”‚   └── auth_routes.py                # АутСнтификация OAuth (219 строк)
β”‚   β”œβ”€β”€ 
β”‚   β”œβ”€β”€ 🧠 Π―Π΄Ρ€ΠΎ систСмы
β”‚   β”œβ”€β”€ core/                             # Основная Π»ΠΎΠ³ΠΈΠΊΠ° (463 строки)
β”‚   β”‚   β”œβ”€β”€ whisper_manager.py            # Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ WhisperX модСлями (102 строки)
β”‚   β”‚   └── transcription_processor.py    # ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° транскрипций (361 строка)
β”‚   β”œβ”€β”€ 
β”‚   β”œβ”€β”€ πŸ”§ БСрвисы
β”‚   β”œβ”€β”€ services/                         # БизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° (1,308 строк)
β”‚   β”‚   β”œβ”€β”€ auth_service.py               # Google OAuth сСрвис (284 строки)
β”‚   β”‚   β”œβ”€β”€ database_service.py           # JSON Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… (227 строк)
β”‚   β”‚   β”œβ”€β”€ s3_service.py                 # Yandex Cloud S3 (149 строк)
β”‚   β”‚   β”œβ”€β”€ subtitle_generator.py         # ГСнСрация Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² (341 строка)
β”‚   β”‚   └── summarization_service.py      # AI суммаризация (242 строки)
β”‚   β”œβ”€β”€ 
β”‚   β”œβ”€β”€ πŸš€ Real-Time систСма
β”‚   β”œβ”€β”€ realtime/                         # WebSocket транскрипция (1,162 строки)
β”‚   β”‚   β”œβ”€β”€ manager.py                    # ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ сСссий (298 строк)
β”‚   β”‚   β”œβ”€β”€ processor.py                  # ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°ΡƒΠ΄ΠΈΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° (312 строк)
β”‚   β”‚   β”œβ”€β”€ websocket_handler.py          # WebSocket ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ (387 строк)
β”‚   β”‚   └── models.py                     # МодСли Π΄Π°Π½Π½Ρ‹Ρ… (165 строк)
β”‚   β”œβ”€β”€ 
β”‚   β”œβ”€β”€ βš™οΈ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹
β”‚   β”œβ”€β”€ config/
β”‚   β”‚   └── settings.py                   # Настройки прилоТСния (79 строк)
β”‚   β”œβ”€β”€ models/
β”‚   β”‚   └── schemas.py                    # Pydantic схСмы (91 строка)
β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   └── auth_middleware.py            # Middleware Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ (54 строки)
β”‚   └── utils/
β”‚       └── time_formatters.py            # Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (25 строк)
β”œβ”€β”€ 
β”œβ”€β”€ 🌐 Π’Π•Π‘-Π˜ΠΠ’Π•Π Π€Π•Π™Π‘ (Frontend)
β”œβ”€β”€ web_interface/                        # ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ (9,247 строк)
β”‚   β”œβ”€β”€ πŸ“„ HTML страницы
β”‚   β”œβ”€β”€ index.html                        # Главная страница (226 строк)
β”‚   β”œβ”€β”€ login.html                        # Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π²Ρ…ΠΎΠ΄Π° (280 строк)
β”‚   β”œβ”€β”€ 
β”‚   β”œβ”€β”€ 🎨 Π‘Ρ‚ΠΈΠ»ΠΈ
β”‚   β”œβ”€β”€ style.css                         # ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ стили (1,988 строк)
β”‚   β”œβ”€β”€ css/
β”‚   β”‚   └── realtime.css                  # Π‘Ρ‚ΠΈΠ»ΠΈ Real-Time UI (605 строк)
β”‚   β”œβ”€β”€ 
β”‚   β”œβ”€β”€ βš™οΈ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ
β”‚   β”œβ”€β”€ config.js                         # Настройки ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (136 строк)
β”‚   β”œβ”€β”€ config.example.js                 # ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (80 строк)
β”‚   β”œβ”€β”€ debug_config.js                   # ΠžΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ настройки (24 строки)
β”‚   β”œβ”€β”€ cache_version.js                  # ВСрсионированиС кСша (4 строки)
β”‚   β”œβ”€β”€ 
β”‚   β”œβ”€β”€ πŸ“¦ JavaScript ΠΌΠΎΠ΄ΡƒΠ»ΠΈ
β”‚   β”œβ”€β”€ modules/                          # ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° (6,204 строки)
β”‚   β”‚   β”œβ”€β”€ main.js                       # Π“Π»Π°Π²Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (640 строк)
β”‚   β”‚   β”œβ”€β”€ api.js                        # HTTP ΠΊΠ»ΠΈΠ΅Π½Ρ‚ (233 строки)
β”‚   β”‚   β”œβ”€β”€ auth.js                       # БистСма Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ (173 строки)
β”‚   β”‚   β”œβ”€β”€ ui.js                         # UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ (337 строк)
β”‚   β”‚   β”œβ”€β”€ 
β”‚   β”‚   β”œβ”€β”€ 🎀 Вранскрипция
β”‚   β”‚   β”œβ”€β”€ transcription.js              # Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ транскрипциСй (355 строк)
β”‚   β”‚   β”œβ”€β”€ transcript.js                 # ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ транскриптов (309 строк)
β”‚   β”‚   β”œβ”€β”€ 
β”‚   β”‚   β”œβ”€β”€ 🎡 МСдиа
β”‚   β”‚   β”œβ”€β”€ mediaPlayer.js                # Аудио/Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠ»Π΅Π΅Ρ€ (375 строк)
β”‚   β”‚   β”œβ”€β”€ fileHandler.js                # ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² (171 строка)
β”‚   β”‚   β”œβ”€β”€ 
β”‚   β”‚   β”œβ”€β”€ πŸ“Š Π”Π°Π½Π½Ρ‹Π΅ ΠΈ история
β”‚   β”‚   β”œβ”€β”€ history.js                    # Π˜ΡΡ‚ΠΎΡ€ΠΈΡ транскрипций (524 строки)
β”‚   β”‚   β”œβ”€β”€ downloads.js                  # Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌΠΈ (507 строк)
β”‚   β”‚   β”œβ”€β”€ summarization.js              # AI суммаризация (777 строк)
β”‚   β”‚   β”œβ”€β”€ 
β”‚   β”‚   └── πŸ”΄ Real-Time
β”‚   β”‚       β”œβ”€β”€ realtimeAudio.js          # Аудио Π·Π°Ρ…Π²Π°Ρ‚ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° (562 строки)
β”‚   β”‚       β”œβ”€β”€ realtimeUI.js             # UI для real-time (694 строки)
β”‚   β”‚       └── audio-processor.js        # Аудио процСссор (61 строка)
β”‚   └── 
β”‚   └── server.py                         # HTTP сСрвСр для статики (68 строк)
β”œβ”€β”€ 
β”œβ”€β”€ πŸ”Œ CHROME Π ΠΠ‘Π¨Π˜Π Π•ΠΠ˜Π•
β”œβ”€β”€ whisperx-fronted-docker-compose-extension/  # Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ (2,943 строки)
β”‚   β”œβ”€β”€ manifest.json                     # ΠœΠ°Π½ΠΈΡ„Π΅ΡΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ (36 строк)
β”‚   β”œβ”€β”€ 
β”‚   β”œβ”€β”€ 🎯 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹
β”‚   β”œβ”€β”€ background.js                     # Service Worker (494 строки)
β”‚   β”œβ”€β”€ popup.html                        # Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ (488 строк)
β”‚   β”œβ”€β”€ popup.js                          # Π›ΠΎΠ³ΠΈΠΊΠ° popup (514 строк)
β”‚   β”œβ”€β”€ 
β”‚   β”œβ”€β”€ πŸŽ™οΈ Аудио ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°
β”‚   β”œβ”€β”€ offscreen.html                    # Offscreen Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ (10 строк)
β”‚   β”œβ”€β”€ offscreen.js                      # Аудио ΠΌΠΈΠΊΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (521 строка)
β”‚   β”œβ”€β”€ 
β”‚   β”œβ”€β”€ πŸ” Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ
β”‚   β”œβ”€β”€ permission.html                   # Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ (96 строк)
β”‚   β”œβ”€β”€ permission.js                     # ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ (79 строк)
β”‚   β”œβ”€β”€ 
β”‚   β”œβ”€β”€ πŸ“ РСсурсы
β”‚   β”œβ”€β”€ icons/                            # Иконки Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ
β”‚   β”œβ”€β”€ README.md                         # ДокумСнтация Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ (150 строк)
β”‚   └── INSTALL.md                        # Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎ установкС (64 строки)
β”œβ”€β”€ 
β”œβ”€β”€ 🐳 DOCKER И Π ΠΠ—Π’Π•Π Π’Π«Π’ΠΠΠ˜Π•
β”œβ”€β”€ Dockerfile                            # Backend ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ (PyTorch + CUDA)
β”œβ”€β”€ Dockerfile.frontend                   # Frontend ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€
β”œβ”€β”€ docker-compose.gpu.yml               # GPU конфигурация
β”œβ”€β”€ docker-compose.dev.yml               # Development ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅
β”œβ”€β”€ 
β”œβ”€β”€ πŸš€ БКРИПВЫ Π—ΠΠŸΠ£Π‘ΠšΠ
β”œβ”€β”€ run.py                                # Запуск Backend + Frontend
β”œβ”€β”€ server.py                             # Волько API сСрвСр
β”œβ”€β”€ dev.py                                # Π Π΅ΠΆΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
β”œβ”€β”€ 
β”œβ”€β”€ πŸ“Š ΠΠΠΠ›Π˜Π’Π˜ΠšΠ И Π£Π’Π˜Π›Π˜Π’Π«
β”œβ”€β”€ analyze_users_transcripts.py          # Анализ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…
β”œβ”€β”€ quick_stats.py                        # Быстрая статистика
β”œβ”€β”€ generate_icons.py                     # ГСнСрация ΠΈΠΊΠΎΠ½ΠΎΠΊ
β”œβ”€β”€ 
β”œβ”€β”€ πŸ“‹ ΠšΠžΠΠ€Π˜Π“Π£Π ΠΠ¦Π˜Π―
β”œβ”€β”€ requirements.txt                      # Python зависимости (45 ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²)
β”œβ”€β”€ data/
β”‚   └── transcriptions_db.json            # JSON Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…
β”œβ”€β”€ 
└── πŸ“š Π”ΠžΠšΠ£ΠœΠ•ΠΠ’ΠΠ¦Π˜Π―
    β”œβ”€β”€ README.md                         # Основная докумСнтация
    β”œβ”€β”€ QUICKSTART.md                     # ⚑ Быстрый старт (5 ΠΌΠΈΠ½ΡƒΡ‚)
    β”œβ”€β”€ DEPLOYMENT.md                     # ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΏΠΎ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ
    β”œβ”€β”€ SUMMARIZATION_SETUP.md            # Настройка AI суммаризации (vLLM + xgrammar)
    β”œβ”€β”€ SUMMARIZATION_CONFIG_MIGRATION.md # ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ суммаризации
    β”œβ”€β”€ DOCKER_README.md                  # Docker инструкции
    β”œβ”€β”€ DOCKER_GPU_SETUP.md               # Настройка GPU
    β”œβ”€β”€ DOCKER_QUICK_START.md             # Быстрый запуск Docker
    β”œβ”€β”€ GOOGLE_OAUTH_SETUP.md             # Настройка OAuth
    β”œβ”€β”€ SECURITY_SETUP.md                 # Настройка бСзопасности
    β”œβ”€β”€ EXTENSION_QUICK_START.md          # Быстрый старт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ
    β”œβ”€β”€ EXTENSION_DEVELOPMENT_PLAN.md     # План развития Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ
    β”œβ”€β”€ EXTENSION_TODO_PLAN.md            # TODO для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ
    β”œβ”€β”€ REALTIME_DEVELOPMENT_PLAN.md      # План Real-Time Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
    └── TELEGRAM_POST.md                  # ΠŸΠΎΡΡ‚ для Telegram

πŸ—οΈ АрхитСктура систСмы

πŸ”„ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²

graph TB
    %% ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈ интСрфСйсы
    User[πŸ‘€ ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ]
    Browser[🌐 Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€]
    Extension[πŸ”Œ Chrome Extension]
    
    User --> Browser
    User --> Extension
    
    %% Frontend слой
    subgraph Frontend["🌐 Frontend Layer"]
        WebUI[πŸ“± Web Interface<br/>localhost:8000]
        StaticServer[πŸ—‚οΈ Static Server<br/>Python HTTP]
        
        subgraph JSModules["πŸ“¦ JavaScript Modules"]
            MainJS[main.js<br/>Π“Π»Π°Π²Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€]
            AuthJS[auth.js<br/>АутСнтификация]
            APIJS[api.js<br/>HTTP ΠΊΠ»ΠΈΠ΅Π½Ρ‚]
            TranscriptionJS[transcription.js<br/>Вранскрипция]
            RealtimeJS[realtimeAudio.js<br/>Real-Time Π°ΡƒΠ΄ΠΈΠΎ]
            SummarizationJS[summarization.js<br/>AI суммаризация]
        end
    end
    
    Browser --> WebUI
    Extension --> WebUI
    
    %% Backend слой
    subgraph Backend["πŸ–₯️ Backend Layer"]
        FastAPI[⚑ FastAPI Application<br/>localhost:8880]
        
        subgraph APIRoutes["πŸ›£οΈ API Routes"]
            MainRoutes[routes.py<br/>ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ эндпоинты]
            AuthRoutes[auth_routes.py<br/>OAuth аутСнтификация]
            RealtimeRoutes[realtime_routes.py<br/>WebSocket API]
        end
        
        subgraph Core["🧠 Core Layer"]
            WhisperMgr[whisper_manager.py<br/>Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ модСлями]
            TransProcessor[transcription_processor.py<br/>ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° транскрипций]
        end
        
        subgraph Services["πŸ”§ Services Layer"]
            AuthService[auth_service.py<br/>Google OAuth]
            S3Service[s3_service.py<br/>Yandex Cloud S3]
            DBService[database_service.py<br/>JSON Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…]
            SubtitleGen[subtitle_generator.py<br/>ГСнСрация Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ²]
        end
        
        subgraph Realtime["πŸš€ Real-Time System"]
            RTManager[manager.py<br/>ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ сСссий]
            RTProcessor[processor.py<br/>Аудио ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°]
            WSHandler[websocket_handler.py<br/>WebSocket]
        end
    end
    
    WebUI --> FastAPI
    Extension --> FastAPI
    
    %% External Services
    subgraph External["☁️ External Services"]
        YandexS3[Yandex Cloud S3<br/>Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²]
        GoogleOAuth[Google OAuth 2.0<br/>АутСнтификация]
        WhisperX[🎀 WhisperX Models<br/>AI транскрипция]
    end
    
    S3Service --> YandexS3
    AuthService --> GoogleOAuth
    WhisperMgr --> WhisperX
    
    %% Data Storage
    subgraph Storage["πŸ’Ύ Data Storage"]
        JSONDb[(πŸ“Š JSON Database<br/>transcriptions_db.json)]
        TempFiles[πŸ“ Temporary Files<br/>/data/temp/]
        Uploads[πŸ“ Uploads<br/>/data/uploads/]
    end
    
    DBService --> JSONDb
    TransProcessor --> TempFiles
    TransProcessor --> Uploads
    
    %% Export Formats
    subgraph Formats["πŸ“„ Export Formats"]
        JSON[JSON - API Π΄Π°Π½Π½Ρ‹Π΅]
        SRT[SRT - Π’ΠΈΠ΄Π΅ΠΎ субтитры]
        VTT[VTT - Π’Π΅Π± субтитры]
        TSV[TSV - Π’Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅]
        DOCX[DOCX - Word Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚]
        PDF[PDF - ΠŸΠ΅Ρ‡Π°Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚]
    end
    
    SubtitleGen --> Formats
    
    %% Docker Infrastructure
    subgraph Docker["🐳 Docker Infrastructure"]
        BackendContainer[whisperx2-backend-gpu<br/>PyTorch + CUDA + cuDNN]
        FrontendContainer[whisperx2-frontend<br/>Static HTTP сСрвСр]
        GPUSupport[πŸš€ NVIDIA GPU Support<br/>CUDA Runtime]
    end
    
    %% Styling
    classDef userClass fill:#e1f5fe,stroke:#01579b,stroke-width:2px
    classDef frontendClass fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
    classDef backendClass fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
    classDef externalClass fill:#fff3e0,stroke:#e65100,stroke-width:2px
    classDef storageClass fill:#fce4ec,stroke:#880e4f,stroke-width:2px
    classDef dockerClass fill:#e3f2fd,stroke:#0d47a1,stroke-width:2px
    
    class User,Browser,Extension userClass
    class WebUI,StaticServer,JSModules,MainJS,AuthJS,APIJS,TranscriptionJS,RealtimeJS,SummarizationJS frontendClass
    class FastAPI,APIRoutes,MainRoutes,AuthRoutes,RealtimeRoutes,Core,WhisperMgr,TransProcessor,Services,AuthService,S3Service,DBService,SubtitleGen,Realtime,RTManager,RTProcessor,WSHandler backendClass
    class YandexS3,GoogleOAuth,WhisperX,Formats,JSON,SRT,VTT,TSV,DOCX,PDF externalClass
    class JSONDb,TempFiles,Uploads storageClass
    class BackendContainer,FrontendContainer,GPUSupport dockerClass
Loading

πŸ› οΈ ВСхнологичСский стСк

πŸ–₯️ Backend (Python)

  • FastAPI - соврСмСнный Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ
  • WhisperX - AI модСль транскрипции
  • Pydantic - валидация Π΄Π°Π½Π½Ρ‹Ρ…
  • Uvicorn - ASGI сСрвСр
  • Google Auth - OAuth 2.0 аутСнтификация
  • boto3 - AWS/Yandex Cloud SDK
  • WebSockets - real-time коммуникация
  • python-docx & reportlab - гСнСрация Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

🌐 Frontend (JavaScript)

  • Vanilla JavaScript (ES6+) - Π±Π΅Π· Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ²
  • HTML5 с сСмантичСской Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ
  • CSS3 с соврСмСнными возмоТностями
  • WebSocket API - real-time соСдинСния
  • Web Audio API - ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°ΡƒΠ΄ΠΈΠΎ
  • ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° - Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ отвСтствСнности

πŸ”Œ Chrome Extension

  • Manifest V3 - соврСмСнный стандарт Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ
  • Service Workers - фоновая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°
  • Offscreen API - Π°ΡƒΠ΄ΠΈΠΎ Π·Π°Ρ…Π²Π°Ρ‚
  • Chrome APIs - tabs, runtime, storage

☁️ ΠžΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ сСрвисы

  • Yandex Cloud S3 - Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²
  • Google OAuth 2.0 - аутСнтификация
  • JSON Database - ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅

🐳 DevOps

  • Docker - контСйнСризация
  • Docker Compose - оркСстрация
  • NVIDIA CUDA - GPU ускорСниС
  • Nginx - reverse proxy (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)

πŸš€ Быстрый запуск

πŸ“¦ Установка зависимостСй

# ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория
git clone <repository-url>
cd whisperx-fronted-docker-compose

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ окруТСния
python -m venv venv
source venv/bin/activate  # Linux/Mac
# ΠΈΠ»ΠΈ venv\Scripts\activate  # Windows

# Установка зависимостСй
pip install -r requirements.txt

βš™οΈ Настройка окруТСния

# ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
cp web_interface/config.example.js web_interface/config.js

# Настройка ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния
export S3_ACCESS_KEY="your_s3_key"
export S3_SECRET_KEY="your_s3_secret"
export S3_BUCKET="your_bucket"
export GOOGLE_CLIENT_ID="your_google_client_id"
export GOOGLE_CLIENT_SECRET="your_google_client_secret"
export JWT_SECRET_KEY="your_jwt_secret"

πŸƒβ€β™‚οΈ Запуск прилоТСния

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ запуск

# Backend + Frontend ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ
python run.py

# Волько API сСрвСр
python server.py

# Π Π΅ΠΆΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
python dev.py

Docker запуск

# Π‘Π±ΠΎΡ€ΠΊΠ° ΠΎΠ±Ρ€Π°Π·ΠΎΠ²
docker compose build

# Запуск с GPU ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса
docker compose ps

🌐 Доступ ΠΊ сСрвисам

πŸ“š ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

🎯 БистСма транскрипции

Π€Π°ΠΉΠ»Ρ‹: src/core/transcription_processor.py, src/core/whisper_manager.py

  • Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ WhisperX модСлями
  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°ΡƒΠ΄ΠΈΠΎ/Π²ΠΈΠ΄Π΅ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²
  • Диаризация спикСров
  • ГСнСрация Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠΊ
  • Экспорт Π² мноТСствСнныС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹

πŸ”„ Real-Time транскрипция

Π€Π°ΠΉΠ»Ρ‹: src/realtime/, web_interface/modules/realtimeAudio.js

  • WebSocket соСдинСния для Π½ΠΈΠ·ΠΊΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ
  • ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°ΡƒΠ΄ΠΈΠΎ
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСссиями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
  • Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Π°Ρ обратная связь

πŸ€– AI Буммаризация

Π€Π°ΠΉΠ»Ρ‹: src/services/summarization_service.py, web_interface/modules/summarization.js

  • БСрвСрная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°: Буммаризация Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выполняСтся Π½Π° бэкСндС для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ бСзопасности ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ JSON Schema для Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΎΡ‚Π²Π΅Ρ‚Π°
  • Анализ спикСров: АвтоматичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ€ΠΎΠ»Π΅ΠΉ ΠΈ Π²ΠΊΠ»Π°Π΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ участника
  • ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹: Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Ρ… событий с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ
  • БтратСгичСский Π°Π½Π°Π»ΠΈΠ·: Π’Ρ‹Π±ΠΎΡ€ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° (встрСча, ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ, лСкция)

πŸ”§ ВрСбования ΠΊ LLM сСрвСру

⚠️ Π’ΠΠ–ΠΠž: Буммаризация Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с vLLM + xgrammar для обСспСчСния структурированного Π²Ρ‹Π²ΠΎΠ΄Π°.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

  • vLLM сСрвСр с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ guided_json ΠΈ guided_decoding_backend: "xgrammar"
  • БовмСстимыС ΠΌΠΎΠ΄Π΅Π»ΠΈ: Llama 3.1, Qwen, Mistral ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ JSON Ρ€Π΅ΠΆΠΈΠΌΠ°
  • ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹: OpenAI API, Anthropic Claude (с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ схСмы)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ настройки vLLM:

# Запуск vLLM с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ xgrammar
python -m vllm.entrypoints.openai.api_server \
    --model meta-llama/Llama-3.1-8B-Instruct \
    --guided-decoding-backend xgrammar \
    --port 11434

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Π² .env:

SUMMARIZATION_API_URL=http://localhost:11434/v1/chat/completions
SUMMARIZATION_API_KEY=your-api-key-here
SUMMARIZATION_MODEL=meta-llama/Llama-3.1-8B-Instruct

πŸ” БистСма Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

Π€Π°ΠΉΠ»Ρ‹: src/services/auth_service.py, src/api/auth_routes.py

  • Google OAuth 2.0 интСграция
  • JWT Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ
  • Middleware для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ²
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСссиями

☁️ ΠžΠ±Π»Π°Ρ‡Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅

Π€Π°ΠΉΠ»Ρ‹: src/services/s3_service.py

  • АвтоматичСская Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° Yandex Cloud S3
  • ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ катСгориям
  • ГСнСрация бСзопасных ссылок
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²

πŸ”Œ Chrome Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅

Π€Π°ΠΉΠ»Ρ‹: whisperx-fronted-docker-compose-extension/

  • Π—Π°ΠΏΠΈΡΡŒ встрСч ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°
  • ΠœΠΈΠΊΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΡ„ΠΎΠ½Π° ΠΈ систСмного Π·Π²ΡƒΠΊΠ°
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Π²Π΅Π±-интСрфСйсом
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ

πŸ“Š Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ экспорта

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ОписаниС ИспользованиС
JSON Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ API интСграция, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°
SRT Π‘ΡƒΠ±Ρ‚ΠΈΡ‚Ρ€Ρ‹ для Π²ΠΈΠ΄Π΅ΠΎ Π’ΠΈΠ΄Π΅ΠΎΠΏΠ»Π΅Π΅Ρ€Ρ‹, YouTube
VTT Π’Π΅Π±-субтитры HTML5 Π²ΠΈΠ΄Π΅ΠΎ, Π²Π΅Π±-ΠΏΠ»Π΅Π΅Ρ€Ρ‹
TSV Π’Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Excel, Google Sheets
DOCX Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Word Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ
PDF Π“ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ АрхивированиС, ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

πŸ”§ API Endpoints

πŸ” АутСнтификация

  • GET /api/auth/oauth/google - Π˜Π½ΠΈΡ†ΠΈΠ°Ρ†ΠΈΡ OAuth
  • GET /api/auth/oauth/google/callback - OAuth callback
  • POST /api/auth/refresh - ОбновлСниС Ρ‚ΠΎΠΊΠ΅Π½Π°
  • GET /api/auth/user - Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅

🎀 Вранскрипция

  • POST /api/upload - Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»Π°
  • GET /api/status/{task_id} - Бтатус ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
  • GET /api/s3-links/{task_id} - Бсылки Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹
  • DELETE /api/transcription/{task_id} - Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ транскрипции

πŸ“Š Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅

  • GET /api/transcriptions - Π˜ΡΡ‚ΠΎΡ€ΠΈΡ транскрипций
  • GET /api/transcription/{task_id} - ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π°Ρ транскрипция
  • POST /api/summarize/{task_id} - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ саммари (Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ vLLM + xgrammar)
  • GET /api/config/summarization - ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ суммаризации

πŸ”΄ Real-Time

  • WebSocket /ws/realtime - Real-time транскрипция
  • POST /api/realtime/session - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сСссии
  • DELETE /api/realtime/session/{session_id} - Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ сСссии

πŸ›‘οΈ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

πŸ” АутСнтификация ΠΈ авторизация

  • Google OAuth 2.0 для бСзопасного Π²Ρ…ΠΎΠ΄Π°
  • JWT Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ с истСчСниСм срока дСйствия
  • Refresh Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ для продлСния сСссий
  • Middleware для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ²

🌐 Π’Π΅Π±-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

  • CORS настройки для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²
  • CSP Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ для прСдотвращСния XSS
  • Валидация всСх входящих Π΄Π°Π½Π½Ρ‹Ρ…
  • БСзопасная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²

☁️ ΠžΠ±Π»Π°Ρ‡Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

  • Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Ρ…
  • Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ссылки Π½Π° Ρ„Π°ΠΉΠ»Ρ‹
  • АвтоматичСская очистка Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
  • Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…

πŸ“ˆ ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°

πŸ“Š ВстроСнная Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°

# Анализ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… транскрипций
python analyze_users_transcripts.py

# Быстрая статистика систСмы
python quick_stats.py

πŸ“‹ Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π»ΠΎΠ³ΠΈ FastAPI
  • ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ошибок транскрипции
  • ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ
  • Аудит ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… дСйствий

πŸ”„ ОбновлСния ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅

πŸ“‹ ΠŸΠ»Π°Π½Ρ‹ развития

  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ AI ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ - интСграция Π½ΠΎΠ²Ρ‹Ρ… вСрсий Whisper
  • ΠœΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½ΠΎΡΡ‚ΡŒ - ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° большСго количСства языков
  • Batch ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° - Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° мноТСствСнных Ρ„Π°ΠΉΠ»ΠΎΠ²
  • API v2 - Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

πŸ› Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹Π΅ ограничСния

  • ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π°: зависит ΠΎΡ‚ доступной памяти
  • Real-time Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°: 100-500ms Π² зависимости ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ²: Chrome/Edge для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ

🀝 УчастиС Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅

πŸ“ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

feat: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
fix: исправлСниС ошибки
docs: ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ
style: измСнСния стилСй
refactor: Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°
test: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ тСстов

πŸ”§ Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

# Π Π΅ΠΆΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с hot-reload
python dev.py

# ВСстированиС API
curl -X GET http://localhost:8880/docs

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° стилСй
# Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ любой CSS/JS Π»ΠΈΠ½Ρ‚Π΅Ρ€

⭐ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Если ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ оказался ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, ΠΏΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π·Π²Π΅Π·Π΄Ρƒ Π½Π° GitHub! ⭐

GitHub stars GitHub forks GitHub issues GitHub license

πŸ™ Благодарности

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ основан Π½Π° Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅:

  • WhisperX by Max Bain - ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для транскрипции с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΈ Π΄ΠΈΠ°Ρ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ спикСров
  • OpenAI Whisper - базовая модСль для распознавания Ρ€Π΅Ρ‡ΠΈ
  • pyannote-audio - для Π΄ΠΈΠ°Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ спикСров
  • FastAPI - соврСмСнный Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для создания API

πŸ“œ ЛицСнзия WhisperX

WhisperX распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ BSD-2-Clause:

Copyright (c) 2024, Max Bain
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

πŸ“„ ЛицСнзия

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ LICENSE.

MIT License

Copyright (c) 2025 whisperx-fronted-docker-compose Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ whisperx-fronted-docker-compose - соврСмСнноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для транскрипции с ΠΏΠΎΠ»Π½Ρ‹ΠΌ стСком Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ ΠΊ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Ρƒ ΠΈ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌΡƒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ.

ПослСднСС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: Π―Π½Π²Π°Ρ€ΡŒ 2025

About

whisperx-fronted-docker-compose

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published