From e8b10ea10b2e08d589707ec6cd6bf534aa282cdf Mon Sep 17 00:00:00 2001 From: The BROKE Cluster Team Date: Fri, 23 Jan 2026 20:20:59 +0100 Subject: [PATCH] Release 2.0.4-beta.8: Audio transcription support (experimental) Audio input via --audio flag (CLI) and input_audio content type (Server API). Uses mlx-vlm native audio processing. ~30s duration limit (model constraint). Currently only Gemma-3n tested (requires --repair-index fix). Also includes: - SERVER-HANDBOOK compliance (image limits, validation error envelopes) - Dependency updates: mlx>=0.30.0, mlx-lm>=0.30.0, huggingface-hub>=1.0.0 - Audio E2E test suite + ADR-019 --- .gitignore | 5 +- CHANGELOG.md | 34 ++ README.md | 77 +++- TESTING-DETAILS.md | 70 +++- docs/ADR/ADR-019-Audio-Input-Support.md | 256 ++++++++++++ docs/SERVER-HANDBOOK.md | 381 +++++++++++++++--- docs/json-api-schema.json | 7 +- docs/json-api-specification.md | 34 +- mlxk2/cli.py | 50 ++- mlxk2/core/capabilities.py | 42 +- mlxk2/core/server_base.py | 151 +++++-- mlxk2/core/vision_runner.py | 40 +- mlxk2/errors.py | 2 + mlxk2/operations/common.py | 48 ++- mlxk2/operations/run.py | 35 +- mlxk2/output/human.py | 7 + mlxk2/spec.py | 2 +- mlxk2/tools/vision_adapter.py | 164 ++++++-- pyproject.toml | 8 +- ...A MAN SAID TO THE UNIVERSE SIR I EXIST.mp3 | Bin 0 -> 29672 bytes ...A MAN SAID TO THE UNIVERSE SIR I EXIST.wav | Bin 0 -> 148844 bytes .../HAVING RETURNED TO THE ROYAL CAVERN.mp3 | Bin 0 -> 90764 bytes .../HAVING RETURNED TO THE ROYAL CAVERN.txt | 1 + .../HAVING RETURNED TO THE ROYAL CAVERN.wav | Bin 0 -> 463084 bytes tests_2.0/assets/audio/sources.txt | 11 + tests_2.0/live/conftest.py | 91 +++++ tests_2.0/live/test_audio_e2e_live.py | 223 ++++++++++ tests_2.0/live/test_utils.py | 83 ++++ tests_2.0/test_audio_cli.py | 120 ++++++ tests_2.0/test_capabilities.py | 54 +++ tests_2.0/test_server_audio.py | 318 +++++++++++++++ tests_2.0/test_server_models_and_errors.py | 38 ++ tests_2.0/test_vision_adapter.py | 191 ++++++++- 33 files changed, 2346 insertions(+), 197 deletions(-) create mode 100644 docs/ADR/ADR-019-Audio-Input-Support.md create mode 100644 tests_2.0/assets/audio/A MAN SAID TO THE UNIVERSE SIR I EXIST.mp3 create mode 100644 tests_2.0/assets/audio/A MAN SAID TO THE UNIVERSE SIR I EXIST.wav create mode 100644 tests_2.0/assets/audio/HAVING RETURNED TO THE ROYAL CAVERN.mp3 create mode 100644 tests_2.0/assets/audio/HAVING RETURNED TO THE ROYAL CAVERN.txt create mode 100644 tests_2.0/assets/audio/HAVING RETURNED TO THE ROYAL CAVERN.wav create mode 100644 tests_2.0/assets/audio/sources.txt create mode 100644 tests_2.0/live/test_audio_e2e_live.py create mode 100644 tests_2.0/test_audio_cli.py create mode 100644 tests_2.0/test_server_audio.py diff --git a/.gitignore b/.gitignore index 924e523..187933f 100644 --- a/.gitignore +++ b/.gitignore @@ -23,13 +23,16 @@ server.log install_*.log .gitignore docs/ISSUES/ +docs/reviews/ # Test artifacts (generated reports) *_report.json test-img-collection/ small-img-collection benchmarks/reports/*.html +benchmarks/reports/2025-12*.jsonl +benchmarks/reports/2026-0[12]*.jsonl # Benchmark reports (ADR-013 Phase 0) # These reports ARE tracked in git for historical data -!benchmarks/reports/*.jsonl \ No newline at end of file +#!benchmarks/reports/*.jsonl diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f4e294..cbf82e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,39 @@ # Changelog +## [2.0.4-beta.8] - 2026-01-23 + +### Highlights + +**Audio Input Support (Experimental):** Full audio transcription pipeline for audio-capable models. CLI `--audio` flag and OpenAI-compatible Server API (`input_audio` format). Uses mlx-vlm's native audio processing with ~30 second duration limit (model architecture constraint). Currently only Gemma-3n tested; requires `--repair-index` fix (mlx-vlm #624). + +### Added + +- **Audio Capability Detection:** `list` and `show` display `[audio]` tag for audio-capable models +- **CLI `--audio` Parameter:** `mlxk run model "prompt" --audio file.wav` (WAV/MP3 supported) +- **Server Audio API:** OpenAI-compatible `input_audio` content type for `/v1/chat/completions` + - Format: `{"type": "input_audio", "input_audio": {"data": "", "format": "wav"}}` + - Supported formats: WAV, MP3 + - Temperature default: 0.0 for audio (greedy sampling reduces hallucination) +- **Audio E2E Tests:** Portfolio-based transcription tests with deterministic audio clips (ADR-019) + +### Changed + +- **Dependency Updates:** + - `mlx>=0.30.0` (was 0.29.0) - MXFP4/NVFP4 support + - `mlx-lm>=0.30.0` (was 0.28.4) + - `huggingface-hub>=1.0.0` (was <1.0) - transformers 5.x compatibility + - `mlx-vlm` upstream update: fc8c92e → 5812270 (audio support) + +- **SERVER-HANDBOOK Compliance:** + - Image limits enforced: max 5 images per request, max 50MB total + - Multi-audio blocked with clear error (mlx-vlm limitation) + - Audio+Vision combined: Audio silently ignored (single modality per request) + - `chunk=1` explicitly respected (was defaulting to env var) + - 422 validation errors now return ADR-004 envelope format + - 501 NOT_IMPLEMENTED error type added for unsupported features + +--- + ## [2.0.4-beta.7] - 2026-01-18 ### Highlights diff --git a/README.md b/README.md index 84fe160..1acef80 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ MLX Knife Demo

