Livrare LOT 1 - Didi
This commit is contained in:
commit
5380c3fc63
990 changed files with 133308 additions and 0 deletions
95
ai_platform/modules/audio/deploy/docker-compose.yml
Normal file
95
ai_platform/modules/audio/deploy/docker-compose.yml
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
# Audio Module - Docker Compose Configuration
|
||||
#
|
||||
# Port Allocation (Dev AI Audio: 54300):
|
||||
# 54300 - Audio API (Whisper STT service)
|
||||
#
|
||||
# Profiles:
|
||||
# api - API server only
|
||||
#
|
||||
# Required environment variables (set in deploy/.env file):
|
||||
# AUDIO_MODEL - Whisper model name (e.g., large-v3-turbo)
|
||||
# AUDIO_DEVICE - Device: cuda or cpu
|
||||
# AUDIO_COMPUTE_TYPE - Compute type: int8, float16, int8_float16
|
||||
# AUDIO_CACHE_DIR - Model cache directory
|
||||
#
|
||||
# GPU Configuration:
|
||||
# - Runs on GPU 0 (shared with Qwen3.5-35B-A3B)
|
||||
# - Requires ~6GB VRAM for large-v3-turbo with int8
|
||||
#
|
||||
# Naming Convention: didiAI-{module}-{service}
|
||||
#
|
||||
# Network:
|
||||
# Uses deploy_default network (shared with other modules)
|
||||
|
||||
networks:
|
||||
deploy_default:
|
||||
external: true
|
||||
|
||||
services:
|
||||
# ==========================================================================
|
||||
# Audio Transcription API Server
|
||||
# ==========================================================================
|
||||
audio-api:
|
||||
container_name: didiAI-audio-api
|
||||
image: didiai-audio-api
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: deploy/Dockerfile
|
||||
|
||||
ports:
|
||||
- "54300:54300"
|
||||
networks:
|
||||
- deploy_default
|
||||
|
||||
environment:
|
||||
# GPU configuration
|
||||
- CUDA_VISIBLE_DEVICES=0
|
||||
|
||||
# External URL for OpenAPI spec (REQUIRED)
|
||||
- AUDIO_EXTERNAL_URL=${AUDIO_EXTERNAL_URL}
|
||||
|
||||
# Whisper model configuration
|
||||
- AUDIO_MODEL=${AUDIO_MODEL:-large-v3-turbo}
|
||||
- AUDIO_DEVICE=${AUDIO_DEVICE:-cuda}
|
||||
- AUDIO_COMPUTE_TYPE=${AUDIO_COMPUTE_TYPE:-int8}
|
||||
- AUDIO_CACHE_DIR=${AUDIO_CACHE_DIR:-/root/.cache/huggingface}
|
||||
|
||||
# Transcription settings
|
||||
- AUDIO_BEAM_SIZE=${AUDIO_BEAM_SIZE:-5}
|
||||
- AUDIO_BEST_OF=${AUDIO_BEST_OF:-5}
|
||||
- AUDIO_TEMPERATURE=${AUDIO_TEMPERATURE:-0.0}
|
||||
|
||||
# Server settings
|
||||
- AUDIO_HOST=0.0.0.0
|
||||
- AUDIO_PORT=54300
|
||||
- AUDIO_LOG_LEVEL=${AUDIO_LOG_LEVEL:-INFO}
|
||||
|
||||
# Runtime config polling
|
||||
- AUDIO_DASHBOARD_URL=${AUDIO_DASHBOARD_URL:-http://didiAI-dashboard:51300}
|
||||
|
||||
# Upload limits
|
||||
- AUDIO_MAX_FILE_SIZE_MB=${AUDIO_MAX_FILE_SIZE_MB:-500}
|
||||
|
||||
volumes:
|
||||
# Model cache (shared with other modules)
|
||||
- ${AUDIO_CACHE_DIR:-/root/.cache/huggingface}:/root/.cache/huggingface
|
||||
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
device_ids: ['0']
|
||||
capabilities: [gpu]
|
||||
|
||||
healthcheck:
|
||||
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:54300/health')"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
|
||||
restart: unless-stopped
|
||||
profiles:
|
||||
- api
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue