feat(api): add OpenAI-compatible ASR transcription endpoint

- Implement POST /audio/transcriptions and /v1/audio/transcriptions
  endpoints for automatic speech recognition
- Add support for multipart/form-data audio file uploads
- Support multiple audio formats (wav, mp3, m4a, etc.)
- Implement language detection with 29 supported languages
- Return transcription text in OpenAI-compatible JSON format
- Add proper error handling and validation
- Include comprehensive tests for ASR functionality

refactor(api): restructure API modules and export MODEL

- Move API declarations to src/api/mod.rs
- Add ASR module and type definitions
- Export MODEL static for use in ASR module
- Mount ASR routes at both /audio and /v1/audio endpoints
This commit is contained in:
XiaoYang
2026-03-06 11:38:24 +08:00
parent 14ecd4676c
commit 63a89b0c96
6 changed files with 398 additions and 4 deletions
+8
View File
@@ -14,6 +14,14 @@ build_mac:
@echo "Building project for macOS..."
@cargo build --features metal --release
build_mac_universal:
@echo "Building universal binary for macOS..."
@cargo build --features metal --release --target aarch64-apple-darwin
@cargo build --features metal --release --target x86_64-apple-darwin
@mkdir -p target/universal/release
@lipo -create target/aarch64-apple-darwin/release/aha target/x86_64-apple-darwin/release/aha -output target/universal/release/aha
test:
@echo "Running tests..."
@cargo test