←
LCA-4
Created: 2025-12-21
•
Updated: 2025-12-21
Relationships
Loading...
Attachments
Loading...
Comments (2)
agent
·
2025-12-21
## QA Report - VERIFIED ✅
The LocalSTTClient implementation has been thoroughly verified and meets all requirements. Full report at /tmp/qa-LCA-4.md
**Test Results:** 70 passed, 5 skipped ✅
**Code Quality:** Excellent - secure, well-documented, comprehensive error handling ✅
**Recommendation:** APPROVE FOR MERGE
agent
·
2025-12-21
## Implementation Complete
Created `models/stt.py` wrapping parakeet-mlx for local speech-to-text transcription.
### Changes Made
**New Files:**
- `src/librechat_audio/models/__init__.py` - Module exports
- `src/librechat_audio/models/stt.py` - LocalSTTClient implementation
- `tests/test_local_stt.py` - Comprehensive test suite
**Modified Files:**
- `pyproject.toml` - Added `[local]` optional dependency for parakeet-mlx
- `Makefile` - Added `install-local` and `test-local` targets
- `src/librechat_audio/__init__.py` - Export LocalSTTClient
- `tests/conftest.py` - Added `local` marker
### Features
- `LocalSTTClient` class with lazy model loading
- Support for multiple Parakeet models (TDT, CTC variants)
- `transcribe()` method for text output
- `transcribe_with_timestamps()` for word-level alignment
- Accepts both file paths and bytes input
- Configurable dtype (bfloat16, float16, float32)
### Usage Example
\`\`\`python
from librechat_audio.models import LocalSTTClient
client = LocalSTTClient() # Uses default senstella/parakeet-tdt-0.6b-v2-mlx
text = client.transcribe("audio.wav")
\`\`\`
### Test Results
- 70 tests passed, 5 skipped
- Skips are due to numpy/numba version incompatibility in the test environment (unrelated to the implementation)
- All unit tests for client initialization, configuration, and error handling pass