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 whisperservicev2/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ appVersion: "1.1.0"
description: FastAPI service on top of WhisperX
name: whisperservicev2
type: application
version: 1.0.6
version: 1.0.14
10 changes: 9 additions & 1 deletion whisperservicev2/OlaresManifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ metadata:
description: FastAPI service on top of WhisperX
icon: https://app.cdn.olares.com/appstore/whisperwebui/icon.png
appid: whisperservicev2
version: '1.0.6'
version: '1.0.14'
title: Whisper API
categories:
- AI
Expand Down Expand Up @@ -62,13 +62,21 @@ spec:
- Basic health check (/health): Simple service status check
- Liveness probe (/health/live): Verifies if application is running
- Readiness probe (/health/ready): Checks if application is ready to accept requests (includes database connectivity check)
upgradeDescription: |
Add the Helm release revision to the download Job name so upgrades do not patch its immutable pod template.
Replace the Bitnami OpenResty proxy with official OpenResty and run it as UID/GID 1000 with writable runtime paths.
developer: pavelzbornik
website: https://github.com/pavelzbornik/whisperX-FastAPI
sourceCode: https://github.com/pavelzbornik/whisperX-FastAPI
submitter: Olares
locale:
- en-US
- zh-CN
- de-DE
- es-ES
- it-IT
- fr-FR
- ja-JP
doc: https://github.com/pavelzbornik/whisperX-FastAPI
license:
- text: MIT License
Expand Down
30 changes: 30 additions & 0 deletions whisperservicev2/i18n/de-DE/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
metadata:
title: Whisper API
description: FastAPI-Dienst auf Basis von WhisperX
spec:
fullDescription: |
Die whisperX API ist ein Werkzeug zur Verbesserung und Analyse von Audioinhalten. Diese API bietet Dienste zur Verarbeitung von Audio- und Videodateien, einschließlich Transkription, Alignment, Diarization und Kombination von Transkript mit Diarization-Ergebnissen.

Verfügbare Dienste
**Speech-to-Text (/speech-to-text)**
- Audio-/Videodateien zur Transkription hochladen
- Unterstützt mehrere Sprachen und Whisper-Modelle

**Speech-to-Text URL (/speech-to-text-url)**
- Audio/Video von URLs transkribieren
- Dieselben Funktionen wie beim direkten Upload

**Einzelne Dienste:**
- Transcribe (/service/transcribe): Sprache in Text umwandeln
- Align (/service/align): Transkript mit Audio ausrichten
- Diarize (/service/diarize): Sprecherdiarization
- Combine (/service/combine): Transkript mit Diarization zusammenführen

**Task Management:**
- Alle Tasks abrufen (/task/all)
- Task-Status abrufen (/task/{identifier})

**Health-Check-Endpunkte:**
- Basis-Health-Check (/health): Einfache Statusprüfung
- Liveness-Probe (/health/live): Prüft, ob die Anwendung läuft
- Readiness-Probe (/health/ready): Prüft, ob Anfragen angenommen werden können (inkl. Datenbankverbindung)
30 changes: 30 additions & 0 deletions whisperservicev2/i18n/es-ES/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
metadata:
title: Whisper API
description: Servicio FastAPI sobre WhisperX
spec:
fullDescription: |
La API whisperX es una herramienta para mejorar y analizar contenido de audio. Esta API ofrece un conjunto de servicios para procesar archivos de audio y vídeo, incluyendo transcripción, alineación, diarización y combinación de transcripción con resultados de diarización.

Servicios disponibles
**Speech-to-Text (/speech-to-text)**
- Sube archivos de audio/vídeo para transcripción
- Admite varios idiomas y modelos Whisper

**Speech-to-Text URL (/speech-to-text-url)**
- Transcribe audio/vídeo desde URLs
- Las mismas funciones que la carga directa

