{ "schema_version": 1, "family": "haas_asr", "display_name": "Haas-ja-v1.0", "description": "Japanese FastConformer-TDT ASR with a Kimi Delta Attention predictor, using the shared Parakeet implementation.", "category": "asr", "status": "community", "tasks": [ "asr" ], "modes": [ "offline", "streaming" ], "languages": [ "ja" ], "runtime": { "tags": [ "gguf", "stream" ] }, "capabilities": { "asr": [ "word_timestamps", "partial_results", "vad_chunking" ] }, "options": { "request": [ { "name": "return_timestamps", "type": "bool", "description": "Accepted for CLI --words-out compatibility. Word timestamps are always returned, including when false or omitted.", "required": false }, { "name": "max_tokens", "type": "int", "description": "Maximum TDT generated tokens; 0 or omitted uses the model-derived limit.", "required": false, "min": 0, "default": 0 }, { "name": "keep_language_tags", "type": "bool", "description": "Keep language tag tokens in decoded text; default false.", "required": false, "default": false }, { "name": "audio_chunk_mode", "type": "enum", "description": "Offline audio chunking mode. fixed selects overlapping long-form windows regardless of offline_mode; vad uses the configured VAD model (Silero by default) to skip silence; auto follows offline_mode. Offline input is downmixed and resampled as needed.", "values": [ "auto", "fixed", "vad", "none" ], "required": false, "default": "auto" }, { "name": "audio_chunk_duration_sec", "type": "float", "description": "VAD maximum chunk duration; omitted inherits the session duration. Fixed/long_form windows use the session setting, not this request override.", "required": false, "min": 0.001 } ], "session": [ { "name": "weight_type", "type": "enum", "description": "Shared matmul weight storage type; default native.", "preset": "weight_type_full", "required": false, "default": "native" }, { "name": "matmul_weight_type", "type": "enum", "description": "Encoder and decoder matmul weight storage type; defaults to weight_type, which defaults to native. Q8_0 measured 1.79x faster on the tested CPU and changed roughly 8 percent of transcripts without moving aggregate word error rate.", "preset": "weight_type_full", "required": false }, { "name": "conv_weight_type", "type": "enum", "description": "Convolution weight storage type; default native.", "preset": "weight_type_conv", "required": false, "default": "native" }, { "name": "perf_mode", "type": "enum", "description": "Encoder attention implementation. Default off uses the validated relative-attention path; flash_attention enables the fused implementation, which was numerically validated but slower on the tested hardware.", "preset": "perf_mode_flash_attention", "required": false, "default": "off" }, { "name": "weight_context_mb", "type": "int", "description": "Weight context arena size in MiB; default 3072.", "required": false, "min": 1, "default": 3072 }, { "name": "encoder_graph_arena_mb", "type": "int", "description": "Encoder graph arena size in MiB; default 1024.", "required": false, "min": 1, "default": 1024 }, { "name": "decoder_graph_arena_mb", "type": "int", "description": "Decoder graph arena size in MiB; default 256.", "required": false, "min": 1, "default": 256 }, { "name": "audio_chunk_duration_sec", "type": "float", "description": "Center-region duration for buffered streaming in seconds; default 2. Fixed context windows are re-encoded rather than cache-aware. Also sizes offline fixed/long_form windows.", "required": false, "min": 0.001, "default": 2 }, { "name": "left_context_sec", "type": "float", "description": "Past context included when re-encoding each buffered-streaming window in seconds; default 10. Also applies to offline fixed/long_form windows.", "required": false, "min": 0, "default": 10 }, { "name": "right_context_sec", "type": "float", "description": "Future lookahead included when re-encoding each buffered-streaming window in seconds; default 2 and adds equivalent partial-result latency. Also applies to offline fixed/long_form windows.", "required": false, "min": 0, "default": 2 }, { "name": "streaming_attention_mode", "type": "enum", "description": "Attention policy inside each buffered window. full_context preserves bidirectional attention over the bounded window.", "values": [ "full_context" ], "required": false, "default": "full_context" }, { "name": "offline_mode", "type": "enum", "description": "Offline encoder scheduling. full_context encodes the whole utterance, long_form uses bounded overlapping windows, and auto selects long_form beyond audio_chunk_threshold_sec.", "values": [ "full_context", "long_form", "auto" ], "required": false, "default": "full_context" }, { "name": "audio_chunk_threshold_sec", "type": "float", "description": "Duration threshold used by offline_mode=auto before switching to bounded-window long-form execution; default 30 seconds.", "required": false, "min": 0.001, "default": 30.0 }, { "name": "vad_model_path", "type": "path", "description": "VAD model path used by audio_chunk_mode=vad (any built-in VAD family); default assets/framework/models/silero_vad.", "required": false, "default": "assets/framework/models/silero_vad" } ], "load": [] }, "package_defaults": { "download": { "kind": "huggingface_snapshot", "repo": "audio-cpp/audio.cpp-gguf", "revision": "main", "gated": false } }, "packages": [ { "id": "haas_ja_v1_q8_0", "display_name": "Haas-ja-v1.0 Q8_0 GGUF (Japanese KDA-TDT)", "format": "gguf", "precision": "q8_0", "target_directory": "Haas-ja-v1.0-GGUF", "files": [ "Haas-ja-v1.0-GGUF/haas-ja-v1.0-q8_0.gguf" ], "strip_prefix": "Haas-ja-v1.0-GGUF", "default": true }, { "id": "haas_ja_v1_f16", "display_name": "Haas-ja-v1.0 F16 GGUF (Japanese KDA-TDT)", "format": "gguf", "precision": "f16", "target_directory": "Haas-ja-v1.0-GGUF", "files": [ "Haas-ja-v1.0-GGUF/haas-ja-v1.0-f16.gguf" ], "strip_prefix": "Haas-ja-v1.0-GGUF", "default": false } ], "dependencies": [], "ui": { "recommended_package": "haas_ja_v1_q8_0", "tags": [ "ASR", "GGUF" ], "docs": [ "docs/models/haas.md" ] }, "sources": [ { "format": "gguf", "roots": { "model": ".", "weights": "$gguf" }, "files": { "config": "model:config.json", "processor_config": "model:processor_config.json", "tokenizer_json": "model:tokenizer.json" }, "tensors": { "weights": "weights:" } }, { "format": "safetensors", "roots": { "model": "." }, "files": { "config": "model:config.json", "processor_config": "model:processor_config.json", "tokenizer_json": "model:tokenizer.json" }, "tensors": { "weights": "model:model.safetensors" } } ] }