From d9af043b80aed0435fc6acb58a19ea577e6707c0 Mon Sep 17 00:00:00 2001 From: Haro Date: Tue, 15 Sep 2026 07:25:10 +0000 Subject: [PATCH] [UPDATE][whisperservicev2][1.0.14] --- whisperservicev2/Chart.yaml | 2 +- whisperservicev2/OlaresManifest.yaml | 10 +++++- .../i18n/de-DE/OlaresManifest.yaml | 30 ++++++++++++++++ .../i18n/es-ES/OlaresManifest.yaml | 30 ++++++++++++++++ .../i18n/fr-FR/OlaresManifest.yaml | 30 ++++++++++++++++ .../i18n/it-IT/OlaresManifest.yaml | 30 ++++++++++++++++ .../i18n/ja-JP/OlaresManifest.yaml | 30 ++++++++++++++++ whisperservicev2/owners | 2 +- whisperservicev2/whisperservicev2/Chart.yaml | 2 +- .../templates/clientproxy.yaml | 36 +++++++++++++------ .../templates/deployment.yaml | 5 ++- 11 files changed, 192 insertions(+), 15 deletions(-) create mode 100644 whisperservicev2/i18n/de-DE/OlaresManifest.yaml create mode 100644 whisperservicev2/i18n/es-ES/OlaresManifest.yaml create mode 100644 whisperservicev2/i18n/fr-FR/OlaresManifest.yaml create mode 100644 whisperservicev2/i18n/it-IT/OlaresManifest.yaml create mode 100644 whisperservicev2/i18n/ja-JP/OlaresManifest.yaml diff --git a/whisperservicev2/Chart.yaml b/whisperservicev2/Chart.yaml index c15d88cd9..62eb651c9 100644 --- a/whisperservicev2/Chart.yaml +++ b/whisperservicev2/Chart.yaml @@ -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 \ No newline at end of file diff --git a/whisperservicev2/OlaresManifest.yaml b/whisperservicev2/OlaresManifest.yaml index 80ec3b671..bbefb260a 100644 --- a/whisperservicev2/OlaresManifest.yaml +++ b/whisperservicev2/OlaresManifest.yaml @@ -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 @@ -62,6 +62,9 @@ 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 @@ -69,6 +72,11 @@ spec: 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 diff --git a/whisperservicev2/i18n/de-DE/OlaresManifest.yaml b/whisperservicev2/i18n/de-DE/OlaresManifest.yaml new file mode 100644 index 000000000..7d77e622f --- /dev/null +++ b/whisperservicev2/i18n/de-DE/OlaresManifest.yaml @@ -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) diff --git a/whisperservicev2/i18n/es-ES/OlaresManifest.yaml b/whisperservicev2/i18n/es-ES/OlaresManifest.yaml new file mode 100644 index 000000000..8028d001e --- /dev/null +++ b/whisperservicev2/i18n/es-ES/OlaresManifest.yaml @@ -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) diff --git a/whisperservicev2/i18n/fr-FR/OlaresManifest.yaml b/whisperservicev2/i18n/fr-FR/OlaresManifest.yaml new file mode 100644 index 000000000..bbbf24b39 --- /dev/null +++ b/whisperservicev2/i18n/fr-FR/OlaresManifest.yaml @@ -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) diff --git a/whisperservicev2/i18n/it-IT/OlaresManifest.yaml b/whisperservicev2/i18n/it-IT/OlaresManifest.yaml new file mode 100644 index 000000000..58990c564 --- /dev/null +++ b/whisperservicev2/i18n/it-IT/OlaresManifest.yaml @@ -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) diff --git a/whisperservicev2/i18n/ja-JP/OlaresManifest.yaml b/whisperservicev2/i18n/ja-JP/OlaresManifest.yaml new file mode 100644 index 000000000..748ae6cb7 --- /dev/null +++ b/whisperservicev2/i18n/ja-JP/OlaresManifest.yaml @@ -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): リクエスト受付可否の確認(データベース接続含む) diff --git a/whisperservicev2/owners b/whisperservicev2/owners index 9901ec017..e50f52b04 100644 --- a/whisperservicev2/owners +++ b/whisperservicev2/owners @@ -4,4 +4,4 @@ owners: - 'pengpeng' - 'harveyff' - 'zdf-org' -- 'aby913' +- 'aby913' \ No newline at end of file diff --git a/whisperservicev2/whisperservicev2/Chart.yaml b/whisperservicev2/whisperservicev2/Chart.yaml index e5076877d..1bc72e3be 100644 --- a/whisperservicev2/whisperservicev2/Chart.yaml +++ b/whisperservicev2/whisperservicev2/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: '1.25.3-2' +appVersion: '1.29.2.5' description: description name: whisperservicev2 type: application diff --git a/whisperservicev2/whisperservicev2/templates/clientproxy.yaml b/whisperservicev2/whisperservicev2/templates/clientproxy.yaml index f44e88e26..e69d2c3a3 100644 --- a/whisperservicev2/whisperservicev2/templates/clientproxy.yaml +++ b/whisperservicev2/whisperservicev2/templates/clientproxy.yaml @@ -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; @@ -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: @@ -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 diff --git a/whisperservicev2/whisperservicev2server/templates/deployment.yaml b/whisperservicev2/whisperservicev2server/templates/deployment.yaml index 2225fcbaf..1053c5be2 100644 --- a/whisperservicev2/whisperservicev2server/templates/deployment.yaml +++ b/whisperservicev2/whisperservicev2server/templates/deployment.yaml @@ -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 @@ -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