**Servicios individuales:**
- Transcribe (/service/transcribe): convierte voz a texto
- Align (/service/align): alinea la transcripción con el audio
- Diarize (/service/diarize): diarización de hablantes
- Combine (/service/combine): fusiona transcripción con diarización

**Gestión de tareas:**
- Obtener todas las tareas (/task/all)
- Obtener estado de tarea (/task/{identifier})

**Endpoints de health check:**
- Health check básico (/health): comprobación simple del estado
- Liveness probe (/health/live): verifica si la aplicación está en ejecución
- Readiness probe (/health/ready): comprueba si puede aceptar peticiones (incluye conectividad a la base de datos)
30 changes: 30 additions & 0 deletions whisperservicev2/i18n/fr-FR/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
metadata:
title: Whisper API
description: Service FastAPI basé sur WhisperX
spec:
fullDescription: |
L'API whisperX est un outil pour améliorer et analyser le contenu audio. Cette API fournit une suite de services pour traiter des fichiers audio et vidéo, incluant transcription, alignement, diarisation et combinaison de la transcription avec les résultats de diarisation.

Services disponibles
**Speech-to-Text (/speech-to-text)**
- Téléversez des fichiers audio/vidéo pour transcription
- Prend en charge plusieurs langues et modèles Whisper

**Speech-to-Text URL (/speech-to-text-url)**
- Transcrivez audio/vidéo depuis des URL
- Mêmes fonctionnalités que le téléversement direct

**Services individuels :**
- Transcribe (/service/transcribe) : convertir la parole en texte
- Align (/service/align) : aligner la transcription avec l'audio
- Diarize (/service/diarize) : diarisation des locuteurs
- Combine (/service/combine) : fusionner transcription et diarisation

**Gestion des tâches :**
- Obtenir toutes les tâches (/task/all)
- Obtenir le statut d'une tâche (/task/{identifier})

**Endpoints de health check :**
- Health check de base (/health) : vérification simple de l'état
- Liveness probe (/health/live) : vérifie si l'application tourne
- Readiness probe (/health/ready) : vérifie si elle peut accepter des requêtes (inclut la connectivité base de données)
30 changes: 30 additions & 0 deletions whisperservicev2/i18n/it-IT/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
metadata:
title: Whisper API
description: Servizio FastAPI basato su WhisperX
spec:
fullDescription: |
L'API whisperX è uno strumento per migliorare e analizzare contenuti audio. Questa API fornisce una suite di servizi per elaborare file audio e video, tra cui trascrizione, allineamento, diarizzazione e combinazione di trascrizione con risultati di diarizzazione.

Servizi disponibili
**Speech-to-Text (/speech-to-text)**
- Carica file audio/video per la trascrizione
- Supporta più lingue e modelli Whisper

**Speech-to-Text URL (/speech-to-text-url)**
- Trascrivi audio/video da URL
- Stesse funzionalità del caricamento diretto

**Servizi singoli:**
- Transcribe (/service/transcribe): converte il parlato in testo
- Align (/service/align): allinea la trascrizione con l'audio
- Diarize (/service/diarize): diarizzazione degli speaker
- Combine (/service/combine): unisce trascrizione e diarizzazione

**Gestione task:**
- Ottieni tutti i task (/task/all)
- Ottieni stato del task (/task/{identifier})

**Endpoint health check:**
- Health check di base (/health): controllo semplice dello stato
- Liveness probe (/health/live): verifica se l'applicazione è in esecuzione
- Readiness probe (/health/ready): verifica se è pronta ad accettare richieste (include controllo connettività database)
30 changes: 30 additions & 0 deletions whisperservicev2/i18n/ja-JP/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
metadata:
title: Whisper API
description: WhisperX 上の FastAPI サービス
spec:
fullDescription: |
whisperX API は音声コンテンツの強化と分析のためのツールです。文字起こし、アライメント、話者分離、文字起こしと話者分離結果の結合など、音声・動画ファイル処理の一連のサービスを提供します。

