| { |
| "version": "1.0", |
| "manifest_source": { |
| "base_url": "https://huggingface.co", |
| "repo": "smartvest-llc/smartvest-models", |
| "revision": "main" |
| }, |
| "preferences": { |
| "llm_backend_order": { |
| "ios": [ |
| "mlxllm", |
| "onnx_genai" |
| ], |
| "macos": [ |
| "mlxllm", |
| "onnx_genai" |
| ], |
| "android": [ |
| "onnx_genai" |
| ], |
| "windows": [ |
| "onnx_genai" |
| ], |
| "linux": [ |
| "onnx_genai" |
| ], |
| "web": [ |
| "onnx_genai" |
| ] |
| }, |
| "stt_backend_order": { |
| "ios": [ |
| "whispercpp", |
| "sherpa", |
| "remote" |
| ], |
| "macos": [ |
| "whispercpp", |
| "sherpa", |
| "remote" |
| ], |
| "android": [ |
| "whispercpp", |
| "sherpa", |
| "remote" |
| ], |
| "windows": [ |
| "whispercpp", |
| "sherpa", |
| "remote" |
| ], |
| "linux": [ |
| "whispercpp", |
| "sherpa", |
| "remote" |
| ], |
| "web": [ |
| "remote" |
| ] |
| }, |
| "tts_backend_order": { |
| "ios": [ |
| "kokoro", |
| "sherpa", |
| "remote" |
| ], |
| "macos": [ |
| "kokoro", |
| "sherpa", |
| "remote" |
| ], |
| "android": [ |
| "kokoro", |
| "sherpa", |
| "remote" |
| ], |
| "windows": [ |
| "kokoro", |
| "sherpa", |
| "remote" |
| ], |
| "linux": [ |
| "kokoro", |
| "sherpa", |
| "remote" |
| ], |
| "web": [ |
| "kokoro", |
| "remote" |
| ] |
| } |
| }, |
| "defaults": { |
| "llm": "gemma-3-1b-it", |
| "stt": "whisper-tiny", |
| "tts": "kokoro-82m" |
| }, |
| "stt_config": { |
| "audioFormats": { |
| "standardM4a": { |
| "sampleRate": 48000, |
| "channels": 2, |
| "bitDepth": 16, |
| "encoding": "aac", |
| "normalized": true |
| }, |
| "highQuality": { |
| "sampleRate": 48000, |
| "channels": 2, |
| "bitDepth": 24, |
| "encoding": "pcm32", |
| "normalized": true |
| }, |
| "sttDefault": { |
| "sampleRate": 16000, |
| "channels": 1, |
| "bitDepth": 16, |
| "encoding": "pcm16", |
| "normalized": true |
| } |
| }, |
| "modelPerformance": { |
| "tiny": { |
| "sizeMb": 39, |
| "speedMultiplier": 32.0, |
| "memoryMb": 350, |
| "accuracyScore": 0.75, |
| "benchmarkScores": { |
| "wer": 0.25, |
| "realtime_factor": 0.03 |
| }, |
| "initTimeSeconds": 5 |
| }, |
| "base": { |
| "sizeMb": 74, |
| "speedMultiplier": 16.0, |
| "memoryMb": 500, |
| "accuracyScore": 0.85, |
| "benchmarkScores": { |
| "wer": 0.15, |
| "realtime_factor": 0.05 |
| }, |
| "initTimeSeconds": 8 |
| }, |
| "small": { |
| "sizeMb": 244, |
| "speedMultiplier": 6.0, |
| "memoryMb": 750, |
| "accuracyScore": 0.9, |
| "benchmarkScores": { |
| "wer": 0.1, |
| "realtime_factor": 0.17 |
| }, |
| "initTimeSeconds": 12 |
| }, |
| "medium": { |
| "sizeMb": 769, |
| "speedMultiplier": 2.0, |
| "memoryMb": 1200, |
| "accuracyScore": 0.93, |
| "benchmarkScores": { |
| "wer": 0.07, |
| "realtime_factor": 0.5 |
| }, |
| "initTimeSeconds": 20 |
| }, |
| "large": { |
| "sizeMb": 1550, |
| "speedMultiplier": 1.0, |
| "memoryMb": 2000, |
| "accuracyScore": 0.95, |
| "benchmarkScores": { |
| "wer": 0.05, |
| "realtime_factor": 1.0 |
| }, |
| "initTimeSeconds": 30 |
| } |
| }, |
| "providerSettings": { |
| "whispercpp": { |
| "maxFileSizeMb": 100, |
| "baseMemoryMb": 200, |
| "defaultConfidence": 0.8 |
| }, |
| "sherpa": { |
| "maxFileSizeMb": 150, |
| "baseMemoryMb": 300, |
| "defaultConfidence": 0.85, |
| "rule1MinTrailingSilence": 2.4, |
| "rule2MinTrailingSilence": 1.2, |
| "rule3MinUtteranceLength": 20.0 |
| } |
| }, |
| "scoring": { |
| "successWeight": 0.7, |
| "speedWeight": 0.3, |
| "defaultNeutralScore": 0.5, |
| "qualityWeight": 0.6, |
| "performanceWeight": 0.4 |
| }, |
| "confidence": { |
| "minThreshold": 0.3, |
| "defaultWhisper": 0.8, |
| "defaultSherpa": 0.85, |
| "realtimeDefault": 0.7, |
| "accurateDefault": 0.9, |
| "defaultScore": 0.8 |
| }, |
| "timeouts": { |
| "networkTimeoutSeconds": 30, |
| "downloadTimeoutMinutes": 10, |
| "conversionTimeoutMinutes": 5, |
| "transcriptionTimeoutMinutes": 15, |
| "initTimeoutSeconds": 60 |
| }, |
| "memory": { |
| "baseMemoryMb": 150, |
| "whispercppBaseMb": 200, |
| "sherpaBaseMb": 300, |
| "conversionOverheadMb": 100, |
| "cachingOverheadMb": 50 |
| }, |
| "validation": { |
| "maxAudioFileSizeMb": 200, |
| "maxDurationSeconds": 3600, |
| "maxAlternatives": 3, |
| "requiredProviders": [ |
| "whispercpp", |
| "sherpa" |
| ], |
| "supportedFormats": [ |
| "wav", |
| "m4a", |
| "mp3", |
| "aac", |
| "flac" |
| ] |
| } |
| }, |
| "models": [ |
| { |
| "id": "whisper-tiny", |
| "task": "stt", |
| "backend": "whispercpp", |
| "description": "Whisper tiny GGML model for whisper.cpp", |
| "huggingface": { |
| "repo": "smartvest-llc/whisper-ggml-tiny", |
| "files": [ |
| { |
| "name": "ggml-tiny.en.bin", |
| "required": true |
| }, |
| { |
| "name": "0.wav", |
| "required": false |
| } |
| ] |
| }, |
| "constraints": { |
| "min_ram_mb": 256, |
| "max_disk_mb": 80 |
| } |
| }, |
| { |
| "id": "whisper-tiny-sherpa", |
| "task": "stt", |
| "backend": "sherpa", |
| "description": "Whisper tiny ONNX model for sherpa-onnx", |
| "huggingface": { |
| "repo": "smartvest-llc/sherpa-onnx-models", |
| "basePath": "sherpa-onnx-whisper-tiny/", |
| "files": [ |
| { |
| "name": "tiny.en-encoder.onnx", |
| "required": true |
| }, |
| { |
| "name": "tiny.en-decoder.onnx", |
| "required": true |
| }, |
| { |
| "name": "tiny.en-tokens.txt", |
| "required": true |
| } |
| ] |
| }, |
| "constraints": { |
| "min_ram_mb": 256, |
| "max_disk_mb": 100 |
| } |
| }, |
| { |
| "id": "kokoro-82m", |
| "task": "tts", |
| "backend": "kokoro", |
| "description": "Kokoro TTS model for text-to-speech", |
| "huggingface": { |
| "repo": "smartvest-llc/onnx-models", |
| "basePath": "kokoro/", |
| "files": [ |
| { |
| "name": "model.onnx", |
| "required": true |
| }, |
| { |
| "name": "voices.json", |
| "required": true |
| } |
| ] |
| }, |
| "constraints": { |
| "min_ram_mb": 512, |
| "max_disk_mb": 120 |
| } |
| }, |
| { |
| "id": "gemma-3-1b-it", |
| "task": "llm", |
| "description": "Gemma 3 1B instruction-tuned model (desktop-optimized)", |
| "platforms": { |
| "macos": { |
| "backend": "mlxllm", |
| "huggingface": { |
| "repo": "smartvest-llc/gemma-3-1b-it-mlx", |
| "files": [ |
| { |
| "name": "model.safetensors", |
| "required": true |
| }, |
| { |
| "name": "tokenizer.json", |
| "required": true |
| }, |
| { |
| "name": "config.json", |
| "required": true |
| }, |
| { |
| "name": "tokenizer_config.json", |
| "required": true |
| }, |
| { |
| "name": "special_tokens_map.json", |
| "required": true |
| }, |
| { |
| "name": "generation_config.json", |
| "required": true |
| }, |
| { |
| "name": "chat_template.jinja", |
| "required": false |
| }, |
| { |
| "name": "model.safetensors.index.json", |
| "required": false |
| } |
| ] |
| }, |
| "settings": { |
| "gpu_cache_limit_mb": 512, |
| "kv_cache_size": 16384, |
| "extra_eos_tokens": [ |
| "<end_of_turn>" |
| ] |
| } |
| }, |
| "windows": { |
| "backend": "onnx_genai", |
| "huggingface": { |
| "repo": "smartvest-llc/gemma-3-1b-it-genai", |
| "files": [ |
| { |
| "name": "genai_config.json", |
| "required": true |
| }, |
| { |
| "name": "model.onnx", |
| "required": true |
| }, |
| { |
| "name": "model.onnx.data", |
| "required": true |
| }, |
| { |
| "name": "tokenizer.json", |
| "required": true |
| }, |
| { |
| "name": "tokenizer_config.json", |
| "required": true |
| }, |
| { |
| "name": "special_tokens_map.json", |
| "required": true |
| }, |
| { |
| "name": "added_tokens.json", |
| "required": false |
| }, |
| { |
| "name": "chat_template.jinja", |
| "required": false |
| } |
| ] |
| }, |
| "settings": { |
| "execution_provider": "directml", |
| "intra_op_threads": 4, |
| "inter_op_threads": 2, |
| "graph_optim_level": "all", |
| "default_max_tokens": 1024 |
| } |
| }, |
| "linux": { |
| "backend": "onnx_genai", |
| "huggingface": { |
| "repo": "smartvest-llc/gemma-3-1b-it-genai", |
| "files": [ |
| { |
| "name": "genai_config.json", |
| "required": true |
| }, |
| { |
| "name": "model.onnx", |
| "required": true |
| }, |
| { |
| "name": "model.onnx.data", |
| "required": true |
| }, |
| { |
| "name": "tokenizer.json", |
| "required": true |
| }, |
| { |
| "name": "tokenizer_config.json", |
| "required": true |
| }, |
| { |
| "name": "special_tokens_map.json", |
| "required": true |
| }, |
| { |
| "name": "added_tokens.json", |
| "required": false |
| }, |
| { |
| "name": "chat_template.jinja", |
| "required": false |
| } |
| ] |
| }, |
| "settings": { |
| "execution_provider": "cpu", |
| "intra_op_threads": 4, |
| "inter_op_threads": 2, |
| "graph_optim_level": "extended", |
| "default_max_tokens": 1024 |
| } |
| } |
| }, |
| "constraints": { |
| "min_ram_mb": 4096, |
| "max_disk_mb": 2400 |
| } |
| }, |
| { |
| "id": "gemma-3-270m-it", |
| "task": "llm", |
| "description": "Gemma 3 270M instruction-tuned model (mobile-optimized)", |
| "platforms": { |
| "ios": { |
| "backend": "mlxllm", |
| "huggingface": { |
| "repo": "smartvest-llc/gemma-3-270m-it-mlx", |
| "files": [ |
| { |
| "name": "model.safetensors", |
| "required": true |
| }, |
| { |
| "name": "tokenizer.json", |
| "required": true |
| }, |
| { |
| "name": "config.json", |
| "required": true |
| }, |
| { |
| "name": "tokenizer_config.json", |
| "required": true |
| }, |
| { |
| "name": "special_tokens_map.json", |
| "required": true |
| } |
| ] |
| }, |
| "settings": { |
| "gpu_cache_limit_mb": 128, |
| "kv_cache_size": 4096, |
| "extra_eos_tokens": [ |
| "<end_of_turn>" |
| ] |
| } |
| }, |
| "android": { |
| "backend": "onnx_genai", |
| "huggingface": { |
| "repo": "smartvest-llc/gemma-3-270m-it-genai", |
| "revision": "6946b2bfef7ff52bf77a0a4de4ba2129d392b1c3", |
| "files": [ |
| { |
| "name": "genai_config.json", |
| "sha256": "434f8d2f6f8ed1cabbf7f7cfe924d0f504fd1a7165975067cde311ea4c7cb915", |
| "required": true |
| }, |
| { |
| "name": "model.onnx", |
| "sha256": "7d6aa6c4d86116d87bbefe2ce32c36eadd533769a1d0cabe437434024f570e3f", |
| "required": true |
| }, |
| { |
| "name": "model.onnx.data", |
| "sha256": "8eec84e73cb8bd28719a3e35ad4093abe54dc556138da1425a52aaba1841fa89", |
| "required": true |
| }, |
| { |
| "name": "tokenizer.json", |
| "sha256": "4667f2089529e8e7657cfb6d1c19910ae71ff5f28aa7ab2ff2763330affad795", |
| "required": true |
| }, |
| { |
| "name": "tokenizer_config.json", |
| "sha256": "28914cc934005a1f6e9f53a7eeea14d33097f9697514b4a961322de69b3b8e92", |
| "required": true |
| }, |
| { |
| "name": "special_tokens_map.json", |
| "sha256": "2f7b0adf4fb469770bb1490e3e35df87b1dc578246c5e7e6fc76ecf33213a397", |
| "required": true |
| }, |
| { |
| "name": "added_tokens.json", |
| "sha256": "2c355910178569f14ac635bb36f95afadaa5cec32d0c30fce6338ff9112b581d", |
| "required": false |
| }, |
| { |
| "name": "chat_template.jinja", |
| "sha256": "f0e1ea9c8d242aa19653031e9da1ef9d45b7819944285300f3050a31f49b6b2d", |
| "required": false |
| } |
| ] |
| }, |
| "settings": { |
| "execution_provider": "cpu", |
| "default_max_tokens": 256, |
| "kv_cache_size": 8192 |
| } |
| } |
| }, |
| "constraints": { |
| "min_ram_mb": 1024, |
| "max_disk_mb": 1000 |
| } |
| }, |
| { |
| "id": "anonymizer-0_6b", |
| "task": "anonymizer", |
| "description": "Privacy anonymizer model", |
| "platforms": { |
| "ios": { |
| "backend": "mlx", |
| "huggingface": { |
| "repo": "smartvest-llc/mlx-models", |
| "basePath": "anonymizer-0_6b/", |
| "files": [ |
| { |
| "name": "model.safetensors", |
| "required": true |
| }, |
| { |
| "name": "tokenizer.json", |
| "required": true |
| }, |
| { |
| "name": "config.json", |
| "required": true |
| }, |
| { |
| "name": "tokenizer_config.json", |
| "required": true |
| }, |
| { |
| "name": "special_tokens_map.json", |
| "required": true |
| } |
| ] |
| } |
| }, |
| "macos": { |
| "backend": "mlx", |
| "huggingface": { |
| "repo": "smartvest-llc/mlx-models", |
| "basePath": "anonymizer-0_6b/", |
| "files": [ |
| { |
| "name": "model.safetensors", |
| "required": true |
| }, |
| { |
| "name": "tokenizer.json", |
| "required": true |
| }, |
| { |
| "name": "config.json", |
| "required": true |
| }, |
| { |
| "name": "tokenizer_config.json", |
| "required": true |
| }, |
| { |
| "name": "special_tokens_map.json", |
| "required": true |
| } |
| ] |
| } |
| } |
| }, |
| "constraints": { |
| "min_ram_mb": 1024, |
| "max_disk_mb": 800 |
| } |
| } |
| ] |
| } |