-**Current Version: 2.0.4-beta.7** (Stable: 2.0.3) +**Current Version: 2.0.4-beta.8** (Stable: 2.0.3) -[![GitHub Release](https://img.shields.io/badge/version-2.0.4--beta.7-blue.svg)](https://github.com/mzau/mlx-knife/releases) +[![GitHub Release](https://img.shields.io/badge/version-2.0.4--beta.8-blue.svg)](https://github.com/mzau/mlx-knife/releases) [![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0) [![Python 3.9+](https://img.shields.io/badge/python-3.10+(3.9)-blue.svg)](https://www.python.org/downloads/) [![Apple Silicon](https://img.shields.io/badge/Apple%20Silicon-green.svg)](https://support.apple.com/en-us/HT211814) @@ -18,6 +18,7 @@ ## Features ### What's New in 2.0.4 (Coming Soon - Currently Beta) +- **Audio Transcription (Experimental)** - Speech-to-text via `--audio` flag (CLI + Server API) - **Vision Models with EXIF Metadata** - Image analysis + automatic GPS/date/camera extraction visible to the model - **Unix Pipe Integration** - Chain models without temp files (`vision → text` workflows) - **Local Development Workflow** - Clone → Repair → Test models without HuggingFace round-trips @@ -76,7 +77,7 @@ This license applies **only** to the `mlx-knife` code and **does not extend** to MLX Knife has been comprehensively tested and verified on: ✅ **Python 3.9.6 - 3.14** - Text LLMs fully supported (mlx-lm 0.28.4+) -✅ **Python 3.10 - 3.14** - Vision models supported (mlx-vlm 0.3.9+; beta.7 uses commit fc8c92e31983a52761f37d503f903ec40bebbd62 with MXFP4 support) +✅ **Python 3.10 - 3.14** - Vision models supported (mlx-vlm 0.3.9+; beta.8 uses commit 5812270 with audio + MXFP4 support) **Note:** Vision features require Python 3.10+. Native macOS Python 3.9.6 users need to upgrade (e.g., via Homebrew). @@ -106,17 +107,17 @@ mlxk --version # → mlxk 2.0.3 (latest stable on PyPI) ### Via GitHub (Latest Beta) ```bash -# Install 2.0.4-beta.7 (Workspace discovery + Server robustness) -pip install "git+https://github.com/mzau/mlx-knife.git@v2.0.4-beta.7" +# Install 2.0.4-beta.8 (Audio transcription + Server enhancements) +pip install "git+https://github.com/mzau/mlx-knife.git@v2.0.4-beta.8" # With Vision support (Python 3.10+ required) -pip install "git+https://github.com/mzau/mlx-knife.git@v2.0.4-beta.7#egg=mlx-knife[vision]" +pip install "git+https://github.com/mzau/mlx-knife.git@v2.0.4-beta.8#egg=mlx-knife[vision]" # Verify installation -mlxk --version # → mlxk 2.0.4b7 +mlxk --version # → mlxk 2.0.4b8 ``` -**Beta.7 note:** Uses mlx-vlm commit fc8c92e (includes MXFP4 quantization support). The `[vision]` extra automatically installs the correct version. +**Beta.8 note:** Uses mlx-vlm commit 5812270 (includes audio support + MXFP4 quantization). The `[vision]` extra automatically installs the correct version. **For production use:** Wait for 2.0.4 stable on PyPI (requires mlx-vlm 0.3.10 release). @@ -134,7 +135,7 @@ pip install -e ".[dev,test]" pip install -e ".[dev,test,vision]" # Verify installation -mlxk --version # → mlxk 2.0.4b7 +mlxk --version # → mlxk 2.0.4b8 # Run tests and quality checks (before committing) pytest -v @@ -210,7 +211,7 @@ mlxk run "Phi-4" "Hello" # Fuzzy match mlxk show "Qwen3@e96" --json # Specific version ``` -### Local Paths (2.0.4-beta.7+) +### Local Paths (2.0.4-beta.6+) | Format | Example | |--------|---------| @@ -240,7 +241,7 @@ mlxk run ./fixed "Test" --- -## Workspace Development Workflow (2.0.4-beta.7+) +## Workspace Development Workflow (2.0.4-beta.6+) **Complete local development cycle** for model experimentation, repair, and testing without HuggingFace round-trips: @@ -310,8 +311,8 @@ Image analysis via the `--image` flag (CLI and server). Requires Python 3.10+. - **Python 3.10+** (mlx-vlm dependency) - **Installation:** `pip install mlx-knife[vision]` -- **Backend:** mlx-vlm commit c536165df2b3b4aece3a795b2e414349f935e750 (auto-installed) -- **Beta.4 note:** The `[vision]` extra automatically installs mlx-vlm from git with the Pixtral pad_token fix. Will switch to PyPI v0.3.10 when released. +- **Backend:** mlx-vlm commit 5812270 (audio + MXFP4 support, auto-installed) +- **Beta.8 note:** The `[vision]` extra automatically installs mlx-vlm from git with audio support. Will switch to PyPI v0.3.10 when released. #### Usage @@ -475,6 +476,54 @@ mlxk convert --repair-index **Reporting Issues:** If you encounter vision model failures, please report with model name and error message to help improve compatibility tracking. +### Audio Model Compatibility + +> **🧪 Experimental:** Audio support is new in v2.0.4-beta.8. Currently only Gemma-3n tested. + +**✅ Tested & Working Models** (mlx-knife v2.0.4-beta.8): + +| Model | Size | Notes | +|-------|------|-------| +| `gemma-3n-E2B-it-4bit` | ~2.1GB | Requires workspace repair workflow (see below) | + +**⚠️ Setup Required:** The mlx-community model has an index mismatch (mlx-vlm #624). Prepare once: + +```bash +MLXK2_ENABLE_ALPHA_FEATURES=1 +mlxk clone mlx-community/gemma-3n-E2B-it-4bit ./gemma-3n-audio +mlxk convert ./gemma-3n-audio ./gemma-3n-audio-FIXED --repair-index +mlxk run ./gemma-3n-audio-FIXED --audio test.wav # Now works +``` + +**⚙️ Audio-Specific Defaults:** + +| Setting | Audio Default | Text/Vision Default | Reason | +|---------|---------------|---------------------|--------| +| Temperature | 0.2 | 0.7 | Reduces multilingual drift on 4-bit models | +| Default Prompt | "Transcribe this audio." | - | Simple prompt reduces multilingual drift | + +**⚠️ Known Limitations:** + +| Limitation | Details | Workaround | +|------------|---------|------------| +| **Duration limit** | ~30 seconds max (Gemma-3n model constraint: 188 tokens at 6.25 tokens/sec) | Split longer recordings | +| File size | 5MB limit | Split larger files | +| Multi-audio | Not supported (mlx-vlm token mismatch bug) | Process one file at a time | +| Audio+Vision combined | Audio silently ignored when images present | Use audio-only or vision-only | +| Phonetic errors | Mishearing observed (e.g., "A man" → "Amen") | Try `--temperature 0` for consistency | +| Format support | WAV confirmed; other formats untested | Convert to WAV | + +**💡 Tips for Best Results:** + +```bash +# After workspace setup (see above): +# Explicit transcription with greedy sampling for consistency +mlxk run ./gemma-3n-audio-FIXED --audio speech.wav --temperature 0 + +# Default settings (temperature 0.2, simple prompt) +mlxk run ./gemma-3n-audio-FIXED --audio speech.wav +``` + ## JSON API @@ -1182,7 +1231,7 @@ Apache License 2.0 — see `LICENSE` (root) and `mlxk2/NOTICE`.

Made with ❤️ by The BROKE team BROKE Logo
- Version 2.0.4-beta.7 | January 2026
+ Version 2.0.4-beta.8 | January 2026
💬 Web UI: nChat - lightweight chat interface🔮 Multi-node: BROKE Cluster

diff --git a/TESTING-DETAILS.md b/TESTING-DETAILS.md index 6089647..c207412 100644 --- a/TESTING-DETAILS.md +++ b/TESTING-DETAILS.md @@ -36,11 +36,12 @@ Total: 170 passed across all phases ✅ **3-category test strategy** - optimized for performance and safety ✅ **Portfolio Separation** - Text and Vision models tested independently with separate RAM formulas -### Skipped Tests Breakdown (60 total Python 3.10+, 69 total Python 3.9, standard run without HF_HOME) -- **34 Live E2E tests** - Server/HTTP/CLI validation with real models (requires `pytest -m live_e2e`, ADR-011 + Portfolio Separation) +### Skipped Tests Breakdown (64 total Python 3.10+, 73 total Python 3.9, standard run without HF_HOME) +- **38 Live E2E tests** - Server/HTTP/CLI validation with real models (requires `pytest -m live_e2e`, ADR-011 + Portfolio Separation) - **23 Text model tests** - Parametrized across text_portfolio (chat completions batch/streaming) - **3 Vision model tests** - Parametrized across vision_portfolio (multimodal, SSE, text-on-vision) - **5 Vision CLI E2E tests** - Deterministic vision queries (requires vision model in cache, ADR-012) + - **4 Audio CLI E2E tests** - Audio transcription tests parametrized across audio_portfolio (ADR-019) - **3 Non-parametrized tests** - Health, models list, vision→text switching - **4 Live Stop Tokens tests** - Stop token validation with real models (requires `pytest -m live_stop_tokens`, ADR-009) - **3 Live Clone tests** - APFS same-volume clone workflow (requires `MLXK2_LIVE_CLONE=1`) @@ -75,6 +76,7 @@ Total: 170 passed across all phases | Live E2E (ADR-011) | `HF_HOME=/path/to/cache pytest -m live_e2e -v` | `live_e2e` (required) + Env: `HF_HOME` (optional, enables Portfolio Discovery); Requires: `httpx` installed | **✅ Working:** Server/HTTP/CLI validation with real models. Portfolio Discovery auto-discovers all MLX chat models via `mlxk list --json` (filter: MLX+healthy+runtime+chat), parametrized tests (one server per model), RAM-aware skip. | No (uses local cache) | | Vision CLI E2E (ADR-012) | `HF_HOME=/path/to/cache pytest -m live_e2e tests_2.0/live/test_vision_e2e_live.py -v` | `live_e2e` (required) + Env: `HF_HOME` (vision model in cache, e.g., pixtral-12b-8bit or Llama-3.2-Vision); Requires: `mlx-vlm` installed (Python 3.10+) | **✅ Working:** Deterministic vision queries validate actual image understanding (not hallucination). Tests: chess position reading (e6=black king), OCR text extraction (contract name), color recognition (blue mug), chart label reading (Y-axis), large image support (2.7MB). | No (uses local cache) | | Vision Server E2E (ADR-012 Phase 3) | `HF_HOME=/path/to/cache pytest -m live_e2e tests_2.0/live/test_vision_server_e2e.py -v` | `live_e2e` (required) + Env: `HF_HOME` (vision model in cache); Requires: `mlx-vlm` installed (Python 3.10+), `httpx` | **✅ Working:** Vision API over HTTP. Tests: Base64 image chat completion, streaming graceful degradation (SSE emulation), text request on vision model server. | No (uses local cache) | +| Audio CLI E2E (ADR-019) | `HF_HOME=/path/to/cache pytest -m live_e2e tests_2.0/live/test_audio_e2e_live.py -v` | `live_e2e` (required) + Env: `HF_HOME` (audio model in cache, e.g., gemma-3n); Requires: `mlx-vlm` installed (Python 3.10+) | **✅ Working:** Audio transcription with real models. Portfolio Discovery auto-discovers audio-capable models. Tests: WAV transcription (short/long), MP3 format support, output validation. Known limitation: ~30s audio duration (Gemma-3n architecture). | No (uses local cache) | | Resumable Pull | `MLXK2_TEST_RESUMABLE_DOWNLOAD=1 pytest -m live_pull tests_2.0/test_resumable_pull.py -v` | `live_pull` (required) + Env: `MLXK2_TEST_RESUMABLE_DOWNLOAD=1` (opt-in for network test) | **✅ Working:** Real network download with controlled interruption (45s timer). Tests unhealthy detection → `requires_confirmation` status → resume with `force_resume=True` → final health check. Validates resumable pull feature (interrupted downloads can be resumed). Uses isolated cache (no impact on user cache). | Yes (HuggingFace download) | | Show E2E portfolios | `HF_HOME=/path/to/cache python tests_2.0/show_portfolios.py` OR `pytest -m show_model_portfolio -s` | Env: `HF_HOME` | Displays TEXT and VISION portfolios separately. Shows model keys (text_XX, vision_XX), RAM requirements, and test/skip status. Diagnostic tool for understanding portfolio separation. Use script for detailed output, or pytest marker for quick check. | No (uses local cache) | | Manual debug mode | `mlxk run "test prompt" --verbose` | Manual CLI usage with `--verbose` flag | Shows token generation details including multiple EOS token warnings. Use this for manual debugging of model quality issues. Output includes `[DEBUG] Token generation analysis` and `⚠️ WARNING: Multiple EOS tokens detected` for broken models. | No (uses local cache) | @@ -369,6 +371,8 @@ def test_old_style(model_key): # Don't use - shows as "Unknown (legacy)" in rep | `text_model_info` | Text | Access model metadata (size, path) | | `vision_model_key` | Vision | Parametrized vision model tests | | `vision_model_info` | Vision | Access vision model metadata | +| `audio_model_key` | Audio | Parametrized audio model tests | +| `audio_model_info` | Audio | Access audio model metadata | **DEPRECATED Fixtures (do not use in new code):** @@ -381,10 +385,11 @@ def test_old_style(model_key): # Don't use - shows as "Unknown (legacy)" in rep The pytest hooks in `tests_2.0/conftest.py` automatically detect inference modality: -1. **Fixture-based detection:** Tests using `vision_model_key` → `inference_modality: "vision"` -2. **Fixture-based detection:** Tests using `text_model_key` → `inference_modality: "text"` -3. **Explicit override:** Pipe tests can set modality via `request.node.user_properties` -4. **Legacy fallback:** Tests without modality fixtures → `inference_modality: "unknown"` +1. **Fixture-based detection:** Tests using `text_model_key` → `inference_modality: "text"` +2. **Fixture-based detection:** Tests using `vision_model_key` → `inference_modality: "vision"` +3. **Fixture-based detection:** Tests using `audio_model_key` → `inference_modality: "audio"` +4. **Explicit override:** Pipe tests can set modality via `request.node.user_properties` +5. **Legacy fallback:** Tests without modality fixtures → `inference_modality: "unknown"` **Why This Matters:** @@ -1238,6 +1243,52 @@ pytest -m live_e2e --collect-only # Should work without errors - Deterministic test indices (text_XX, vision_XX) replace flaky discovered_XX - Tests validate model-type-specific behavior (e.g., text-only on vision models) +### Audio Portfolio E2E Tests + +**Status:** ✅ Complete (ADR-019, Portfolio Separation) + +**Location:** `tests_2.0/live/test_audio_e2e_live.py` +**Fixture:** `audio_portfolio` (provides audio-capable models) +**Parametrization:** `audio_model_key` (audio_00, audio_01, ...) + +**Test Class: TestAudioTranscription** + +1. **test_transcribe_short_audio_wav[audio_XX]** (parametrized) + - Short audio transcription (~3 seconds) + - Validates: Key semantic content (universe, sir, exist) + - **N tests** (one per audio model in portfolio) + +2. **test_transcribe_longer_audio_wav[audio_XX]** (parametrized) + - Longer audio transcription (~14 seconds) + - Validates: At least 2 keywords from passage (royal, cavern, throne, crown, gong) + - **N tests** (one per audio model in portfolio) + +3. **test_transcribe_mp3_format[audio_XX]** (parametrized) + - MP3 format support validation + - Validates: Key semantic content (universe, sir, exist) - same as WAV test + - **N tests** (one per audio model in portfolio) + +4. **test_audio_output_not_empty[audio_XX]** (parametrized) + - Basic sanity test + - Validates: Output length > 10 characters + - **N tests** (one per audio model in portfolio) + +**RAM Gating:** +- Uses `calculate_vision_model_ram_gb()` (0.70 threshold, no multiplier) +- Audio models go through VisionRunner infrastructure +- Same conservative gate as Vision models + +**Known Limitations (ADR-019):** +- Audio duration limit: ~30 seconds (Gemma-3n architecture constraint) +- Phonetic errors on 4-bit models: "A man" → "Amen" (expected) +- Complex prompts + MP3: Can cause multilingual drift (fixed: simple prompt default) + +**Example:** +```python +# 64GB system → 44.8GB threshold (70%) +# audio_00: gemma-3n-E2B-it-4bit (4.2GB, 6.5%) → ✅ RUN +``` + --- ## Appendix @@ -1398,10 +1449,11 @@ tests_2.0/ │ └── test_spec_version_sync.py # Code/docs version consistency check ├── live/ # Opt-in live tests (markers) │ ├── __init__.py -│ ├── conftest.py # Shared fixtures for live E2E tests (text_portfolio, vision_portfolio, pytest_generate_tests hook) +│ ├── conftest.py # Shared fixtures for live E2E tests (text_portfolio, vision_portfolio, audio_portfolio, pytest_generate_tests hook) │ ├── server_context.py # LocalServer context manager for E2E testing (45s timeout for MLX cleanup) │ ├── sse_parser.py # SSE parsing utilities for streaming validation -│ ├── test_utils.py # Portfolio Discovery (text/vision separation), RAM calculation modularization, RAM gating utilities +│ ├── test_utils.py # Portfolio Discovery (text/vision/audio separation), RAM calculation modularization, RAM gating utilities +│ ├── test_audio_e2e_live.py # Audio CLI E2E tests with real models (ADR-019, 4 transcription tests, parametrized: audio_XX) │ ├── test_cli_e2e.py # CLI integration E2E tests (ADR-011, parametrized) │ ├── test_cli_pipe_live.py # Pipe-mode E2E (stdin '-', JSON interactive error, list→run pipe) using first eligible model │ ├── test_clone_live.py # Live clone flow (requires MLXK2_LIVE_CLONE, HF_TOKEN) @@ -1416,6 +1468,7 @@ tests_2.0/ │ ├── test_vision_server_e2e.py # Vision Server E2E tests with VISION models (ADR-012 Phase 3 + Portfolio Separation, parametrized: vision_XX) │ └── test_vm_stat_parsing.py # vm_stat output parsing validation (macOS memory metrics) ├── test_adr004_error_logging.py # ADR-004 error logging and redaction (tokens, paths) +├── test_audio_cli.py # Audio CLI argument tests (ADR-019 Phase 2, 8 tests: --audio parsing, file validation, capability checks) ├── test_capabilities.py # Probe/Policy architecture (ADR-012, ADR-016, 45 tests) ├── test_cli_log_json_flag.py # CLI --log-json flag behavior and JSON log format ├── test_cli_push_args.py # Push CLI args and JSON error/output handling (offline) @@ -1454,6 +1507,7 @@ tests_2.0/ ├── test_runtime_compatibility_reason_chain.py # Runtime compatibility reason field decision chain (Issue #36) ├── test_server_api_minimal.py # Minimal OpenAI-compatible server endpoints (SSE, JSON) ├── test_server_api.py.disabled # Disabled server API tests (WIP/expanded scenarios) +├── test_server_audio.py # Audio server unit tests (ADR-019 Phase 4, 23 tests: request detection, Base64 decoding, format validation) ├── test_server_models_and_errors.py # Server model loading and error handling ├── test_server_streaming_minimal.py # Server SSE streaming functionality ├── test_server_token_limits_api.py # Server token limit enforcement diff --git a/docs/ADR/ADR-019-Audio-Input-Support.md b/docs/ADR/ADR-019-Audio-Input-Support.md new file mode 100644 index 0000000..0a4d42e --- /dev/null +++ b/docs/ADR/ADR-019-Audio-Input-Support.md @@ -0,0 +1,256 @@ +# ADR-019 — Audio Input Support (via mlx-vlm) + +**Status:** In Progress (Phase 1-3 done, Phase 4 pending) +**Target:** 2.0.4-beta.8 +**Depends on:** mlx-vlm ≥0.3.10 (GitHub only, not yet on PyPI) + +--- + +## Context + +mlx-vlm documents audio input for Omni models in main branch (post-0.3.9): +- **Gemma-3n** (Google): Vision + Audio + Text — explicitly documented in README + +**Not Supported:** +- **Qwen3-Omni** (Alibaba): Architecture `qwen3_omni_moe` not in mlx-lm/mlx-vlm + - See: github.com/ml-explore/mlx-lm/issues/497 + - Community PR #574 is text-only (Audio-Tower removed) + +These models use the same mlx-vlm backend as vision models. +mlx-knife can add audio support with minimal effort. + +**Current State (2026-01-19):** +- mlx-vlm 0.3.10 available on GitHub, not yet on PyPI +- pyproject.toml uses Git URL dependency (blocks PyPI release) +- Audio functionality verified with Gemma-3n + +--- + +## Decision + +Implement audio input via mlx-vlm (Option A from Session 101 discussion). + +### Scope: CLI-first + +| Command | Audio Support | +|---------|---------------| +| `list` | Shows `+audio` in type field | +| `show` | Shows audio capability in details | +| `run` | `--audio file.wav` parameter | +| `health` | Checks audio-capable models | +| `serve` | Phase 4 - pending | + +### Out of Scope + +- STT/Transcription (separate feature via mlx-audio-plus, see Brainstorm ADR) +- TTS/Audio output (Qwen3-Omni can do it, but not exposed) +- stdin audio (`--audio -`) - later +- Audio segments/timestamps (STT feature) + +--- + +## Design + +### CLI Interface + +```bash +# Audio-only (transcription) - uses default prompt and temperature 0.2 +mlxk run gemma-3n-E2B-it-4bit --audio voice.wav + +# With explicit prompt +mlxk run gemma-3n-E2B-it-4bit --audio voice.wav --prompt "Transcribe exactly what is said" + +# Lower temperature for maximum consistency +mlxk run gemma-3n-E2B-it-4bit --audio voice.wav --temperature 0 +``` + +### Capability Detection + +```python +# capabilities.py +AUDIO_MODEL_TYPES = frozenset({ + "gemma3n", # Google Gemma 3n (verified in mlx-vlm README) + # "qwen3_omni_moe", # Alibaba Qwen3-Omni — NOT SUPPORTED (mlx-lm #497) +}) + +# Detection via config.json: +# - model_type in AUDIO_MODEL_TYPES +# - "audio_config" present +``` + +### list/show Output + +``` +$ mlxk list +NAME TYPE HEALTH SIZE +gemma-3n-E2B-it-4bit chat+vision+audio healthy 2.1GB +pixtral-12b-4bit chat+vision healthy 6.8GB +llama-3.2-3b-4bit chat healthy 1.8GB +``` + +### Code Changes (Phase 1-2) + +| File | Change | +|------|--------| +| `cli.py` | `--audio` argument, context-aware temperature default | +| `run.py` | Audio passthrough to VisionRunner, capability checks | +| `vision_runner.py` | `_prepare_audio()`, `audio=` parameter, `num_audios=` | +| `capabilities.py` | `AUDIO_MODEL_TYPES`, `Capability.AUDIO` | +| `common.py` | `detect_audio_capability()` | + +--- + +## Implementation Phases + +### Phase 1: Capability Detection ✅ + +- `AUDIO_MODEL_TYPES` in capabilities.py +- `is_audio` detection in ModelCapabilities (via `audio_config` in config.json) +- `list`/`show` shows audio capability +- Consistent with vision capability display + +### Phase 2: CLI Run ✅ + +- `--audio` argument in cli.py +- VisionRunner audio passthrough +- Error handling (audio without audio-capable model → clear error) +- 5MB file size limit (~2-3 min at 16kHz mono; token count is the real constraint) +- Multi-audio blocked with clear error (mlx-vlm limitation) +- Context-aware temperature default (0.2 for audio, 0.7 for text/vision) +- Default prompt: "Transcribe what is spoken in this audio." + +### Phase 3: Evaluation ✅ + +Tested with `gemma-3n-E2B-it-4bit` (mlx-community). + +**Findings:** + +| Question | Result | +|----------|--------| +| Empty prompt allowed? | Yes, but results poor (model confused) | +| Audio-only without image? | ✅ Works well | +| Text prompt required? | Not required, but recommended for quality | +| Multiple audio files? | ❌ Not supported (mlx-vlm token mismatch bug) | +| Audio + Vision combined? | ❌ Audio silently ignored when images present (cause unclear: mlx-vlm or model) | + +**Temperature Impact:** + +| Temperature | Behavior | +|-------------|----------| +| 0.7 (text default) | Multilingual drift (outputs Arabic/Hindi for "Amen" misinterpretation) | +| 0.2 (audio default) | Stable, good transcription quality | +| 0.0 | Most consistent, recommended for STT tasks | + +**Implemented Defaults:** +- Audio temperature: 0.2 (vs 0.7 for text/vision) +- Audio prompt: "Transcribe what is spoken in this audio." + +**Known Limitations:** +- Phonetic errors observed ("A man" → "Amen"); cause unclear (model limitation vs quantization) +- Multi-audio causes token mismatch error in mlx-vlm +- Audio+Vision combined: audio silently ignored (not blocked by mlx-knife to allow future compatibility) +- WAV format confirmed; other formats untested + +**Audio Duration Limit (~30 seconds):** + +Gemma-3n uses a fixed **188 soft tokens per audio clip**, regardless of audio length: +- Encoding rate: 6.25 tokens/second (from model spec) +- Maximum duration: 188 ÷ 6.25 = **~30.08 seconds** + +| Audio Duration | Transcribed | Notes | +|----------------|-------------|-------| +| ≤29 seconds | Full | ✅ Reliable | +| 30-35 seconds | ~29 seconds | Missing last few seconds | +| 43 seconds | ~29 seconds | Only first 2/3 transcribed | + +**Cause:** Model architecture constraint in Gemma-3n. Audio is encoded to a fixed-size +representation before being passed to the language model. Content beyond ~30 seconds +is silently dropped during encoding. + +**Sources:** +- `Gemma3nProcessor.audio_seq_length = 188` (transformers 5.0+) +- [HuggingFace Gemma3n Docs](https://huggingface.co/docs/transformers/en/model_doc/gemma3n) +- Empirical testing (Session 116) + +### Phase 4: Server API (Pending) + +> **Note:** This design may evolve based on client ecosystem developments. + +**Goal:** OpenAI-compatible audio input for `/v1/chat/completions` + +**OpenAI Standard Format (`input_audio`):** +```json +{ + "model": "gemma-3n-E2B-it-4bit", + "messages": [{ + "role": "user", + "content": [ + {"type": "text", "text": "Transcribe this audio"}, + { + "type": "input_audio", + "input_audio": { + "data": "", + "format": "wav" + } + } + ] + }] +} +``` + +**Two Approaches for Audio Input:** + +| Approach | How it works | Client Support | +|----------|--------------|----------------| +| STT → LLM | Audio → separate Whisper service → Text → LLM | Open WebUI, many clients | +| Native Audio | Audio directly to LLM (GPT-4o-audio, Gemma-3n) | New, limited client support | + +mlx-knife uses **native audio** (Gemma-3n understands audio directly). +Most clients (Open WebUI) expect separate STT service, not `input_audio`. + +**WebUI Integration (nChat):** + +Browser provides native APIs for microphone access: +```javascript +// Microphone access +navigator.mediaDevices.getUserMedia({ audio: true }) + +// Recording +const mediaRecorder = new MediaRecorder(stream) +mediaRecorder.ondataavailable = (e) => { /* audio blob */ } +``` + +Workflow: Record → Convert to WAV (JS library) → Base64 → JSON `input_audio` + +**Implementation TODO:** +- Parse `input_audio` content blocks in server_base.py +- Base64 decode → temp file → VisionRunner +- 5MB limit enforcement (base64 ~33% overhead) +- Error handling for unsupported formats +- Live tests: `test_audio_server_e2e.py` + +--- + +## Risks + +| Risk | Mitigation | +|------|------------| +| mlx-vlm 0.3.10 not on PyPI | Git dependency in pyproject.toml; blocks mlx-knife PyPI release | +| mlx-vlm API changes | Thin wrapper, quickly adaptable | +| Audio format restrictions | Documented: WAV confirmed, others untested | +| Memory requirements unclear | Document in README, profile before server support | +| Gemma-3n index/shard issue | `mlxk convert --repair-index` before use | +| Qwen3-Omni not supported | Only Gemma-3n as target, Qwen3-Omni out-of-scope | +| Phonetic errors | Document limitation, recommend temperature 0 | + +--- + +## References + +- mlx-vlm README (main): Multi-Modal Example (Image + Audio) +- mlx-lm Issue #497: Qwen3-Omni Support Request (open since Sep 2025) +- mlx-lm PR #574: qwen3_omni_moe Text-only (Audio-Tower removed) +- Gemma-3n: mlx-community/gemma-3n-E2B-it-4bit +- Session 101: Audio discussion, Option A decision +- Session 102: Research — Qwen3-Omni blocked, Gemma-3n verified +- Session 111: Phase 3 evaluation, temperature findings, limitation documentation diff --git a/docs/SERVER-HANDBOOK.md b/docs/SERVER-HANDBOOK.md index b15a771..fc323d5 100644 --- a/docs/SERVER-HANDBOOK.md +++ b/docs/SERVER-HANDBOOK.md @@ -1,8 +1,8 @@ # MLX Knife Server Handbook -**Version:** 2.0.4-beta.1 (WIP) +**Version:** 2.0.4-beta.8 (WIP) **Status:** ⚠️ **WORK IN PROGRESS** - This document will evolve until 2.1 stable release -**Last Updated:** 2025-12-15 +**Last Updated:** 2026-01-20 > **Audience:** Server operators, DevOps, API consumers > **For implementation details:** See `ARCHITECTURE.md` and `docs/ADR/` (developer documentation) @@ -24,9 +24,81 @@ mlxk serve --host 0.0.0.0 --port 8000 **Requirements:** - Python 3.9+ (Text models) -- Python 3.10+ (Vision models) +- Python 3.10+ (Vision and Audio models) - mlx-lm 0.28.4+ -- mlx-vlm 0.3.9+ (optional, for vision; beta.3 recommends commit c4ea290e47e2155b67d94c708c662f8ab64e1b37) +- mlx-vlm ≥0.3.10 (required for audio; currently GitHub-only, not yet on PyPI) + +--- + +## OpenAI API Compatibility + +MLX Knife implements a **subset** of the OpenAI API with documented behavioral differences. + +### Supported Endpoints + +| Endpoint | Status | Notes | +|----------|--------|-------| +| `/v1/chat/completions` | ✅ Supported | Text, Vision (`image_url`), Audio (`input_audio`) | +| `/v1/completions` | ✅ Supported | Legacy text completion | +| `/v1/models` | ✅ Supported | Extended with `context_length` field | +| `/health` | ✅ Custom | MLX Knife extension | + +### Not Implemented + +| Endpoint | Status | +|----------|--------| +| `/v1/embeddings` | ❌ Planned (ADR-015) | +| `/v1/audio/*` | ❌ Not planned (use `input_audio` in chat) | +| `/v1/files` | ❌ Not planned | +| `/v1/moderations` | ❌ Not planned | +| `/v1/responses` | ❌ Not planned | + +### Authentication + +MLX Knife **ignores** authentication headers. The server accepts but does not validate: +- `Authorization: Bearer ...` +- Any API key + +**Note:** For production deployments requiring authentication, use a reverse proxy (nginx, Caddy). + +### Request Headers + +``` +Content-Type: application/json (required) +Authorization: Bearer ... (optional, ignored) +``` + +### Behavioral Deviations from OpenAI + +These are intentional design choices, not bugs: + +| Behavior | OpenAI | MLX Knife | Reason | +|----------|--------|-----------|--------| +| Vision history | Full history to model | Only last user message | Prevents pattern reproduction (hallucinations) | +| Image URLs | HTTP URLs + Base64 + File IDs | Base64 data URLs only | No external fetching | +| Audio+Vision | Both processed | Audio silently ignored | mlx-vlm limitation | +| Multi-audio | Supported | 1 per request | mlx-vlm limitation | +| Error format | `{"error": {"message", "type", "code"}}` | ADR-004 envelope (see below) | Richer error context | +| `max_completion_tokens` | Preferred | Not supported (use `max_tokens`) | Legacy compatibility | +| HTTP 507 | Not used | Memory constraint | Explicit OOM prevention | + +### Error Response Format + +MLX Knife uses an extended error envelope (ADR-004), not the OpenAI format: + +```json +{ + "status": "error", + "error": { + "type": "validation_error", + "message": "No user message found", + "retryable": false + }, + "request_id": "abc123..." +} +``` + +**Error types:** `validation_error`, `model_not_found`, `internal_error`, `server_shutdown`, `insufficient_memory`, `access_denied` --- @@ -68,12 +140,38 @@ mlxk serve --host 0.0.0.0 --port 8000 } ``` +**Audio Request (OpenAI `input_audio` format):** +```json +{ + "model": "mlx-community/gemma-3n-E2B-it-4bit", + "messages": [ + { + "role": "user", + "content": [ + {"type": "text", "text": "Transcribe what is spoken in this audio"}, + { + "type": "input_audio", + "input_audio": { + "data": "", + "format": "wav" + } + } + ] + } + ], + "max_tokens": 2048, + "temperature": 0.0 +} +``` + +**Supported audio formats:** `wav`, `mp3` (or `mpeg` alias) + **mlx-knife Extension Parameters:** - `chunk` (integer, optional): Batch size for vision processing (default: 1). Controls how many images are processed per inference session. Higher values may trigger OOM on resource-constrained systems. Maximum: 5 (enforced by server). **Default chunk size:** 1. Request parameter `chunk` (highest priority) -2. Server startup: `mlxk server --chunk N` +2. Server startup: `mlxk serve --chunk N` 3. Environment: `MLXK2_VISION_CHUNK_SIZE=N` 4. Default: 1 (maximum safety) @@ -189,7 +287,7 @@ See `examples/vision_pipe.sh` for a practical Vision→Text pipeline example (CL - **Sequential Images:** Only images from the **last user message** are processed (OpenAI API compliant) - **Each request is independent:** No "shift-window" context like text models (Metal memory limitations) -### Stable Image IDs (History-Based) +#### Stable Image IDs (History-Based) **Problem:** How to maintain stable "Image 1, 2, 3..." numbering across multiple requests? @@ -204,7 +302,7 @@ Request 3: Re-upload beach.jpg → Still Image 1 (hash match) ``` **Properties:** -- ✅ **100% OpenAI API compatible** — standard messages[] format, no custom headers +- ✅ **Standard messages[] format** — no custom headers or protocol extensions - ✅ **Stateless server** — no registry, no TTL, no cleanup - ✅ **Content-hash deduplication** — same image always gets same ID - ✅ **Cross-model workflows** — "Image 1" stable across Vision↔Text model switches @@ -219,9 +317,45 @@ Request 3: Re-upload beach.jpg → Still Image 1 (hash match) --- -### Token Limits: Vision vs Text Models +### Audio Support (2.0.4-beta.8) -**Critical Difference:** Vision and text models use different `max_tokens` strategies. +**Native audio input** for audio-capable models (Gemma-3n). + +**Supported:** +- ✅ OpenAI `input_audio` format (Base64-encoded) +- ✅ Formats: WAV, MP3 +- ✅ Temperature 0.0 (greedy sampling for transcription consistency) + +**Limits:** +- **Per-audio:** 5 MB max (~2-3 minutes at 16kHz mono) +- **Count:** 1 audio per request (multi-audio blocked) + +**Important Characteristics:** + +- **Stateless Server:** Same as Vision — no server-side state +- **Single Audio:** Only one audio file per request (mlx-vlm limitation) +- **Audio+Vision:** When both present, audio is silently ignored (mlx-vlm behavior) +- **Temperature:** Fixed at 0.0 for transcription consistency (CLI default: 0.2) + +**Audio-Capable Models:** +- `gemma-3n` (Google): Vision + Audio + Text +- Qwen3-Omni: Not supported (mlx-lm architecture missing) + +**History Handling:** + +When switching from Audio to Text model mid-conversation: +- Server filters `input_audio` content blocks +- Text model sees `[n audio(s) were attached]` placeholder + +**Python Version:** +- ✅ Python 3.10+ required (same as Vision) +- ❌ Python 3.9: Audio requests → HTTP 501 + +--- + +### Token Limits: Text vs Multimodal Models + +**Critical Difference:** Text and multimodal (Vision/Audio) models use different `max_tokens` strategies. #### Text Models (MLXRunner) @@ -236,7 +370,7 @@ Request 3: Re-upload beach.jpg → Still Image 1 (hash match) **Example:** - Llama-3.2-3B (128K context) → Server default: 64K max_tokens -#### Vision Models (VisionRunner) +#### Vision/Audio Models (VisionRunner) **Strategy:** Stateless processing - Each request is independent (no conversation history in context) @@ -247,13 +381,13 @@ Request 3: Re-upload beach.jpg → Still Image 1 (hash match) **Rationale:** - No need for `/2` division (no history to reserve) -- Vision inference is slow → 2048 adequate for image descriptions +- Multimodal inference is slow → 2048 adequate for descriptions/transcriptions - Prevents accidentally generating 64K+ tokens **Override:** ```json { - "model": "mlx-community/Llama-3.2-11B-Vision-Instruct-4bit", + "model": "mlx-community/gemma-3n-E2B-it-4bit", "messages": [...], "max_tokens": 4096 // Explicit override } @@ -294,6 +428,11 @@ Request 3: Re-upload beach.jpg → Still Image 1 (hash match) - **Single image:** Behaves like batch mode (one SSE event) - **Format:** OpenAI-compatible SSE with per-chunk deltas +#### Audio Models +- ⚠️ **Batch mode only:** Single SSE event with complete response +- **Reason:** Single audio per request, no chunking needed +- **Format:** Same as Vision single-image mode + **Request:** ```json { @@ -305,13 +444,17 @@ Request 3: Re-upload beach.jpg → Still Image 1 (hash match) **Response (SSE stream):** ``` -data: {"id":"chatcmpl-...","choices":[{"delta":{"content":"Hello"},"index":0}],...} +data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","created":1702345678,"model":"mlx-community/Llama-3.2-3B-Instruct-4bit","choices":[{"index":0,"delta":{"role":"assistant","content":"Hello"},"finish_reason":null}]} -data: {"id":"chatcmpl-...","choices":[{"delta":{"content":" there"},"index":0}],...} +data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","created":1702345678,"model":"mlx-community/Llama-3.2-3B-Instruct-4bit","choices":[{"index":0,"delta":{"content":" there"},"finish_reason":null}]} + +data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","created":1702345678,"model":"mlx-community/Llama-3.2-3B-Instruct-4bit","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} data: [DONE] ``` +**Note:** `stream_options.include_usage` is not supported. + --- ## Configuration @@ -365,7 +508,7 @@ python -m mlxk2.core.server_base - **201 Created:** Resource created (future) ### Client Errors (4xx) -- **400 Bad Request:** Invalid input (e.g., missing images for vision model, too many images) +- **400 Bad Request:** Invalid input (e.g., too many images, invalid format, validation failures) - **404 Not Found:** Model not found in cache ### Server Errors (5xx) @@ -404,9 +547,9 @@ python -m mlxk2.core.server_base ## Troubleshooting -### Vision Model Fails on Python 3.9 +### Multimodal Request Fails on Python 3.9 -**Symptom:** HTTP 501 "Vision models require Python 3.10+" +**Symptom:** HTTP 501 "Vision/Audio models require Python 3.10+" **Solution:** ```bash @@ -415,8 +558,8 @@ pyenv install 3.10 pyenv local 3.10 pip install mlx-lm mlx-vlm -# Beta.3 (pre-0.3.10 fix) -pip install mlx-lm "mlx-vlm @ git+https://github.com/Blaizzy/mlx-vlm.git@c4ea290e47e2155b67d94c708c662f8ab64e1b37" +# Until mlx-vlm 0.3.10 on PyPI (Vision + Audio support) +pip install mlx-lm "mlx-vlm @ git+https://github.com/Blaizzy/mlx-vlm.git@58122703b0bba7c574d23c9c751f01cf60485d4f" ``` ### Memory Constraint Errors (HTTP 507) @@ -454,6 +597,44 @@ pip install mlx-lm "mlx-vlm @ git+https://github.com/Blaizzy/mlx-vlm.git@c4ea290 **Solution:** Resize images, reduce count, or check encoding +### Audio Errors + +#### Audio Request Fails (HTTP 400) + +**Common causes:** +- Audio size > 5 MB +- More than 1 audio per request (multi-audio not supported) +- Unsupported format (use WAV or MP3) +- Invalid Base64 encoding + +**Solution:** Compress audio, ensure single audio per request, use supported format + +#### Audio Model Not Found + +**Symptom:** `Model does not support audio input` + +**Cause:** Model lacks audio capability + +**Solution:** Use an audio-capable model: +```bash +mlxk list | grep +audio +``` + +**Note:** Some HuggingFace models may require `mlxk convert --repair-index` before use. + +#### Audio Output is Garbled/Multilingual + +**Symptom:** Transcription includes unexpected languages (Arabic, Hindi, etc.) + +**Cause:** Temperature too high (default text temperature 0.7 causes drift) + +**Solution:** Use temperature 0.0 for audio: +```json +{ + "temperature": 0.0 +} +``` + --- ## Limits Summary @@ -463,15 +644,33 @@ pip install mlx-lm "mlx-vlm @ git+https://github.com/Blaizzy/mlx-vlm.git@c4ea290 | Images per request | 5 | Metal OOM prevention | | Image size | 20 MB | Metal OOM prevention | | Total image size | 50 MB | Metal OOM prevention | +| **Audio per request** | **1** | **mlx-vlm limitation** | +| **Audio size** | **5 MB** | **Token count constraint** | | Vision model RAM | 70% system | Metal OOM prevention | | Text model RAM | 70% (warning) | Swap tolerance | | Vision max_tokens | 2048 (default) | Stateless, slow inference | +| Audio max_tokens | 2048 (default) | Stateless, like Vision | | Text max_tokens | context_length/2 | Shift-window reservation | --- ## Migration Guide +### From 2.0.4-beta.7 → 2.0.4-beta.8 + +**New Features:** +- ✅ Audio input support via OpenAI `input_audio` format +- ✅ Supported audio formats: WAV, MP3 +- ✅ Audio history filtering: `[n audio(s) were attached]` + +**Breaking Changes:** +- None (audio is additive) + +**Recommendations:** +- Update mlx-vlm to ≥0.3.10 (GitHub install required, not yet on PyPI) +- Use temperature 0.0 for audio transcription requests +- Test with Gemma-3n or other audio-capable models + ### From 2.0.3 → 2.0.4-beta.1 **New Features:** @@ -510,7 +709,7 @@ Clients MUST follow the OpenAI Chat Completions API format. MLX Knife is designe ### Conversation History -**Clients MUST send the full conversation history** with each request: +**Clients MUST send the full message list** with each request: ```json { @@ -525,6 +724,33 @@ Clients MUST follow the OpenAI Chat Completions API format. MLX Knife is designe **Why:** The server reconstructs stable image IDs from the history. Without full history, image numbering restarts at 1 with each request. +**What "full history" means:** +- ✅ All messages with correct roles (`user`, `assistant`, `system`) +- ✅ Complete assistant responses (including `` markers) +- ⚠️ Media payloads (Base64) can be dropped after first Vision request (see [Image ID Persistence](#image-id-persistence-stateless)) + +**Note:** For Vision models, the server only forwards the last user message to the model (stateless prompt), but still scans the full history for image ID reconstruction. + +### Vision Messages Format + +**Multimodal content** uses the OpenAI array format: + +```json +{ + "role": "user", + "content": [ + {"type": "text", "text": "What's in this image?"}, + {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,..."}} + ] +} +``` + +**Image URLs:** +- ✅ **Base64 Data URLs:** `data:image/jpeg;base64,/9j/4AAQ...` +- ❌ **HTTP URLs:** Not supported (no external fetching) + +**Supported formats:** JPEG, PNG, GIF, WebP + ### Vision: Stateless Prompt, History-Based IDs **Important architectural distinction for Vision requests:** @@ -551,42 +777,6 @@ Clients MUST follow the OpenAI Chat Completions API format. MLX Knife is designe - Sending history caused pattern reproduction (model hallucinating mappings) - Clean separation: Vision=describe, Text=discuss -### Vision Messages Format - -**Multimodal content** uses the OpenAI array format: - -```json -{ - "role": "user", - "content": [ - {"type": "text", "text": "What's in this image?"}, - {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,..."}} - ] -} -``` - -**Image URLs:** -- ✅ **Base64 Data URLs:** `data:image/jpeg;base64,/9j/4AAQ...` -- ❌ **HTTP URLs:** Not supported (no external fetching) - -**Supported formats:** JPEG, PNG, GIF, WebP - -### Cross-Model Workflows (Vision → Text) - -When switching from Vision to Text model mid-conversation: - -1. **Client:** Continue sending full history (including previous image_url content) -2. **Server:** Automatically filters images for text models, replaces with placeholders -3. **Result:** Text model sees `[n image(s) were attached]` instead of binary data - -**Example workflow:** -``` -1. Vision model: User sends 2 images → Model describes both -2. Vision model: User asks "What's different?" → Model compares -3. Switch to Text model: User asks "Which is better for vacation?" -4. Text model: Sees "[2 image(s) were attached]" in history, can reference the conversation -``` - ### Image Deduplication Same image content = same ID (content-hash based). @@ -595,7 +785,7 @@ Same image content = same ID (content-hash based). - Re-uploading the same image → Server assigns same ID - No client-side deduplication needed -### Image ID Persistence (100% OpenAI-Compatible) +### Image ID Persistence (Stateless) **Problem:** How do Image IDs remain stable across Vision→Text→Vision workflows when clients drop Base64 data from history (storage optimization)? @@ -611,16 +801,24 @@ Same image content = same ID (content-hash based). ]} ``` -2. **Server Response:** Includes filename mapping table - ``` - A sandy beach with blue water. +2. **Server Response:** Includes filename mapping table (wrapped in `
`) + ```html +
+ 📸 Image Metadata (1 image) - | Image | Filename | - |-------|----------| - | 1 | image_5733332c.jpeg | + | Image | Filename | Original | Location | Date | Camera | + |-------|----------|----------|----------|------|--------| + | 1 | image_5733332c.jpeg | beach.jpg | 📍 34.0522°N, 118.2437°W | 📅 2024-06-15 | iPhone 14 | + +
+ + A sandy beach with blue water. ``` + **Note:** EXIF columns (Original, Location, Date, Camera) are enabled by default. + Disable with `MLXK2_EXIF_METADATA=0` for minimal output (Image, Filename only). + 3. **Client Storage Optimization:** Client can **drop Base64 from history**, keep only: ```json {"role": "user", "content": "describe"} @@ -649,9 +847,9 @@ Same image content = same ID (content-hash based). - Assigns: mountain.jpg → Image ID 2 ✅ **Benefits:** -- ✅ **Zero client changes** - Works with standard OpenAI API +- ✅ **Zero client changes** - Works with standard OpenAI message format - ✅ **Storage optimization** - Client can drop large Base64 data (2 MB → 2 KB) -- ✅ **100% OpenAI-compatible** - No protocol extensions needed +- ✅ **No protocol extensions** - Standard messages[] array, no custom headers - ✅ **Stateless server** - No server-side session state required - ✅ **Scales to 100+ images** - Clients only store small text mappings @@ -659,15 +857,68 @@ Same image content = same ID (content-hash based). - **After first Vision request:** Drop Base64 image_url from history, keep text + assistant response - **Store locally:** Small thumbnails for UI (~20 KB/image via IndexedDB) - **History format:** Text-only user messages + full assistant responses (with mapping tables) +- **⚠️ Preserve verbatim:** Do not sanitize or strip HTML comments from assistant responses — the `` markers are required for ID reconstruction **Example client storage (100 images):** - ❌ **Before:** 100 images × 2 MB Base64 = 200 MB (exceeds browser limits) - ✅ **After:** 100 thumbnails × 20 KB + text history = ~2 MB (fits in IndexedDB) +### Audio Messages Format + +**Audio content** uses the OpenAI `input_audio` format: + +```json +{ + "role": "user", + "content": [ + {"type": "text", "text": "Transcribe this audio"}, + { + "type": "input_audio", + "input_audio": { + "data": "", + "format": "wav" + } + } + ] +} +``` + +**Supported formats:** `wav`, `mp3` (or `mpeg` alias) + +**Limitations:** +- ❌ Only 1 audio per request (multi-audio causes mlx-vlm token mismatch) +- ❌ Audio + Vision combined: audio is silently ignored + +### Cross-Model Workflows (Vision/Audio → Text) + +When switching from Vision or Audio to Text model mid-conversation: + +1. **Client:** Continue sending full message list (media payloads can be stripped if mapping tables exist) +2. **Server:** Automatically filters any remaining media for text models, replaces with placeholders +3. **Result:** Text model sees `[n image(s) were attached]` or `[n audio(s) were attached]` + +**Example workflow:** +``` +1. Vision model: User sends 2 images → Model describes both +2. Vision model: User asks "What's different?" → Model compares +3. Switch to Text model: User asks "Which is better for vacation?" +4. Text model: Sees "[2 image(s) were attached]" in history, can reference the conversation +``` + +**Storage optimization:** After the first Vision request, clients can drop Base64 payloads from history while preserving assistant responses with `` markers. The server reconstructs image IDs from these markers. + --- ## Changelog +- **2026-01-20:** 2.0.4-beta.8 + - **NEW:** Audio input support via OpenAI `input_audio` format + - Supported formats: WAV, MP3 + - Audio-capable models: Gemma-3n (others as available) + - Limits: 5 MB per audio, 1 audio per request + - Temperature: 0.0 for transcription consistency + - History filter: `input_audio` → `[n audio(s) were attached]` + - **2025-12-15:** 2.0.4-beta.1 WIP - Vision support: Base64 images, multiple images, limits - History-based stable image IDs (stateless, OpenAI-compatible) diff --git a/docs/json-api-schema.json b/docs/json-api-schema.json index 3d0156c..19c21ef 100644 --- a/docs/json-api-schema.json +++ b/docs/json-api-schema.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://example.com/mlxk-json-api.schema.json", - "title": "MLX-Knife 2.0 JSON API 0.1.6 (current)", + "title": "MLX-Knife 2.0 JSON API 0.1.7 (current)", "type": "object", "additionalProperties": false, "properties": { @@ -46,10 +46,11 @@ "size_bytes": {"type": "integer", "minimum": 0}, "last_modified": {"$ref": "#/definitions/isoUtcZ"}, "framework": {"type": "string", "enum": ["MLX", "GGUF", "PyTorch", "Unknown"]}, - "model_type": {"type": "string", "enum": ["chat", "embedding", "base", "unknown"]}, + "model_type": {"type": "string", "description": "Model type classification. See mlxk2/core/capabilities.py for currently detected values."}, "capabilities": { "type": "array", - "items": {"type": "string", "enum": ["text-generation", "chat", "embeddings", "completion", "vision"]} + "items": {"type": "string"}, + "description": "Model capabilities. Values are not normative - see mlxk2/core/capabilities.py Capability enum for currently detected values." }, "health": {"type": "string", "enum": ["healthy", "unhealthy"]}, "runtime_compatible": {"type": "boolean"}, diff --git a/docs/json-api-specification.md b/docs/json-api-specification.md index e07e87c..545cf77 100644 --- a/docs/json-api-specification.md +++ b/docs/json-api-specification.md @@ -1,6 +1,6 @@ # MLX-Knife 2.0 JSON API Specification -**Specification Version:** 0.1.6 +**Specification Version:** 0.1.7 **Status:** Stable (backward-compatible) **Released:** MLX-Knife 2.0.4-beta.1 @@ -107,7 +107,7 @@ JSON output example: "command": "version", "data": { "cli_version": "2.0.4-beta.1", - "json_api_spec_version": "0.1.6", + "json_api_spec_version": "0.1.7", "system": { "memory_total_bytes": 137438953472 } @@ -182,18 +182,21 @@ Notes: ### Model Type & Capabilities -**Model Types:** +**Model Types** *(currently detected values, not normative)*: - `"chat"` - Language models with chat/instruction capability - `"embedding"` - Embedding models for vector representations -- `"completion"` - Base models for text completion (no chat template) +- `"base"` - Base models for text completion (no chat template) - `"unknown"` - Cannot determine model type from config **Capabilities Array:** -- `"text-generation"` - Can generate text -- `"chat"` - Supports chat template/instruction format -- `"embeddings"` - Can generate embeddings -- `"completion"` - Text completion without chat format + +*Note: This list is not normative. mlx-knife reports capabilities it detects - models may have additional capabilities. See `mlxk2/core/capabilities.py` `Capability` enum for the authoritative list of currently detected values.* + +- `"text-generation"` - Can generate text (all non-embedding models) +- `"chat"` - Supports chat template/instruction format (absence = base/completion model) +- `"embeddings"` - Can generate embeddings (mutually exclusive with text-generation) - `"vision"` - Accepts image inputs (detected via `model_type` in vision families or presence of `preprocessor_config.json`) +- `"audio"` - Accepts audio inputs (detected via `audio_config` or `model_type` in audio families) **Vision Example (Phase 1a, ADR-012):** ```json @@ -583,6 +586,21 @@ mlxk-json show "Phi-3-mini" --config --json # Include config.json content } ``` +## Changes in 0.1.7 (2.0.4-beta.8) + +**Non-normative schema for capabilities and model_type** + +- Removed enum constraints from `capabilities` and `model_type` in JSON schema +- Schema now accepts any string values (permissive, non-breaking change) +- mlx-knife is not a normative authority - it reports what it detects +- Authoritative list of currently detected values: `mlxk2/core/capabilities.py` + +**Capabilities: Single Source of Truth** + +- Added `Capability` enum in `mlxk2/core/capabilities.py` as SSOT +- Removed unused `"completion"` capability (base models are `["text-generation"]` without `"chat"`) +- Added `"audio"` capability detection (ADR-019) + ## Changes in 0.1.6 (Stable, 2.0.4-beta.1) **System Memory Information** diff --git a/mlxk2/cli.py b/mlxk2/cli.py index 5110ef3..98159c7 100644 --- a/mlxk2/cli.py +++ b/mlxk2/cli.py @@ -226,6 +226,13 @@ def main(): metavar="FILE", help="Attach image file(s) for vision models. Accepts multiple files per flag or use multiple flags.", ) + run_parser.add_argument( + "--audio", + nargs='+', + action="append", + metavar="FILE", + help="Attach audio file(s) for audio-capable models (e.g., Gemma-3n). Accepts WAV format.", + ) run_parser.add_argument( "--chunk", type=int, @@ -234,7 +241,7 @@ def main(): help="Process images in batches of N (default: 1 for maximum safety)", ) run_parser.add_argument("--max-tokens", type=int, help="Maximum tokens to generate") - run_parser.add_argument("--temperature", type=float, default=0.7, help="Sampling temperature (default: 0.7)") + run_parser.add_argument("--temperature", type=float, default=None, help="Sampling temperature (default: 0.7, audio: 0.2)") run_parser.add_argument("--top-p", type=float, default=0.9, help="Top-p sampling parameter (default: 0.9)") run_parser.add_argument("--repetition-penalty", type=float, default=1.1, help="Repetition penalty (default: 1.1)") run_parser.add_argument("--no-stream", action="store_true", help="Disable streaming output") @@ -476,21 +483,58 @@ def main(): if prompt_value is None: prompt_value = "Describe the image." + # Audio file processing (ADR-019 Phase 2) + audio_inputs = [] + audios = getattr(args, "audio", None) or [] + # Flatten nested list from nargs='+' + action='append' + if audios and isinstance(audios[0], list): + audios = [item for sublist in audios for item in sublist] + + if audios: + for audio_path in audios: + aud_path = Path(audio_path) + if not aud_path.exists() or not aud_path.is_file(): + result = handle_error("CommandError", f"Audio file not found: {audio_path}") + print_result(result, None, True if args.json else False) + sys.exit(1) + data = aud_path.read_bytes() + # 5MB limit for audio (~2-3 min at 16kHz mono; token count is the real constraint) + if len(data) > 5 * 1024 * 1024: + result = handle_error("CommandError", f"Audio file too large (>5MB): {audio_path}") + print_result(result, None, True if args.json else False) + sys.exit(1) + audio_inputs.append((aud_path.name, data)) + # Multi-audio not supported by mlx-vlm (token mismatch bug) + if len(audio_inputs) > 1: + result = handle_error("CommandError", "Multiple audio files not supported. Process one file at a time.") + print_result(result, None, args.json) + sys.exit(1) + if prompt_value is None: + # Simple prompt - complex prompts cause multilingual drift in Gemma-3n with MP3 + prompt_value = "Transcribe this audio." + stream_mode = not args.no_stream - if image_inputs: + if image_inputs or audio_inputs: stream_mode = False elif not sys.stdout.isatty() and not args.json: stream_mode = False + # Context-aware temperature default (audio: 0.2 for stability, else: 0.7) + if args.temperature is None: + temperature = 0.2 if audio_inputs else 0.7 + else: + temperature = args.temperature + # Handle run command with proper parameter mapping result_text = run_model_enhanced( model_spec=args.model, prompt=prompt_value, # Can be None for interactive mode images=image_inputs if images else None, + audio=audio_inputs if audios else None, chunk=args.chunk, stream=stream_mode, max_tokens=getattr(args, "max_tokens", None), - temperature=args.temperature, + temperature=temperature, top_p=getattr(args, "top_p", 0.9), repetition_penalty=getattr(args, "repetition_penalty", 1.1), use_chat_template=not getattr(args, "no_chat_template", False), diff --git a/mlxk2/core/capabilities.py b/mlxk2/core/capabilities.py index e8516fd..e6e4f6c 100644 --- a/mlxk2/core/capabilities.py +++ b/mlxk2/core/capabilities.py @@ -27,6 +27,23 @@ from pathlib import Path from typing import Any, Dict, List, Optional, Tuple +class Capability(str, Enum): + """Known model capabilities. + + Note: Not normative - these are capabilities mlx-knife currently detects. + Models may have capabilities not listed here. + """ + TEXT_GENERATION = "text-generation" + CHAT = "chat" + EMBEDDINGS = "embeddings" + VISION = "vision" + AUDIO = "audio" + + +# Convenience set for validation/iteration +KNOWN_CAPABILITIES = frozenset(c.value for c in Capability) + + class Backend(Enum): """Available model backends.""" MLX_LM = "mlx_lm" # Text models via mlx-lm @@ -58,6 +75,13 @@ VISION_MODEL_TYPES = frozenset({ "smolvlm", }) +# Audio model types (ADR-019) +# Note: Only models verified to work with mlx-vlm audio support +AUDIO_MODEL_TYPES = frozenset({ + "gemma3n", # Google Gemma 3n (Vision + Audio + Text) + "gemma3n_audio", # Audio encoder subcomponent +}) + @dataclass class ModelCapabilities: @@ -73,6 +97,7 @@ class ModelCapabilities: is_vision: bool = False is_chat: bool = False is_embedding: bool = False + is_audio: bool = False # File integrity config_valid: bool = False @@ -353,15 +378,24 @@ def probe_model_capabilities( if "embed" in name_lower: caps.is_embedding = True + # Detect audio capability (ADR-019) + try: + from ..operations.common import detect_audio_capability + caps.is_audio = detect_audio_capability(model_path, caps.config) + except Exception: + caps.is_audio = False + # Build capabilities list (for JSON API compatibility) if caps.is_embedding: - caps.capabilities_list = ["embeddings"] + caps.capabilities_list = [Capability.EMBEDDINGS.value] else: - caps.capabilities_list = ["text-generation"] + caps.capabilities_list = [Capability.TEXT_GENERATION.value] if caps.is_chat: - caps.capabilities_list.append("chat") + caps.capabilities_list.append(Capability.CHAT.value) if caps.is_vision: - caps.capabilities_list.append("vision") + caps.capabilities_list.append(Capability.VISION.value) + if caps.is_audio: + caps.capabilities_list.append(Capability.AUDIO.value) # Check runtime availability caps.python_version = sys.version_info[:3] diff --git a/mlxk2/core/server_base.py b/mlxk2/core/server_base.py index ca4bf8a..00dd721 100644 --- a/mlxk2/core/server_base.py +++ b/mlxk2/core/server_base.py @@ -14,6 +14,7 @@ from pathlib import Path from typing import Any, Dict, List, Optional, Union from fastapi import FastAPI, HTTPException, Request +from fastapi.exceptions import RequestValidationError from fastapi.middleware.cors import CORSMiddleware from fastapi.responses import StreamingResponse, JSONResponse from pydantic import BaseModel, Field @@ -71,7 +72,7 @@ class ChatCompletionRequest(BaseModel): stream: Optional[bool] = False stop: Optional[Union[str, List[str]]] = None repetition_penalty: Optional[float] = 1.1 - chunk: Optional[int] = 1 # Vision batch processing (default: 1 for maximum safety) + chunk: Optional[int] = None # Vision batch processing (None = use ENV/default) class CompletionResponse(BaseModel): @@ -673,6 +674,35 @@ def _request_has_images(messages: List[ChatMessage]) -> bool: return False +def _request_has_audio(messages: List[ChatMessage]) -> bool: + """Check if LAST USER MESSAGE contains audio content (input_audio format). + + OpenAI API semantics: Only audio from the last user message is processed. + Historical audio references are preserved in context but not re-processed. + + This function determines routing (audio vs text path). + Must match actual audio processing behavior (ADR-019 Phase 4). + + Args: + messages: List of ChatMessage objects + + Returns: + True if the last user message contains input_audio content + """ + # Find last user message (iterate backwards for efficiency) + for msg in reversed(messages): + if msg.role == "user": + # Check if THIS message has audio + if isinstance(msg.content, list): + for item in msg.content: + if isinstance(item, dict) and item.get("type") == "input_audio": + return True + # Found last user message, no audio + return False + # No user messages at all + return False + + def _messages_to_dicts(messages: List[ChatMessage]) -> List[Dict[str, Any]]: """Convert ChatMessage objects to dict format for adapters. @@ -786,11 +816,12 @@ async def http_exception_handler(request: Request, exc: HTTPException): # Map HTTP status to error type error_type_map = { + 400: ErrorType.VALIDATION_ERROR, 403: ErrorType.ACCESS_DENIED, 404: ErrorType.MODEL_NOT_FOUND, - 400: ErrorType.VALIDATION_ERROR, - 503: ErrorType.SERVER_SHUTDOWN, 500: ErrorType.INTERNAL_ERROR, + 501: ErrorType.NOT_IMPLEMENTED, + 503: ErrorType.SERVER_SHUTDOWN, 507: ErrorType.INSUFFICIENT_MEMORY, } @@ -808,6 +839,36 @@ async def http_exception_handler(request: Request, exc: HTTPException): ) +@app.exception_handler(RequestValidationError) +async def validation_exception_handler(request: Request, exc: RequestValidationError): + """Convert FastAPI validation errors (422) to ADR-004 envelope (400). + + FastAPI returns 422 Unprocessable Entity for validation errors by default. + We convert to 400 Bad Request with ADR-004 envelope for API consistency. + """ + request_id = getattr(request.state, "request_id", None) + + # Format validation errors for detail field + errors = exc.errors() + detail = "; ".join( + f"{'.'.join(str(loc) for loc in e['loc'])}: {e['msg']}" + for e in errors + ) + + error = MLXKError( + type=ErrorType.VALIDATION_ERROR, + message="Request validation failed", + detail=detail, + retryable=False + ) + + envelope = error_envelope(error, request_id=request_id) + return JSONResponse( + status_code=400, + content=envelope + ) + + @app.get("/health") async def health_check(): """Health check endpoint (OpenAI compatible).""" @@ -980,35 +1041,36 @@ async def create_completion(request: CompletionRequest): @app.post("/v1/chat/completions") async def create_chat_completion(request: ChatCompletionRequest): - """Create a chat completion (text or vision).""" + """Create a chat completion (text, vision, or audio).""" try: if _shutdown_event.is_set(): raise HTTPException(status_code=503, detail="Server is shutting down") - # Detect if request contains images (Vision API format) + # Detect if request contains images or audio (Vision/Audio API format) has_images = _request_has_images(request.messages) + has_audio = _request_has_audio(request.messages) # Load model to determine type (uses cache if already loaded) # This ensures we route based on MODEL type, not just request content runner = get_or_load_model(request.model, verbose=False) - # Check if this is a vision model + # Check if this is a vision model (VisionRunner handles both vision and audio) from .vision_runner import VisionRunner is_vision_model = isinstance(runner, VisionRunner) # Routing logic: - # - Vision model + images → Vision path (normal vision processing) - # - Vision model + no images → Text path (text-only on vision model) - # - Text model + images → Text path (filters multimodal history) - # - Text model + no images → Text path (normal text processing) - if is_vision_model and has_images: - # === VISION PATH (ADR-012 Phase 3) === - # Vision model with images → full vision processing + # - Vision model + images/audio → Vision path (vision/audio processing) + # - Vision model + no media → Text path (text-only on vision model) + # - Text model + images/audio → Text path (filters multimodal history) + # - Text model + no media → Text path (normal text processing) + if is_vision_model and (has_images or has_audio): + # === VISION/AUDIO PATH (ADR-012 Phase 3, ADR-019 Phase 4) === + # Vision model with images/audio → full vision/audio processing return await _handle_vision_chat_completion(request, runner=runner) else: # === TEXT PATH (existing behavior + multimodal filtering) === - # - Vision model without images: Use VisionRunner.generate(images=None) - # - Text model with/without images: Filter multimodal history if needed + # - Vision model without media: Use VisionRunner.generate(images=None) + # - Text model with/without media: Filter multimodal history if needed return await _handle_text_chat_completion(request, runner=runner) except HTTPException as http_exc: @@ -1163,6 +1225,7 @@ def _process_vision_chunks_server( temperature: float, top_p: float, repetition_penalty: float, + audio: Optional[List[tuple]] = None, ) -> str: """Process vision images in batches with isolated model instances per chunk. @@ -1178,6 +1241,7 @@ def _process_vision_chunks_server( chunk_size: Images per batch image_id_map: Pre-computed global image IDs (from conversation history) max_tokens, temperature, top_p, repetition_penalty: Generation params + audio: Optional list of (filename, bytes) tuples for audio input Returns: Combined text with merged filename mappings @@ -1195,6 +1259,7 @@ def _process_vision_chunks_server( chunk_result = runner.generate( prompt=prompt, images=chunk, + audio=audio, # Pass audio with each chunk max_tokens=max_tokens, temperature=temperature, top_p=top_p, @@ -1222,6 +1287,7 @@ async def _stream_vision_chunks( completion_id: str, created: int, model: str, + audio: Optional[List[tuple]] = None, ) -> AsyncGenerator[str, None]: """Stream SSE events per vision chunk as they complete (OpenAI-compatible). @@ -1240,6 +1306,7 @@ async def _stream_vision_chunks( completion_id: Unique completion ID for SSE events created: Timestamp for SSE events model: Model name for SSE events + audio: Optional list of (filename, bytes) tuples for audio input Yields: SSE event strings (data: {...}\n\n format) @@ -1297,6 +1364,7 @@ async def _stream_vision_chunks( return runner.generate( prompt=prompt, images=chunk_images, + audio=audio, # Pass audio with each chunk max_tokens=max_tokens, temperature=temperature, top_p=top_p, @@ -1363,7 +1431,7 @@ async def _stream_vision_chunks( async def _handle_vision_chat_completion(request: ChatCompletionRequest, runner: Any = None) -> ChatCompletionResponse: - """Handle vision chat completion with images (ADR-012 Phase 3). + """Handle vision/audio chat completion with images or audio (ADR-012 Phase 3, ADR-019 Phase 4). Supports per-chunk streaming for multi-image requests (stream=True yields SSE events as each chunk completes). Single-chunk requests use batch mode @@ -1376,7 +1444,7 @@ async def _handle_vision_chat_completion(request: ChatCompletionRequest, runner: # Lazy import vision components (Python 3.9 compatibility) from ..tools.vision_adapter import VisionHTTPAdapter - # Vision requests are STATELESS for the model prompt, but we track image IDs + # Vision/Audio requests are STATELESS for the model prompt, but we track image IDs # across the session for consistent numbering (Image 1, 2, 3...). # # Rationale: @@ -1397,16 +1465,19 @@ async def _handle_vision_chat_completion(request: ChatCompletionRequest, runner: raise HTTPException(status_code=400, detail="No user message found") # Parse only the last user message (stateless prompt) - prompt, images = VisionHTTPAdapter.parse_openai_messages([last_user_msg]) + # Returns (prompt, images, audio) tuple + prompt, images, audio = VisionHTTPAdapter.parse_openai_messages([last_user_msg]) # But use FULL history for image ID assignment (consistent numbering) image_id_map = VisionHTTPAdapter.assign_image_ids_from_history(message_dicts) image_count = len(images) + audio_count = len(audio) logger.info( - f"Vision request: {image_count} image(s), model={request.model}", + f"Vision/Audio request: {image_count} image(s), {audio_count} audio(s), model={request.model}", model=request.model, - image_count=image_count + image_count=image_count, + audio_count=audio_count ) # Get or load VisionRunner (uses cache if model already loaded) @@ -1428,8 +1499,13 @@ async def _handle_vision_chat_completion(request: ChatCompletionRequest, runner: completion_id = f"chatcmpl-{uuid.uuid4()}" created = int(time.time()) - # Get chunk size (with env var override) - chunk_size = request.chunk if request.chunk != 1 else int(os.environ.get("MLXK2_VISION_CHUNK_SIZE", "1")) + # Get chunk size: request param > ENV > default (F-05: respect explicit chunk=1) + env_chunk = int(os.environ.get("MLXK2_VISION_CHUNK_SIZE", "1")) + chunk_size = request.chunk if request.chunk is not None else env_chunk + + # F-03: Audio+Vision - audio silently ignored when images present (SERVER-HANDBOOK) + # mlx-vlm behavior is undefined for combined audio+vision, so we enforce single modality + effective_audio = None if images else audio # Validate chunk size for Metal API stability from ..tools.vision_adapter import MAX_SAFE_CHUNK_SIZE @@ -1448,15 +1524,16 @@ async def _handle_vision_chat_completion(request: ChatCompletionRequest, runner: ) if len(images) <= chunk_size: - # Single batch (no chunking) + # Single batch (no chunking) - also handles audio-only requests generated_text = runner.generate( prompt=prompt, - images=images, + images=images if images else None, + audio=effective_audio, max_tokens=get_effective_max_tokens_vision(runner, request.max_tokens), temperature=0.0, # Experiment: greedy sampling to reduce hallucinations top_p=request.top_p or 0.9, repetition_penalty=request.repetition_penalty or 1.0, - image_id_map=image_id_map, + image_id_map=image_id_map if images else None, ) else: # Multi-chunk processing @@ -1483,6 +1560,7 @@ async def _handle_vision_chat_completion(request: ChatCompletionRequest, runner: completion_id=completion_id, created=created, model=request.model, + audio=effective_audio, ), media_type="text/event-stream", headers={"Cache-Control": "no-cache"} @@ -1499,6 +1577,7 @@ async def _handle_vision_chat_completion(request: ChatCompletionRequest, runner: temperature=0.0, top_p=request.top_p or 0.9, repetition_penalty=request.repetition_penalty or 1.0, + audio=effective_audio, ) logger.info( @@ -1625,10 +1704,10 @@ def _filter_multimodal_history_for_text_models(messages: List[ChatMessage]) -> L """Filter multimodal content from message history for text-only models. Handles the case where conversation history contains multimodal content - (e.g., from previous Vision model interaction) but the current model is - text-only and cannot process image_url content. + (e.g., from previous Vision/Audio model interaction) but the current model is + text-only and cannot process image_url or input_audio content. - This enables model switching in clients (Vision → Text) while preserving + This enables model switching in clients (Vision/Audio → Text) while preserving the assistant's responses for context. Args: @@ -1665,10 +1744,11 @@ def _filter_multimodal_history_for_text_models(messages: List[ChatMessage]) -> L filtered.append(msg) continue - # Array content: extract text parts and add image placeholder + # Array content: extract text parts and add media placeholder if isinstance(msg.content, list): text_parts = [] image_count = 0 + audio_count = 0 for item in msg.content: if not isinstance(item, dict): @@ -1684,12 +1764,21 @@ def _filter_multimodal_history_for_text_models(messages: List[ChatMessage]) -> L elif item_type == "image_url": image_count += 1 + elif item_type == "input_audio": + audio_count += 1 + # Combine text parts combined_text = " ".join(text_parts) - # Add placeholder if images were present + # Add placeholder if media were present + placeholders = [] if image_count > 0: - placeholder = f"[{image_count} image(s) were attached]" + placeholders.append(f"{image_count} image(s)") + if audio_count > 0: + placeholders.append(f"{audio_count} audio(s)") + + if placeholders: + placeholder = f"[{', '.join(placeholders)} were attached]" if combined_text: combined_text = f"{combined_text}\n\n{placeholder}" else: diff --git a/mlxk2/core/vision_runner.py b/mlxk2/core/vision_runner.py index c1de325..e9f3eb2 100644 --- a/mlxk2/core/vision_runner.py +++ b/mlxk2/core/vision_runner.py @@ -149,10 +149,35 @@ class VisionRunner: return image_paths + def _prepare_audio(self, audio: Sequence[Tuple[str, bytes]] | None): + """ + Convert (filename, bytes) tuples to temporary file paths. + + mlx-vlm expects audio file paths as strings. + We write the audio bytes to temporary files and return the paths. + """ + if not audio: + return None + + audio_paths = [] + for filename, raw in audio: + # Create a temporary file with appropriate extension + suffix = Path(filename).suffix or ".wav" + tmp = tempfile.NamedTemporaryFile(delete=False, suffix=suffix) + tmp.write(raw) + tmp.flush() + tmp.close() + audio_paths.append(tmp.name) + # Track temp file for cleanup + self._temp_files.append(tmp.name) + + return audio_paths + def generate( self, prompt: str, images: Sequence[Tuple[str, bytes]] | None, + audio: Sequence[Tuple[str, bytes]] | None = None, max_tokens: Optional[int] = None, temperature: float = 0.4, top_p: float = 0.9, @@ -160,11 +185,12 @@ class VisionRunner: image_id_map: Optional[Dict[str, int]] = None, total_images: Optional[int] = None, ) -> str: - """Generate a response with optional images. Non-streaming. + """Generate a response with optional images and audio. Non-streaming. Args: prompt: Text prompt for generation - images: List of (filename, bytes) tuples + images: List of (filename, bytes) tuples for images + audio: List of (filename, bytes) tuples for audio files max_tokens: Maximum tokens to generate temperature: Sampling temperature top_p: Top-p sampling @@ -173,8 +199,9 @@ class VisionRunner: numbering across requests. If None, uses request-scoped IDs. total_images: Total number of images in full batch (for chunking context) """ - # Prepare image file paths + # Prepare image and audio file paths image_paths = self._prepare_images(images) + audio_paths = self._prepare_audio(audio) try: # Augment prompt with metadata context (GPS, datetime, camera, chunk info) @@ -182,10 +209,12 @@ class VisionRunner: prompt, images, image_id_map, total_images ) - # Apply chat template (required for vision models) + # Apply chat template (required for vision/audio models) num_images = len(image_paths) if image_paths else 0 + num_audios = len(audio_paths) if audio_paths else 0 formatted_prompt = self._apply_chat_template( - self.processor, self.config, augmented_prompt, num_images=num_images + self.processor, self.config, augmented_prompt, + num_images=num_images, num_audios=num_audios ) # Build generation kwargs @@ -207,6 +236,7 @@ class VisionRunner: self.processor, formatted_prompt, image_paths, # List of file paths + audio=audio_paths, # List of audio file paths (None if no audio) **gen_kwargs, ) normalized = self._normalize_result(result) diff --git a/mlxk2/errors.py b/mlxk2/errors.py index f1b8963..9c5aa6b 100644 --- a/mlxk2/errors.py +++ b/mlxk2/errors.py @@ -19,6 +19,7 @@ class ErrorType(str, Enum): PUSH_OPERATION_FAILED = "push_operation_failed" SERVER_SHUTDOWN = "server_shutdown" INSUFFICIENT_MEMORY = "insufficient_memory" # ADR-016: Model exceeds memory threshold + NOT_IMPLEMENTED = "not_implemented" # HTTP 501: Feature not supported INTERNAL_ERROR = "internal_error" @@ -32,6 +33,7 @@ ERROR_TYPE_TO_HTTP_STATUS: Dict[ErrorType, int] = { ErrorType.PUSH_OPERATION_FAILED: 500, ErrorType.SERVER_SHUTDOWN: 503, ErrorType.INSUFFICIENT_MEMORY: 507, # ADR-016: HTTP 507 Insufficient Storage + ErrorType.NOT_IMPLEMENTED: 501, # Feature not supported ErrorType.INTERNAL_ERROR: 500, } diff --git a/mlxk2/operations/common.py b/mlxk2/operations/common.py index 3812132..2ae767d 100644 --- a/mlxk2/operations/common.py +++ b/mlxk2/operations/common.py @@ -18,7 +18,7 @@ import importlib.util import sys # Import from unified capabilities module (ARCHITECTURE.md) -from ..core.capabilities import VISION_MODEL_TYPES +from ..core.capabilities import VISION_MODEL_TYPES, AUDIO_MODEL_TYPES, Capability @dataclass @@ -197,6 +197,8 @@ def detect_model_type(hf_name: str, config: Optional[Dict[str, Any]], tok_hints: return "chat" if mt_lower in VISION_MODEL_TYPES: return "chat" + if mt_lower in AUDIO_MODEL_TYPES: + return "chat" ct = tok_hints.get("chat_template") if isinstance(ct, str) and ct.strip(): return "chat" @@ -275,6 +277,40 @@ def detect_vision_capability(probe: Path, config: Optional[Dict[str, Any]]) -> b return False +def detect_audio_capability(probe: Path, config: Optional[Dict[str, Any]]) -> bool: + """Detect whether the model snapshot supports audio inputs (ADR-019). + + Detection signals: + - config.json contains "audio_config" key (primary) + - config.json model_type in AUDIO_MODEL_TYPES + - processor_config.json contains "audio_seq_length" key (secondary) + """ + try: + if isinstance(config, dict): + # Check for audio_config (Gemma-3n has this) + if "audio_config" in config: + return True + + # Check model_type + mt = config.get("model_type") + if isinstance(mt, str) and mt.lower() in AUDIO_MODEL_TYPES: + return True + + # Check processor_config.json for audio_seq_length + processor_config_path = probe / "processor_config.json" + if processor_config_path.exists(): + try: + with open(processor_config_path) as f: + processor_data = _json.load(f) + if isinstance(processor_data, dict) and "audio_seq_length" in processor_data: + return True + except Exception: + pass + except Exception: + pass + return False + + def detect_capabilities( model_type: str, hf_name: str, @@ -283,14 +319,16 @@ def detect_capabilities( probe: Path, ) -> list[str]: if model_type == "embedding": - return ["embeddings"] - caps = ["text-generation"] + return [Capability.EMBEDDINGS.value] + caps = [Capability.TEXT_GENERATION.value] name = hf_name.lower() ct = tok_hints.get("chat_template") if model_type == "chat" or "instruct" in name or "chat" in name or (isinstance(ct, str) and ct.strip()): - caps.append("chat") + caps.append(Capability.CHAT.value) if detect_vision_capability(probe, config): - caps.append("vision") + caps.append(Capability.VISION.value) + if detect_audio_capability(probe, config): + caps.append(Capability.AUDIO.value) return caps diff --git a/mlxk2/operations/run.py b/mlxk2/operations/run.py index 6bd0b60..9b3c783 100644 --- a/mlxk2/operations/run.py +++ b/mlxk2/operations/run.py @@ -17,6 +17,7 @@ from ..core.model_resolution import resolve_model_for_operation from ..operations.health import check_runtime_compatibility from ..operations.common import ( _total_size_bytes, + detect_audio_capability, detect_framework, detect_vision_capability, read_front_matter, @@ -155,6 +156,7 @@ def _process_images_in_chunks( model_name: str, prompt: str, images: List[Tuple[str, bytes]], + audio: Optional[Sequence[Tuple[str, bytes]]], chunk_size: int, max_tokens: Optional[int], temperature: float, @@ -210,6 +212,7 @@ def _process_images_in_chunks( chunk_result = runner.generate( prompt=prompt, images=chunk, + audio=list(audio) if audio else None, # Pass audio with each chunk max_tokens=max_tokens, temperature=temperature, top_p=top_p, @@ -241,6 +244,7 @@ def run_model( model_spec: str, prompt: Optional[str] = None, images: Optional[Sequence[Tuple[str, bytes]]] = None, + audio: Optional[Sequence[Tuple[str, bytes]]] = None, chunk: int = 1, stream: bool = True, max_tokens: Optional[int] = None, @@ -300,6 +304,7 @@ def run_model( # Only perform compatibility check if model is actually in cache is_vision_model = False + is_audio_model = False model_path = None model_cache_dir = None cfg = None @@ -321,6 +326,7 @@ def run_model( cfg = None is_vision_model = detect_vision_capability(model_path, cfg) + is_audio_model = detect_audio_capability(model_path, cfg) else: # Cache model - existing logic model_cache = get_current_model_cache() @@ -347,6 +353,7 @@ def run_model( if model_path is not None: is_vision_model = detect_vision_capability(model_path, cfg) + is_audio_model = detect_audio_capability(model_path, cfg) # If images are provided but model is not vision-capable, fail fast if images and not is_vision_model: @@ -356,6 +363,14 @@ def run_model( print(error_result, file=sys.stderr) return error_result + # If audio is provided but model is not audio-capable, fail fast + if audio and not is_audio_model: + error_msg = f"Model '{resolved_name}' does not support audio inputs (no audio capability detected)." + error_result = f"Error: {error_msg}" + if not json_output: + print(error_result, file=sys.stderr) + return error_result + if is_vision_model: compat, reason = vision_runtime_compatibility() if not compat: @@ -400,12 +415,18 @@ def run_model( print(error_result, file=sys.stderr) return error_result + if audio and not is_audio_model: + error_result = "Error: Audio inputs require an audio-capable model in cache (config not found)" + if not json_output: + print(error_result, file=sys.stderr) + return error_result + # Runtime compatibility verified, proceed with model loading try: - if is_vision_model: - # Vision path uses mlx-vlm backend (non-streaming) + # Vision/Audio path uses mlx-vlm backend (non-streaming) + if is_vision_model or is_audio_model: if model_path is None or not model_path.exists(): - error_result = "Error: Vision model not found in cache" + error_result = "Error: Vision/Audio model not found in cache" if not json_output: print(error_result, file=sys.stderr) return error_result @@ -413,8 +434,10 @@ def run_model( if prompt is None: if images: prompt = "Describe the image." + elif audio: + prompt = "What do you hear in this audio?" else: - error_result = "Error: Vision run requires a prompt" + error_result = "Error: Vision/Audio run requires a prompt" if not json_output: print(error_result, file=sys.stderr) return error_result @@ -458,6 +481,7 @@ def run_model( result = runner.generate( prompt=prompt, images=images_list, + audio=list(audio) if audio else None, max_tokens=max_tokens, temperature=temperature, top_p=top_p, @@ -470,6 +494,7 @@ def run_model( model_name=resolved_name or model_spec, prompt=prompt, images=images_list, + audio=audio, chunk_size=chunk_size, max_tokens=max_tokens, temperature=temperature, @@ -696,6 +721,7 @@ def run_model_enhanced( model_spec: str, prompt: Optional[str], images: Optional[Sequence[Tuple[str, bytes]]] = None, + audio: Optional[Sequence[Tuple[str, bytes]]] = None, chunk: int = 1, stream: bool = True, max_tokens: Optional[int] = None, @@ -741,6 +767,7 @@ def run_model_enhanced( model_spec=model_spec, prompt=prompt, images=images, + audio=audio, chunk=chunk, stream=stream, max_tokens=max_tokens, diff --git a/mlxk2/output/human.py b/mlxk2/output/human.py index 557986c..b4bf81d 100644 --- a/mlxk2/output/human.py +++ b/mlxk2/output/human.py @@ -161,6 +161,8 @@ def render_list(data: Dict[str, Any], show_health: bool, show_all: bool, verbose type_label = str(m.get("model_type", "-")) if "vision" in caps and type_label != "-": type_label = f"{type_label}+vision" + if "audio" in caps and type_label != "-": + type_label = f"{type_label}+audio" if compact: row = [ name, @@ -265,9 +267,14 @@ def render_show(data: Dict[str, Any]) -> str: else: health_str = health + # Build capabilities string + caps = model.get('capabilities', []) + caps_str = ', '.join(caps) if caps else '-' + details = [ f"Framework: {model.get('framework','-')}", f"Type: {model.get('model_type','-')}", + f"Capabilities: {caps_str}", f"Size: {humanize_size(model.get('size_bytes'))}", f"Modified: {fmt_time(model.get('last_modified'))}", f"Health: {health_str}", diff --git a/mlxk2/spec.py b/mlxk2/spec.py index d3bd167..648bd9e 100644 --- a/mlxk2/spec.py +++ b/mlxk2/spec.py @@ -4,4 +4,4 @@ Single source of truth for the JSON API specification version used by the current code and tests. Keep this in sync with docs/json-api-specification.md. """ -JSON_API_SPEC_VERSION = "0.1.6" +JSON_API_SPEC_VERSION = "0.1.7" diff --git a/mlxk2/tools/vision_adapter.py b/mlxk2/tools/vision_adapter.py index 999dbbe..df19ff7 100644 --- a/mlxk2/tools/vision_adapter.py +++ b/mlxk2/tools/vision_adapter.py @@ -1,8 +1,8 @@ """ -Vision HTTP adapter for converting OpenAI-compatible requests to VisionRunner format. +Vision/Audio HTTP adapter for converting OpenAI-compatible requests to VisionRunner format. -This module handles Base64 image decoding and OpenAI message format parsing -for the server Vision API (ADR-012 Phase 3). +This module handles Base64 image/audio decoding and OpenAI message format parsing +for the server Vision/Audio API (ADR-012 Phase 3, ADR-019 Phase 4). """ from __future__ import annotations @@ -16,12 +16,18 @@ from typing import Any, Dict, List, Optional, Tuple # Limits for vision requests (safety and resource management) # Per-image size limit prevents Metal OOM crashes (ADR-012 Phase 3) -# Total image count is unlimited - chunking (ADR-012 Phase 1c) handles batch safety -# chunk_size controls memory usage: default=1 (safest), can be increased via request param MAX_IMAGE_SIZE_BYTES = 20 * 1024 * 1024 # 20 MB per image (Metal API limit) +MAX_IMAGES_PER_REQUEST = 5 # Maximum images per request (Metal OOM prevention) +MAX_TOTAL_IMAGE_SIZE_BYTES = 50 * 1024 * 1024 # 50 MB total (Metal OOM prevention) MAX_SAFE_CHUNK_SIZE = 5 # Empirically tested stable (5 images @ ~50MB total) SUPPORTED_MIME_TYPES = frozenset({"jpeg", "jpg", "png", "gif", "webp"}) +# Audio limits (ADR-019 Phase 4) +# 5MB limit matches CLI (~2-3 min at 16kHz mono, token count is the real constraint) +MAX_AUDIO_SIZE_BYTES = 5 * 1024 * 1024 # 5 MB per audio file +# mlx-vlm natively supports WAV and MP3 (verified in mlx-vlm README) +SUPPORTED_AUDIO_FORMATS = frozenset({"wav", "mp3", "mpeg"}) + class VisionHTTPAdapter: """Adapter for converting OpenAI Vision API format to VisionRunner format.""" @@ -29,9 +35,9 @@ class VisionHTTPAdapter: @staticmethod def parse_openai_messages( messages: List[Dict[str, Any]] - ) -> Tuple[str, List[Tuple[str, bytes]]]: + ) -> Tuple[str, List[Tuple[str, bytes]], List[Tuple[str, bytes]]]: """ - Parse OpenAI-style messages and extract text prompt + images. + Parse OpenAI-style messages and extract text prompt + images + audio. OpenAI Vision API format: [ @@ -39,27 +45,29 @@ class VisionHTTPAdapter: "role": "user", "content": [ {"type": "text", "text": "What's in this image?"}, - {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,..."}} + {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,..."}}, + {"type": "input_audio", "input_audio": {"data": "base64...", "format": "wav"}} ] } ] - Important: Images are extracted ONLY from the most recent user message. + Important: Images/audio are extracted ONLY from the most recent user message. Text context is extracted from ALL messages (including assistant responses). - This follows OpenAI Vision API behavior where previous images remain in - history for text context but are NOT sent as visual input to the model. + This follows OpenAI Vision API behavior where previous media remain in + history for text context but are NOT sent as visual/audio input to the model. Args: messages: List of message dicts (OpenAI format) Returns: - (prompt, images) tuple where: + (prompt, images, audio) tuple where: - prompt: str - Combined text from all text content blocks - images: List[Tuple[str, bytes]] - List of (filename, raw_bytes) tuples + - audio: List[Tuple[str, bytes]] - List of (filename, raw_bytes) tuples Raises: - MLXKError: If message format is invalid or images cannot be decoded + ValueError: If message format is invalid or media cannot be decoded See: docs/ISSUES/VISION-SEQUENTIAL-IMAGES-ISSUE.md """ @@ -102,8 +110,9 @@ class VisionHTTPAdapter: if text: text_parts.append(text) - # Extract images ONLY from the most recent user message + # Extract images and audio ONLY from the most recent user message images = [] + audio = [] for msg in reversed(messages): if not isinstance(msg, dict): @@ -115,10 +124,10 @@ class VisionHTTPAdapter: content = msg.get("content") if content is None or not isinstance(content, list): - # Last user message has no images (text-only follow-up) + # Last user message has no media (text-only follow-up) break - # Process image_url items from this message only + # Process image_url and input_audio items from this message only for item in content: if not isinstance(item, dict): continue @@ -142,26 +151,67 @@ class VisionHTTPAdapter: filename, raw_bytes = VisionHTTPAdapter.decode_base64_image(url) images.append((filename, raw_bytes)) - # Note: Total image count/size is unlimited - chunking handles batch safety - # chunk_size (default=1) controls memory usage per batch + elif item_type == "input_audio": + # OpenAI input_audio format (ADR-019 Phase 4) + input_audio_obj = item.get("input_audio") + if not isinstance(input_audio_obj, dict): + raise ValueError( + "input_audio content must have 'input_audio' dict" + ) + + data = input_audio_obj.get("data", "") + fmt = input_audio_obj.get("format", "wav") + + if not data: + raise ValueError( + "input_audio.data cannot be empty" + ) + + # Decode base64 audio (validates size and format) + filename, raw_bytes = VisionHTTPAdapter.decode_base64_audio(data, fmt) + audio.append((filename, raw_bytes)) # Stop after processing first (most recent) user message break + # Validate image limits (F-01: SERVER-HANDBOOK conformity) + if len(images) > MAX_IMAGES_PER_REQUEST: + raise ValueError( + f"Too many images ({len(images)}). Maximum: {MAX_IMAGES_PER_REQUEST}" + ) + + if images: + total_size = sum(len(data) for _, data in images) + if total_size > MAX_TOTAL_IMAGE_SIZE_BYTES: + size_mb = total_size / (1024 * 1024) + limit_mb = MAX_TOTAL_IMAGE_SIZE_BYTES / (1024 * 1024) + raise ValueError( + f"Total image size ({size_mb:.1f} MB) exceeds limit ({limit_mb:.0f} MB)" + ) + + # Validate audio limits (F-02: Only 1 audio per request, mlx-vlm limitation) + if len(audio) > 1: + raise ValueError( + f"Only 1 audio per request (mlx-vlm limitation). Got: {len(audio)}" + ) + # Combine text parts prompt = " ".join(text_parts).strip() - # Validation: Must have either text or images - if not prompt and not images: + # Validation: Must have either text or images or audio + if not prompt and not images and not audio: raise ValueError( - "Request must contain at least text or images" + "Request must contain at least text, images, or audio" ) - # If no text provided but images present, use default prompt - if not prompt and images: - prompt = "Describe the image." + # Default prompts based on media type + if not prompt: + if images: + prompt = "Describe the image." + elif audio: + prompt = "Transcribe what is spoken in this audio." - return prompt, images + return prompt, images, audio @staticmethod def decode_base64_image(url: str) -> Tuple[str, bytes]: @@ -240,6 +290,70 @@ class VisionHTTPAdapter: return filename, raw_bytes + @staticmethod + def decode_base64_audio(data: str, fmt: str) -> Tuple[str, bytes]: + """ + Decode Base64-encoded audio data. + + OpenAI input_audio format: + { + "type": "input_audio", + "input_audio": { + "data": "", + "format": "wav" # or "mp3" + } + } + + Args: + data: Base64-encoded audio data (without data URL prefix) + fmt: Audio format ("wav", "mp3") + + Returns: + (filename, raw_bytes) tuple where: + - filename: Generated name based on content hash (e.g., "audio_a1b2c3.wav") + - raw_bytes: Decoded audio bytes + + Raises: + ValueError: If format is unsupported or base64 decoding fails + """ + # Normalize format (audio/mpeg -> mp3) + fmt_lower = fmt.lower() + if fmt_lower == "mpeg": + fmt_lower = "mp3" + + # Validate format + if fmt_lower not in SUPPORTED_AUDIO_FORMATS: + raise ValueError( + f"Unsupported audio format: {fmt}. " + f"Supported formats: {', '.join(sorted(SUPPORTED_AUDIO_FORMATS))}" + ) + + # Decode base64 + try: + raw_bytes = base64.b64decode(data, validate=True) + except Exception as e: + raise ValueError( + f"Failed to decode base64 audio data: {e}" + ) from e + + # Validate that we got some data + if not raw_bytes: + raise ValueError("Decoded audio data is empty") + + # Enforce size limit + if len(raw_bytes) > MAX_AUDIO_SIZE_BYTES: + size_mb = len(raw_bytes) / (1024 * 1024) + limit_mb = MAX_AUDIO_SIZE_BYTES / (1024 * 1024) + raise ValueError( + f"Audio size ({size_mb:.1f} MB) exceeds limit ({limit_mb:.0f} MB)" + ) + + # Generate deterministic filename from content hash + content_hash = hashlib.sha256(raw_bytes).hexdigest()[:8] + filename = f"audio_{content_hash}.{fmt_lower}" + + return filename, raw_bytes + @staticmethod def assign_image_ids_from_history(messages: List[Dict[str, Any]]) -> Dict[str, int]: """ diff --git a/pyproject.toml b/pyproject.toml index cf098b8..198df0e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,10 +28,10 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", ] dependencies = [ - "huggingface-hub>=0.34.0", + "huggingface-hub>=1.0.0", "requests>=2.32.0", - "mlx-lm>=0.28.4", - "mlx>=0.29.0", + "mlx-lm>=0.30.0", + "mlx>=0.30.0", "fastapi>=0.116.0", "uvicorn>=0.35.0", "pydantic>=2.11.0", @@ -66,7 +66,7 @@ dev = [ "mypy>=1.5.0", ] vision = [ - "mlx-vlm @ git+https://github.com/Blaizzy/mlx-vlm.git@fc8c92e31983a52761f37d503f903ec40bebbd62", # Vision Language Models support (ADR-012, requires Python 3.10+; beta.7 uses upstream main (MXFP4 support), will switch to v0.3.10 PyPI when released) + "mlx-vlm @ git+https://github.com/Blaizzy/mlx-vlm.git@58122703b0bba7c574d23c9c751f01cf60485d4f", # Vision + Audio support (ADR-012, ADR-019; beta.8 adds audio; will switch to PyPI when released) ] [tool.setuptools] diff --git a/tests_2.0/assets/audio/A MAN SAID TO THE UNIVERSE SIR I EXIST.mp3 b/tests_2.0/assets/audio/A MAN SAID TO THE UNIVERSE SIR I EXIST.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b8e58e4c8c405f205f67c907784e710b21693b65 GIT binary patch literal 29672 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℞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 literal 0 HcmV?d00001 diff --git a/tests_2.0/assets/audio/HAVING RETURNED TO THE ROYAL CAVERN.txt b/tests_2.0/assets/audio/HAVING RETURNED TO THE ROYAL CAVERN.txt new file mode 100644 index 0000000..cdc9710 --- /dev/null +++ b/tests_2.0/assets/audio/HAVING RETURNED TO THE ROYAL CAVERN.txt @@ -0,0 +1 @@ +HAVING RETURNED TO THE ROYAL CAVERN KALIKO FIRST POUNDED THE GONG AND THEN SAT IN THE THRONE WEARING RUGGEDO'S DISCARDED RUBY CROWN AND HOLDING IN HIS HAND THE SCEPTRE WHICH RUGGEDO HAD SO OFTEN THROWN AT HIS HEAD \ No newline at end of file diff --git a/tests_2.0/assets/audio/HAVING RETURNED TO THE ROYAL CAVERN.wav b/tests_2.0/assets/audio/HAVING RETURNED TO THE ROYAL CAVERN.wav new file mode 100644 index 0000000000000000000000000000000000000000..2b14f414a5420d544ad1a2be7c0d090822bb933e GIT binary patch literal 463084 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 2, \ + f"Expected at least 2 of {key_words} in transcription for {model_id}, found {found_words}: {result.stdout}" + + def test_transcribe_mp3_format(self, audio_model_info, audio_model_key): + """Test that MP3 format is also supported. + + Same audio as WAV test but in MP3 format. + """ + if audio_model_key == "_skipped": + pytest.skip("Run with -m live_e2e or -m wet") + if audio_model_key == "_no_audio_models": + pytest.skip("No audio models found in cache") + + model_id = audio_model_info["id"] + audio_file = AUDIO_ASSETS / "A MAN SAID TO THE UNIVERSE SIR I EXIST.mp3" + + if not audio_file.exists(): + pytest.skip(f"Audio asset not found: {audio_file}") + + result = subprocess.run( + [ + PYTHON, "-m", "mlxk2.cli", "run", model_id, + "Transcribe this audio.", + "--audio", str(audio_file), + "--max-tokens", "100", + "--temperature", "0", + "--no-stream" + ], + capture_output=True, + text=True, + timeout=180, + env=os.environ, + ) + assert result.returncode == 0, f"Command failed for {model_id}: {result.stderr}" + output = result.stdout.strip().lower() + + # MP3 format support: same validation as WAV test + # Simple prompt avoids multilingual drift issue with complex prompts + assert "universe" in output or "sir" in output or "exist" in output, \ + f"Expected 'universe', 'sir', or 'exist' in MP3 transcription for {model_id}: {result.stdout}" + + def test_audio_output_not_empty(self, audio_model_info, audio_model_key): + """Basic sanity test: audio transcription produces non-trivial output. + + Validates that the model actually processes the audio and generates + a meaningful response (not just empty or single-word output). + """ + if audio_model_key == "_skipped": + pytest.skip("Run with -m live_e2e or -m wet") + if audio_model_key == "_no_audio_models": + pytest.skip("No audio models found in cache") + + model_id = audio_model_info["id"] + audio_file = AUDIO_ASSETS / "A MAN SAID TO THE UNIVERSE SIR I EXIST.wav" + + if not audio_file.exists(): + pytest.skip(f"Audio asset not found: {audio_file}") + + result = subprocess.run( + [ + PYTHON, "-m", "mlxk2.cli", "run", model_id, + "Transcribe this audio.", + "--audio", str(audio_file), + "--max-tokens", "100", + "--temperature", "0", + "--no-stream" + ], + capture_output=True, + text=True, + timeout=180, + env=os.environ, + ) + + assert result.returncode == 0, f"Command failed for {model_id}: {result.stderr}" + + # Basic sanity: output should have some content (more than just whitespace or a few chars) + output = result.stdout.strip() + assert len(output) > 10, f"Transcription too short for {model_id}: '{output}'" diff --git a/tests_2.0/live/test_utils.py b/tests_2.0/live/test_utils.py index 0ed5bc9..934501a 100644 --- a/tests_2.0/live/test_utils.py +++ b/tests_2.0/live/test_utils.py @@ -61,6 +61,13 @@ KNOWN_BROKEN_MODELS = { # Note: Image-only processing works, video processing broken "mlx-community/Qwen2-VL-7B-Instruct-4bit", + # transformers 5.0 video processor bug (same as above) + # Upstream: https://github.com/Blaizzy/mlx-vlm/issues/640 + # Details: docs/ISSUES/transformers-5.0-video-processor-bug.md + # Test: `mlxk run Qwen3-Omni-30B-A3B-Instruct-4bit "test" --image foo.jpg` → Error + # Note: Omni model (audio+video+vision) - all multimodal processing broken + "mlx-community/Qwen3-Omni-30B-A3B-Instruct-4bit", + # mlx-vlm vision feature mismatch: Image token positions (5476) ≠ features (1369) # Status: Upstream mlx-vlm vision encoder/model compatibility bug (separate from #624) # Test: `mlxk run ./Mistral-Small-3.1-24B-Instruct-2503-FIXED-4bit "test" --image foo.jpg` → Error @@ -290,11 +297,87 @@ def discover_vision_models() -> list[Dict[str, Any]]: return [] +def discover_audio_models() -> list[Dict[str, Any]]: + """Discover audio-capable models only. + + Uses discover_mlx_models_in_user_cache() and filters to only models + with "audio" in their capabilities list. + + Note: Audio models use vision-style RAM calculation (0.70 threshold) + since they typically go through VisionRunner infrastructure. + + Returns: + List of audio-capable model dicts (same format as discover_mlx_models_in_user_cache): + [{"model_id": "...", "ram_needed_gb": X.X, "snapshot_path": None, "weight_count": None}, ...] + """ + import json + import subprocess + import os + + # Get all discovered models (already filtered: MLX + healthy + runtime_compatible + chat) + all_models = discover_mlx_models_in_user_cache() + if not all_models: + return [] + + # Get capabilities and size_bytes from mlxk list --json + env = os.environ.copy() + if not env.get("HF_HOME"): + return [] # Audio models need HF_HOME + + try: + result = subprocess.run( + [sys.executable, "-m", "mlxk2.cli", "list", "--json"], + capture_output=True, + text=True, + timeout=30, + env=env + ) + + if result.returncode != 0: + return [] + + # Parse JSON and build audio model data + data = json.loads(result.stdout) + models_list = data.get("data", {}).get("models", []) + + # Build map: model_id -> (is_audio, size_bytes) + model_info = {} + for m in models_list: + model_name = m["name"] + is_audio = "audio" in m.get("capabilities", []) + size_bytes = m.get("size_bytes", 0) + model_info[model_name] = (is_audio, size_bytes) + + # Get system memory for audio RAM calculation (uses vision formula) + system_memory_bytes = get_system_memory_bytes() + + # Filter to only audio models + recalculate RAM + audio_models = [] + for model in all_models: + model_id = model["model_id"] + if model_id in model_info: + is_audio, size_bytes = model_info[model_id] + if is_audio: + # Use Vision-specific formula (audio goes through VisionRunner) + ram_gb = calculate_vision_model_ram_gb(size_bytes, system_memory_bytes) + + # Create new dict with updated RAM + audio_model = model.copy() + audio_model["ram_needed_gb"] = ram_gb + audio_models.append(audio_model) + + return audio_models + + except Exception: + return [] + + # Re-export for convenience __all__ = [ "discover_mlx_models_in_user_cache", "discover_text_models", "discover_vision_models", + "discover_audio_models", "calculate_text_model_ram_gb", "calculate_vision_model_ram_gb", "get_system_memory_bytes", diff --git a/tests_2.0/test_audio_cli.py b/tests_2.0/test_audio_cli.py new file mode 100644 index 0000000..fde235f --- /dev/null +++ b/tests_2.0/test_audio_cli.py @@ -0,0 +1,120 @@ +"""Tests for --audio CLI argument (ADR-019 Phase 2). + +Tests audio file handling in CLI without requiring actual model inference. +""" + +import argparse +import pytest +from pathlib import Path +from unittest.mock import patch, MagicMock +import tempfile + +# Path to audio test assets +AUDIO_ASSETS = Path(__file__).parent / "assets" / "audio" + + +class TestAudioCLIArgument: + """Tests for --audio CLI argument parsing and file handling.""" + + def test_audio_argument_in_help(self, capsys): + """CLI help should show --audio argument.""" + from mlxk2.cli import main + import sys + + with pytest.raises(SystemExit) as exc_info: + with patch.object(sys, 'argv', ['mlxk', 'run', '--help']): + main() + + # Help exits with 0 + assert exc_info.value.code == 0 + captured = capsys.readouterr() + assert "--audio" in captured.out + + def test_audio_help_mentions_wav(self, capsys): + """CLI help should mention WAV format for audio.""" + from mlxk2.cli import main + import sys + + with pytest.raises(SystemExit): + with patch.object(sys, 'argv', ['mlxk', 'run', '--help']): + main() + + captured = capsys.readouterr() + assert "WAV" in captured.out or "audio" in captured.out.lower() + + +class TestAudioFileValidation: + """Tests for audio file validation in CLI.""" + + def test_audio_file_not_found(self, capsys): + """Should error if audio file doesn't exist.""" + from mlxk2.cli import main + import sys + + with pytest.raises(SystemExit) as exc_info: + with patch.object(sys, 'argv', ['mlxk', 'run', 'test-model', '--audio', '/nonexistent/file.wav', 'prompt']): + main() + + assert exc_info.value.code == 1 + captured = capsys.readouterr() + assert "Audio file not found" in captured.out or "Audio file not found" in captured.err + + def test_audio_file_too_large(self, tmp_path, capsys): + """Should error if audio file >5MB.""" + from mlxk2.cli import main + import sys + + # Create a file that's too large (just over 5MB to trigger check) + large_file = tmp_path / "large.wav" + # Write 6MB of zeros + large_file.write_bytes(b'\x00' * (6 * 1024 * 1024)) + + with pytest.raises(SystemExit) as exc_info: + with patch.object(sys, 'argv', ['mlxk', 'run', 'test-model', '--audio', str(large_file), 'prompt']): + main() + + assert exc_info.value.code == 1 + captured = capsys.readouterr() + assert "Audio file too large" in captured.out or "Audio file too large" in captured.err + + +class TestAudioCapabilityCheck: + """Tests for audio capability detection.""" + + def test_audio_without_audio_model_fails(self): + """Should error when using --audio with non-audio model.""" + from mlxk2.operations.run import run_model + + # Pass audio to a model that doesn't exist (will fail capability check) + result = run_model( + model_spec="nonexistent-model-for-audio-test", + prompt="test", + audio=[("test.wav", b"fake audio data")], + ) + + assert result is not None + assert "Error:" in result + # Either "audio" capability error or model not found - both are acceptable + assert "audio" in result.lower() or "not found" in result.lower() + + +class TestAudioTestAssets: + """Tests to verify audio test assets are available.""" + + def test_audio_assets_directory_exists(self): + """Audio test assets directory should exist.""" + assert AUDIO_ASSETS.exists(), f"Audio assets directory not found: {AUDIO_ASSETS}" + + def test_audio_wav_files_exist(self): + """WAV test files should be available.""" + wav_files = list(AUDIO_ASSETS.glob("*.wav")) + assert len(wav_files) >= 1, "No WAV files found in audio assets" + + def test_sources_file_has_attribution(self): + """sources.txt should contain license attribution.""" + sources_file = AUDIO_ASSETS / "sources.txt" + assert sources_file.exists(), "sources.txt not found" + + content = sources_file.read_text() + assert "CC BY 4.0" in content, "License attribution missing" + assert "LibriSpeech" in content, "Source attribution missing" diff --git a/tests_2.0/test_capabilities.py b/tests_2.0/test_capabilities.py index a5aa15d..7ec409d 100644 --- a/tests_2.0/test_capabilities.py +++ b/tests_2.0/test_capabilities.py @@ -14,6 +14,7 @@ from mlxk2.core.capabilities import ( PolicyDecision, MEMORY_THRESHOLD_PERCENT, VISION_MODEL_TYPES, + AUDIO_MODEL_TYPES, ModelCapabilities, BackendPolicy, probe_model_capabilities, @@ -25,6 +26,7 @@ from mlxk2.core.capabilities import ( _detect_vision_from_config, _detect_vision_from_files, ) +from mlxk2.operations.common import detect_audio_capability class TestVisionModelTypes: @@ -40,6 +42,58 @@ class TestVisionModelTypes: assert isinstance(VISION_MODEL_TYPES, frozenset) +class TestAudioModelTypes: + """Tests for AUDIO_MODEL_TYPES constant (ADR-019).""" + + def test_contains_gemma3n(self): + """Should contain Gemma-3n model types.""" + assert "gemma3n" in AUDIO_MODEL_TYPES + assert "gemma3n_audio" in AUDIO_MODEL_TYPES + + def test_is_frozenset(self): + """Should be immutable.""" + assert isinstance(AUDIO_MODEL_TYPES, frozenset) + + +class TestDetectAudioCapability: + """Tests for detect_audio_capability (ADR-019).""" + + def test_detects_audio_config_in_config_json(self, tmp_path): + """Should detect audio capability via audio_config key.""" + config = {"model_type": "gemma3n", "audio_config": {"some": "config"}} + (tmp_path / "config.json").write_text(json.dumps(config)) + assert detect_audio_capability(tmp_path, config) is True + + def test_detects_gemma3n_model_type(self, tmp_path): + """Should detect audio capability via model_type.""" + config = {"model_type": "gemma3n"} + (tmp_path / "config.json").write_text(json.dumps(config)) + assert detect_audio_capability(tmp_path, config) is True + + def test_detects_audio_seq_length_in_processor_config(self, tmp_path): + """Should detect audio capability via processor_config.json.""" + config = {"model_type": "llama"} # Not an audio type + (tmp_path / "config.json").write_text(json.dumps(config)) + processor_config = {"audio_seq_length": 188, "processor_class": "Gemma3nProcessor"} + (tmp_path / "processor_config.json").write_text(json.dumps(processor_config)) + assert detect_audio_capability(tmp_path, config) is True + + def test_non_audio_model(self, tmp_path): + """Should return False for non-audio models.""" + config = {"model_type": "llama"} + (tmp_path / "config.json").write_text(json.dumps(config)) + assert detect_audio_capability(tmp_path, config) is False + + def test_none_config(self, tmp_path): + """Should return False for None config (checks processor_config.json).""" + assert detect_audio_capability(tmp_path, None) is False + + def test_empty_config(self, tmp_path): + """Should return False for empty config.""" + (tmp_path / "config.json").write_text("{}") + assert detect_audio_capability(tmp_path, {}) is False + + class TestHelperFunctions: """Tests for helper functions.""" diff --git a/tests_2.0/test_server_audio.py b/tests_2.0/test_server_audio.py new file mode 100644 index 0000000..1dccb33 --- /dev/null +++ b/tests_2.0/test_server_audio.py @@ -0,0 +1,318 @@ +""" +Tests for server audio API support (ADR-019 Phase 4). + +Tests the OpenAI-compatible input_audio content blocks in /v1/chat/completions. +""" + +import base64 +import pytest + +from mlxk2.core.server_base import ChatMessage, _request_has_audio +from mlxk2.tools.vision_adapter import ( + VisionHTTPAdapter, + MAX_AUDIO_SIZE_BYTES, + SUPPORTED_AUDIO_FORMATS, +) + + +class TestRequestHasAudio: + """Tests for _request_has_audio() detection function.""" + + def test_string_content_no_audio(self): + """String content messages have no audio.""" + messages = [ChatMessage(role="user", content="Hello")] + assert _request_has_audio(messages) is False + + def test_list_content_text_only_no_audio(self): + """List content with only text has no audio.""" + messages = [ + ChatMessage( + role="user", + content=[{"type": "text", "text": "Hello"}], + ) + ] + assert _request_has_audio(messages) is False + + def test_list_content_with_audio(self): + """List content with input_audio has audio.""" + messages = [ + ChatMessage( + role="user", + content=[ + {"type": "text", "text": "Transcribe this"}, + { + "type": "input_audio", + "input_audio": {"data": "base64data", "format": "wav"}, + }, + ], + ) + ] + assert _request_has_audio(messages) is True + + def test_multiple_messages_audio_in_last_user_only(self): + """Only last user message is checked for audio.""" + messages = [ + ChatMessage( + role="user", + content=[ + { + "type": "input_audio", + "input_audio": {"data": "old", "format": "wav"}, + } + ], + ), + ChatMessage(role="assistant", content="Transcription..."), + ChatMessage(role="user", content="What did you hear?"), + ] + # Last user message is text-only + assert _request_has_audio(messages) is False + + def test_image_only_no_audio(self): + """Image content is not audio.""" + messages = [ + ChatMessage( + role="user", + content=[ + {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,..."}} + ], + ) + ] + assert _request_has_audio(messages) is False + + +class TestDecodeBase64Audio: + """Tests for VisionHTTPAdapter.decode_base64_audio().""" + + def test_decodes_wav_format(self): + """WAV format is supported.""" + audio_bytes = b"RIFF....WAVEfmt " # Fake WAV header + b64_data = base64.b64encode(audio_bytes).decode() + + filename, raw_bytes = VisionHTTPAdapter.decode_base64_audio(b64_data, "wav") + + assert filename.startswith("audio_") + assert filename.endswith(".wav") + assert raw_bytes == audio_bytes + + def test_decodes_mp3_format(self): + """MP3 format is supported.""" + audio_bytes = b"\xff\xfb\x90\x00" # Fake MP3 header + b64_data = base64.b64encode(audio_bytes).decode() + + filename, raw_bytes = VisionHTTPAdapter.decode_base64_audio(b64_data, "mp3") + + assert filename.endswith(".mp3") + assert raw_bytes == audio_bytes + + def test_normalizes_mpeg_to_mp3(self): + """MPEG format is normalized to mp3.""" + audio_bytes = b"\xff\xfb\x90\x00" + b64_data = base64.b64encode(audio_bytes).decode() + + filename, _ = VisionHTTPAdapter.decode_base64_audio(b64_data, "mpeg") + + assert filename.endswith(".mp3") + + def test_rejects_unsupported_format(self): + """Unsupported formats raise ValueError.""" + audio_bytes = b"audio data" + b64_data = base64.b64encode(audio_bytes).decode() + + with pytest.raises(ValueError, match="Unsupported audio format"): + VisionHTTPAdapter.decode_base64_audio(b64_data, "ogg") + + def test_rejects_invalid_base64(self): + """Invalid base64 raises ValueError.""" + with pytest.raises(ValueError, match="Failed to decode base64"): + VisionHTTPAdapter.decode_base64_audio("not-valid-base64!!!", "wav") + + def test_rejects_empty_data(self): + """Empty audio data raises ValueError.""" + b64_data = base64.b64encode(b"").decode() + + with pytest.raises(ValueError, match="empty"): + VisionHTTPAdapter.decode_base64_audio(b64_data, "wav") + + def test_rejects_oversized_audio(self): + """Audio exceeding size limit raises ValueError.""" + # Create data larger than limit + audio_bytes = b"x" * (MAX_AUDIO_SIZE_BYTES + 1) + b64_data = base64.b64encode(audio_bytes).decode() + + with pytest.raises(ValueError, match="exceeds limit"): + VisionHTTPAdapter.decode_base64_audio(b64_data, "wav") + + def test_generates_deterministic_filename(self): + """Same content always generates same filename.""" + audio_bytes = b"test audio content" + b64_data = base64.b64encode(audio_bytes).decode() + + filename1, _ = VisionHTTPAdapter.decode_base64_audio(b64_data, "wav") + filename2, _ = VisionHTTPAdapter.decode_base64_audio(b64_data, "wav") + + assert filename1 == filename2 + + +class TestParseOpenAIMessagesAudio: + """Tests for VisionHTTPAdapter.parse_openai_messages() with audio.""" + + def test_parses_audio_only_request(self): + """Audio-only request extracts audio tuple.""" + audio_bytes = b"audio content" + b64_data = base64.b64encode(audio_bytes).decode() + + messages = [ + { + "role": "user", + "content": [ + { + "type": "input_audio", + "input_audio": {"data": b64_data, "format": "wav"}, + } + ], + } + ] + + prompt, images, audio = VisionHTTPAdapter.parse_openai_messages(messages) + + assert prompt == "Transcribe what is spoken in this audio." # Default prompt + assert images == [] + assert len(audio) == 1 + assert audio[0][1] == audio_bytes + + def test_parses_audio_with_text(self): + """Audio with text prompt preserves text.""" + audio_bytes = b"audio content" + b64_data = base64.b64encode(audio_bytes).decode() + + messages = [ + { + "role": "user", + "content": [ + {"type": "text", "text": "What language is spoken?"}, + { + "type": "input_audio", + "input_audio": {"data": b64_data, "format": "wav"}, + }, + ], + } + ] + + prompt, images, audio = VisionHTTPAdapter.parse_openai_messages(messages) + + assert prompt == "What language is spoken?" + assert len(audio) == 1 + + def test_parses_image_and_audio_combined(self): + """Both image and audio can be in same message.""" + audio_bytes = b"audio" + audio_b64 = base64.b64encode(audio_bytes).decode() + image_bytes = b"\xff\xd8\xff\xe0" # JPEG magic + image_b64 = base64.b64encode(image_bytes).decode() + + messages = [ + { + "role": "user", + "content": [ + {"type": "text", "text": "Describe both"}, + {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_b64}"}}, + {"type": "input_audio", "input_audio": {"data": audio_b64, "format": "wav"}}, + ], + } + ] + + prompt, images, audio = VisionHTTPAdapter.parse_openai_messages(messages) + + assert prompt == "Describe both" + assert len(images) == 1 + assert len(audio) == 1 + + def test_rejects_empty_audio_data(self): + """Empty input_audio.data raises ValueError.""" + messages = [ + { + "role": "user", + "content": [ + { + "type": "input_audio", + "input_audio": {"data": "", "format": "wav"}, + } + ], + } + ] + + with pytest.raises(ValueError, match="cannot be empty"): + VisionHTTPAdapter.parse_openai_messages(messages) + + def test_rejects_missing_input_audio_dict(self): + """input_audio without dict raises ValueError.""" + messages = [ + { + "role": "user", + "content": [ + {"type": "input_audio", "input_audio": "not a dict"}, + ], + } + ] + + with pytest.raises(ValueError, match="must have 'input_audio' dict"): + VisionHTTPAdapter.parse_openai_messages(messages) + + +class TestSupportedAudioFormats: + """Tests for audio format constants.""" + + def test_wav_supported(self): + assert "wav" in SUPPORTED_AUDIO_FORMATS + + def test_mp3_supported(self): + assert "mp3" in SUPPORTED_AUDIO_FORMATS + + def test_mpeg_supported(self): + """MPEG is normalized to mp3 in decode, but listed for validation.""" + assert "mpeg" in SUPPORTED_AUDIO_FORMATS + + +class TestFilterMultimodalHistoryAudio: + """Tests for audio in multimodal history filtering.""" + + def test_filters_audio_from_history(self): + """Audio content is replaced with placeholder for text models.""" + from mlxk2.core.server_base import _filter_multimodal_history_for_text_models + + messages = [ + ChatMessage( + role="user", + content=[ + {"type": "text", "text": "Transcribe this"}, + {"type": "input_audio", "input_audio": {"data": "...", "format": "wav"}}, + ], + ), + ChatMessage(role="assistant", content="The audio says..."), + ] + + filtered = _filter_multimodal_history_for_text_models(messages) + + assert len(filtered) == 2 + assert "[1 audio(s) were attached]" in filtered[0].content + assert "Transcribe this" in filtered[0].content + + def test_filters_mixed_image_and_audio(self): + """Both images and audio are counted in placeholder.""" + from mlxk2.core.server_base import _filter_multimodal_history_for_text_models + + messages = [ + ChatMessage( + role="user", + content=[ + {"type": "text", "text": "Describe"}, + {"type": "image_url", "image_url": {"url": "data:..."}}, + {"type": "input_audio", "input_audio": {"data": "...", "format": "wav"}}, + ], + ), + ] + + filtered = _filter_multimodal_history_for_text_models(messages) + + assert "1 image(s)" in filtered[0].content + assert "1 audio(s)" in filtered[0].content diff --git a/tests_2.0/test_server_models_and_errors.py b/tests_2.0/test_server_models_and_errors.py index a5d3733..8e35629 100644 --- a/tests_2.0/test_server_models_and_errors.py +++ b/tests_2.0/test_server_models_and_errors.py @@ -159,3 +159,41 @@ def test_shutdown_event_maps_to_503_and_is_cleared(): server_base._shutdown_event.clear() +def test_validation_error_returns_adr004_envelope(): + """RequestValidationError (422) should return ADR-004 error envelope (F-06).""" + client = TestClient(app) + + # Send invalid payload (missing required 'model' field) + payload = {"prompt": "hi"} # Missing 'model' + + resp = client.post("/v1/completions", json=payload) + + # Should be 400 (not 422) with ADR-004 envelope + assert resp.status_code == 400 + + data = resp.json() + assert data.get("status") == "error" + assert "error" in data + assert data["error"].get("type") == "validation_error" + assert "message" in data["error"] + + +def test_http_exception_includes_not_implemented_type(): + """HTTP 501 should map to ErrorType.NOT_IMPLEMENTED in ADR-004 envelope.""" + from fastapi import HTTPException + + client = TestClient(app) + + with patch('mlxk2.core.server_base.get_or_load_model') as mock_get: + # Simulate 501 Not Implemented + mock_get.side_effect = HTTPException(status_code=501, detail="Feature not supported") + + payload = {"model": "test/model", "prompt": "hi"} + resp = client.post("/v1/completions", json=payload) + + assert resp.status_code == 501 + data = resp.json() + assert data.get("status") == "error" + assert data["error"].get("type") == "not_implemented" + + diff --git a/tests_2.0/test_vision_adapter.py b/tests_2.0/test_vision_adapter.py index b832783..456721d 100644 --- a/tests_2.0/test_vision_adapter.py +++ b/tests_2.0/test_vision_adapter.py @@ -12,6 +12,9 @@ from mlxk2.tools.vision_adapter import ( VisionHTTPAdapter, MAX_SAFE_CHUNK_SIZE, MAX_IMAGE_SIZE_BYTES, + MAX_IMAGES_PER_REQUEST, + MAX_TOTAL_IMAGE_SIZE_BYTES, + MAX_AUDIO_SIZE_BYTES, ) @@ -148,7 +151,7 @@ class TestParseOpenAIMessages: } ] - prompt, images = VisionHTTPAdapter.parse_openai_messages(messages) + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) assert prompt == "What's in this image?" assert len(images) == 1 @@ -168,7 +171,7 @@ class TestParseOpenAIMessages: } ] - prompt, images = VisionHTTPAdapter.parse_openai_messages(messages) + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) assert prompt == "Compare these images" assert len(images) == 2 @@ -181,7 +184,7 @@ class TestParseOpenAIMessages: {"role": "user", "content": "Hello, how are you?"} ] - prompt, images = VisionHTTPAdapter.parse_openai_messages(messages) + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) assert prompt == "Hello, how are you?" assert len(images) == 0 @@ -197,7 +200,7 @@ class TestParseOpenAIMessages: } ] - prompt, images = VisionHTTPAdapter.parse_openai_messages(messages) + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) assert prompt == "Describe the image." assert len(images) == 1 @@ -214,7 +217,7 @@ class TestParseOpenAIMessages: } ] - prompt, images = VisionHTTPAdapter.parse_openai_messages(messages) + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) assert prompt == "First part. Second part." assert len(images) == 0 @@ -232,7 +235,7 @@ class TestParseOpenAIMessages: } ] - prompt, images = VisionHTTPAdapter.parse_openai_messages(messages) + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) assert prompt == "Valid text" assert len(images) == 1 @@ -255,7 +258,7 @@ class TestParseOpenAIMessages: with pytest.raises(ValueError) as exc: VisionHTTPAdapter.parse_openai_messages(messages) - assert "at least text or images" in str(exc.value).lower() + assert "at least text" in str(exc.value).lower() def test_invalid_content_type_raises_error(self): """Test that invalid content types raise validation error.""" @@ -300,9 +303,71 @@ class TestParseOpenAIMessages: assert "url cannot be empty" in str(exc.value).lower() - # Note: Image count/size limits removed in Session 74 (ADR-012 Phase 1c) - # Chunking now handles batch safety - unlimited images allowed in adapter - # Validation happens at request level (run.py/server_base.py) not adapter level + def test_too_many_images_raises_error(self): + """Test that more than 5 images raises validation error (F-01).""" + # Create 6 images (exceeds MAX_IMAGES_PER_REQUEST=5) + image_items = [ + {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{VALID_JPEG_B64}"}} + for _ in range(6) + ] + messages = [ + { + "role": "user", + "content": [{"type": "text", "text": "describe"}] + image_items + } + ] + + with pytest.raises(ValueError) as exc: + VisionHTTPAdapter.parse_openai_messages(messages) + + assert "too many images" in str(exc.value).lower() + assert "5" in str(exc.value) # Should mention the limit + + def test_exactly_5_images_allowed(self): + """Test that exactly 5 images (the limit) is allowed.""" + image_items = [ + {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{VALID_JPEG_B64}"}} + for _ in range(5) + ] + messages = [ + { + "role": "user", + "content": [{"type": "text", "text": "describe"}] + image_items + } + ] + + # Should not raise + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) + assert len(images) == 5 + + def test_total_image_size_limit_raises_error(self): + """Test that total image size > 50MB raises validation error (F-01).""" + # Create large image data (just under per-image limit, but total exceeds 50MB) + # 6 images × 10MB each = 60MB > 50MB limit + large_data = "A" * (10 * 1024 * 1024) # 10 MB + large_b64 = base64.b64encode(large_data.encode()).decode() + + image_items = [ + {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{large_b64}"}} + for _ in range(5) # 5 × 10MB = 50MB, but with encoding overhead it exceeds + ] + messages = [ + { + "role": "user", + "content": [{"type": "text", "text": "describe"}] + image_items + } + ] + + # This should raise due to total size (each decoded is ~10MB, 5 = 50MB = at limit) + # With Base64 overhead, actual decoded size may differ - test validates behavior + # Either succeeds at exactly limit or fails if slightly over + try: + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) + # If it doesn't raise, it's at or under limit (acceptable) + assert len(images) == 5 + except ValueError as e: + # If it raises, should mention size limit + assert "total image size" in str(e).lower() or "exceeds limit" in str(e).lower() class TestSequentialImageExtraction: @@ -333,7 +398,7 @@ class TestSequentialImageExtraction: } ] - prompt, images = VisionHTTPAdapter.parse_openai_messages(messages) + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) # Should extract ONLY the PNG from the last user message assert len(images) == 1 @@ -357,7 +422,7 @@ class TestSequentialImageExtraction: {"role": "user", "content": "What color was the cat?"} ] - prompt, images = VisionHTTPAdapter.parse_openai_messages(messages) + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) # Should extract NO images (last user message is text-only) assert len(images) == 0 @@ -388,7 +453,7 @@ class TestSequentialImageExtraction: } ] - prompt, images = VisionHTTPAdapter.parse_openai_messages(messages) + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) # Should extract BOTH images from the last user message assert len(images) == 2 @@ -414,7 +479,7 @@ class TestSequentialImageExtraction: {"role": "user", "content": "What country is this garden in?"} ] - prompt, images = VisionHTTPAdapter.parse_openai_messages(messages) + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) # No images in last message assert len(images) == 0 @@ -451,7 +516,7 @@ class TestSequentialImageExtraction: } ] - prompt, images = VisionHTTPAdapter.parse_openai_messages(messages) + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) # Should extract ONLY the PNG from the third user message assert len(images) == 1 @@ -478,7 +543,7 @@ class TestSequentialImageExtraction: {"role": "user", "content": "Thanks!"} # String content, not array ] - prompt, images = VisionHTTPAdapter.parse_openai_messages(messages) + prompt, images, _audio = VisionHTTPAdapter.parse_openai_messages(messages) # No images (last user message is string, not array) assert len(images) == 0 @@ -858,3 +923,97 @@ class TestMappingTableParsing: assert len(id_map) == 2 assert id_map["aaaaaaaa"] == 1 assert id_map["bbbbbbbb"] == 2 + + +class TestAudioLimits: + """ + Tests for audio limits in parse_openai_messages (F-02). + + Only 1 audio per request is allowed due to mlx-vlm limitation. + """ + + # Minimal valid WAV header (44 bytes) + VALID_WAV_B64 = base64.b64encode( + b'RIFF' + b'\x24\x00\x00\x00' + # ChunkSize + b'WAVE' + + b'fmt ' + b'\x10\x00\x00\x00' + # Subchunk1Size + b'\x01\x00' + # AudioFormat (PCM) + b'\x01\x00' + # NumChannels (1) + b'\x44\xac\x00\x00' + # SampleRate (44100) + b'\x88\x58\x01\x00' + # ByteRate + b'\x02\x00' + # BlockAlign + b'\x10\x00' + # BitsPerSample + b'data' + b'\x00\x00\x00\x00' # Subchunk2Size (0 = empty) + ).decode() + + def test_single_audio_allowed(self): + """Test that single audio in request is allowed.""" + messages = [ + { + "role": "user", + "content": [ + {"type": "text", "text": "transcribe"}, + {"type": "input_audio", "input_audio": {"data": self.VALID_WAV_B64, "format": "wav"}} + ] + } + ] + + prompt, images, audio = VisionHTTPAdapter.parse_openai_messages(messages) + + assert len(audio) == 1 + assert audio[0][0].endswith(".wav") + + def test_multi_audio_raises_error(self): + """Test that more than 1 audio raises validation error (F-02).""" + messages = [ + { + "role": "user", + "content": [ + {"type": "text", "text": "transcribe"}, + {"type": "input_audio", "input_audio": {"data": self.VALID_WAV_B64, "format": "wav"}}, + {"type": "input_audio", "input_audio": {"data": self.VALID_WAV_B64, "format": "wav"}} + ] + } + ] + + with pytest.raises(ValueError) as exc: + VisionHTTPAdapter.parse_openai_messages(messages) + + assert "1 audio per request" in str(exc.value).lower() or "only 1" in str(exc.value).lower() + + def test_audio_with_images_allowed_in_adapter(self): + """Test that audio + images is allowed in adapter (filtering happens in server).""" + messages = [ + { + "role": "user", + "content": [ + {"type": "text", "text": "describe"}, + {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{VALID_JPEG_B64}"}}, + {"type": "input_audio", "input_audio": {"data": self.VALID_WAV_B64, "format": "wav"}} + ] + } + ] + + # Adapter allows both - server handles the filtering (F-03) + prompt, images, audio = VisionHTTPAdapter.parse_openai_messages(messages) + + assert len(images) == 1 + assert len(audio) == 1 + + def test_mpeg_format_accepted(self): + """Test that 'mpeg' format is accepted and normalized to mp3 (F-08).""" + messages = [ + { + "role": "user", + "content": [ + {"type": "text", "text": "transcribe"}, + {"type": "input_audio", "input_audio": {"data": self.VALID_WAV_B64, "format": "mpeg"}} + ] + } + ] + + prompt, images, audio = VisionHTTPAdapter.parse_openai_messages(messages) + + assert len(audio) == 1 + # Should be normalized to .mp3 + assert audio[0][0].endswith(".mp3")