利用可能なサービス
**Speech-to-Text (/speech-to-text)**
- 文字起こし用に音声/動画ファイルをアップロード
- 複数言語と Whisper モデルに対応

**Speech-to-Text URL (/speech-to-text-url)**
- URL から音声/動画を文字起こし
- 直接アップロードと同じ機能

**個別サービス:**
- Transcribe (/service/transcribe): 音声をテキストに変換
- Align (/service/align): 文字起こしを音声に整列
- Diarize (/service/diarize): 話者分離
- Combine (/service/combine): 文字起こしと話者分離を結合

**タスク管理:**
- 全タスク取得 (/task/all)
- タスク状態取得 (/task/{identifier})

**ヘルスチェックエンドポイント:**
- 基本ヘルスチェック (/health): 簡易ステータス確認
- Liveness probe (/health/live): アプリケーション稼働の確認
- Readiness probe (/health/ready): リクエスト受付可否の確認(データベース接続含む)
2 changes: 1 addition & 1 deletion whisperservicev2/owners
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ owners:
- 'pengpeng'
- 'harveyff'
- 'zdf-org'
- 'aby913'
- 'aby913'
2 changes: 1 addition & 1 deletion whisperservicev2/whisperservicev2/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
apiVersion: v2
appVersion: '1.25.3-2'
appVersion: '1.29.2.5'
description: description
name: whisperservicev2
type: application
Expand Down
36 changes: 26 additions & 10 deletions whisperservicev2/whisperservicev2/templates/clientproxy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,19 @@ data:
}

server {

client_body_temp_path /tmp/client_body;

proxy_temp_path /tmp/proxy;

fastcgi_temp_path /tmp/fastcgi;

uwsgi_temp_path /tmp/uwsgi;

scgi_temp_path /tmp/scgi;
listen 8080;
access_log /opt/bitnami/openresty/nginx/logs/access.log;
error_log /opt/bitnami/openresty/nginx/logs/error.log;
access_log /dev/stdout;
error_log /dev/stderr;

location /config {
proxy_pass http://whisperservice-svc.whisperservicev2server-shared:8000;
Expand Down Expand Up @@ -95,15 +105,22 @@ spec:
items:
- key: nginx.conf
path: nginx.conf
- name: nginx-runtime
emptyDir: {}
containers:
- name: nginx
image: "docker.io/beclab/aboveos-bitnami-openresty:1.25.3-2"
image: "docker.io/openresty/openresty:1.29.2.5-bookworm-fat"
command:
- /usr/local/openresty/bin/openresty
args:
- -g
- "daemon off; pid /tmp/nginx.pid;"
securityContext:
runAsUser: 1000
runAsGroup: 1000
ports:
- containerPort: 8080
protocol: TCP
env:
- name: OPENRESTY_CONF_FILE
value: /etc/nginx/nginx.conf
readinessProbe:
exec:
command:
Expand All @@ -126,11 +143,10 @@ spec:
memory: 64Mi
volumeMounts:
- name: nginx-config
mountPath: /etc/nginx/nginx.conf
subPath: nginx.conf
- name: nginx-config
mountPath: /opt/bitnami/openresty/nginx/conf/server_blocks/nginx.conf
mountPath: /etc/nginx/conf.d/default.conf
subPath: nginx.conf
- name: nginx-runtime
mountPath: /var/run/openresty

---
apiVersion: v1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ spec:
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Release.Name }}-download-models
name: {{ .Release.Name }}-download-models-{{ .Release.Revision }}
namespace: {{ .Release.Namespace }}
labels:
app: {{ .Release.Name }}-downloadmodels
Expand All @@ -92,6 +92,9 @@ spec:
metadata:
labels:
app: {{ .Release.Name }}-downloadmodels
gateway.olares.io/shared-caller-outbound: "false"
annotations:
linkerd.io/inject: disabled
spec:
containers:
- name: {{ .Release.Name }}-downloadmodels
Expand Down