nexaai 1.0.19rc5__cp310-cp310-macosx_14_0_universal2.whl → 1.0.19rc7__cp310-cp310-macosx_14_0_universal2.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of nexaai might be problematic. Click here for more details.
- nexaai/_stub.cpython-310-darwin.so +0 -0
- nexaai/_version.py +1 -1
- nexaai/binds/libnexa_bridge.dylib +0 -0
- nexaai/binds/nexa_llama_cpp/libggml-base.dylib +0 -0
- nexaai/binds/nexa_llama_cpp/libggml-cpu.so +0 -0
- nexaai/binds/nexa_llama_cpp/libggml-metal.so +0 -0
- nexaai/binds/nexa_llama_cpp/libggml.dylib +0 -0
- nexaai/binds/nexa_llama_cpp/libllama.dylib +0 -0
- nexaai/binds/nexa_llama_cpp/libmtmd.dylib +0 -0
- nexaai/binds/nexa_llama_cpp/libnexa_plugin.dylib +0 -0
- nexaai/binds/nexa_mlx/libnexa_plugin.dylib +0 -0
- nexaai/binds/nexa_mlx/py-lib/asr/__init__.py +12 -0
- nexaai/binds/nexa_mlx/py-lib/asr/interface.py +122 -0
- nexaai/binds/nexa_mlx/py-lib/common/__init__.py +0 -0
- nexaai/binds/nexa_mlx/py-lib/common/utils.py +25 -0
- nexaai/binds/nexa_mlx/py-lib/cv/__init__.py +0 -0
- nexaai/binds/nexa_mlx/py-lib/cv/generate.py +195 -0
- nexaai/binds/nexa_mlx/py-lib/cv/interface.py +151 -0
- nexaai/binds/nexa_mlx/py-lib/cv/main.py +81 -0
- nexaai/binds/nexa_mlx/py-lib/cv/modeling/pp_ocr_v4.py +1736 -0
- nexaai/binds/nexa_mlx/py-lib/embedding/__init__.py +0 -0
- nexaai/binds/nexa_mlx/py-lib/embedding/generate.py +333 -0
- nexaai/binds/nexa_mlx/py-lib/embedding/interface.py +617 -0
- nexaai/binds/nexa_mlx/py-lib/embedding/main.py +173 -0
- nexaai/binds/nexa_mlx/py-lib/embedding/modeling/__init__.py +0 -0
- nexaai/binds/nexa_mlx/py-lib/embedding/modeling/nexa_jina_v2.py +399 -0
- nexaai/binds/nexa_mlx/py-lib/image_gen/__init__.py +1 -0
- nexaai/binds/nexa_mlx/py-lib/image_gen/generate_sd.py +244 -0
- nexaai/binds/nexa_mlx/py-lib/image_gen/interface.py +82 -0
- nexaai/binds/nexa_mlx/py-lib/image_gen/main.py +281 -0
- nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/__init__.py +306 -0
- nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/clip.py +116 -0
- nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/config.py +65 -0
- nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/model_io.py +386 -0
- nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/sampler.py +105 -0
- nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/tokenizer.py +100 -0
- nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/unet.py +460 -0
- nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/vae.py +274 -0
- nexaai/binds/nexa_mlx/py-lib/llm/__init__.py +0 -0
- nexaai/binds/nexa_mlx/py-lib/llm/generate.py +149 -0
- nexaai/binds/nexa_mlx/py-lib/llm/interface.py +764 -0
- nexaai/binds/nexa_mlx/py-lib/llm/main.py +68 -0
- nexaai/binds/nexa_mlx/py-lib/rerank/__init__.py +0 -0
- nexaai/binds/nexa_mlx/py-lib/rerank/generate.py +174 -0
- nexaai/binds/nexa_mlx/py-lib/rerank/interface.py +287 -0
- nexaai/binds/nexa_mlx/py-lib/rerank/main.py +127 -0
- nexaai/binds/nexa_mlx/py-lib/rerank/modeling/__init__.py +0 -0
- nexaai/binds/nexa_mlx/py-lib/rerank/modeling/nexa_jina_rerank.py +330 -0
- nexaai/binds/nexa_mlx/py-lib/sd/__init__.py +1 -0
- nexaai/binds/nexa_mlx/py-lib/sd/interface.py +362 -0
- nexaai/binds/nexa_mlx/py-lib/sd/main.py +286 -0
- nexaai/binds/nexa_mlx/py-lib/sd/modeling/__init__.py +306 -0
- nexaai/binds/nexa_mlx/py-lib/sd/modeling/clip.py +116 -0
- nexaai/binds/nexa_mlx/py-lib/sd/modeling/config.py +65 -0
- nexaai/binds/nexa_mlx/py-lib/sd/modeling/model_io.py +385 -0
- nexaai/binds/nexa_mlx/py-lib/sd/modeling/sampler.py +105 -0
- nexaai/binds/nexa_mlx/py-lib/sd/modeling/tokenizer.py +100 -0
- nexaai/binds/nexa_mlx/py-lib/sd/modeling/unet.py +460 -0
- nexaai/binds/nexa_mlx/py-lib/sd/modeling/vae.py +274 -0
- nexaai/binds/nexa_mlx/py-lib/tts/__init__.py +12 -0
- nexaai/binds/nexa_mlx/py-lib/tts/interface.py +276 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/__init__.py +3 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/generate.py +572 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/generate_qwen3_vl.py +294 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/generate_qwen3_vl_moe.py +276 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/interface.py +504 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/main.py +320 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/__init__.py +0 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/convert.py +68 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/__init__.py +0 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/aya_vision.py +193 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/interpolate.py +186 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/language.py +233 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/vision.py +503 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/base.py +202 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/cache.py +230 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/__init__.py +10 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/conversation.py +264 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/deepseek_vl_v2.py +472 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/language.py +591 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/processing_deepsek_vl_v2.py +526 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/vision.py +356 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/florence2/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/florence2/florence2.py +366 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/florence2/language.py +488 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/florence2/vision.py +591 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3/gemma3.py +213 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3/language.py +315 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3/vision.py +238 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/__init__.py +2 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/audio.py +1038 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/config.py +139 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/gemma3n.py +322 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/language.py +629 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/vision.py +1022 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics2/__init__.py +9 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics2/idefics2.py +294 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics2/language.py +191 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics2/vision.py +267 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics3/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics3/idefics3.py +175 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics3/language.py +192 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics3/vision.py +233 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/__init__.py +9 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/internvl_chat.py +140 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/language.py +220 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/processor.py +393 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/vision.py +293 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kernels.py +307 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kimi_vl/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kimi_vl/kimi_vl.py +143 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kimi_vl/language.py +509 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kimi_vl/vision.py +522 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llama4/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llama4/language.py +386 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llama4/llama4.py +138 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llama4/vision.py +560 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava/language.py +240 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava/llava.py +153 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava/vision.py +259 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_bunny/__init__.py +9 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_bunny/language.py +236 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_bunny/llava_bunny.py +256 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_bunny/vision.py +303 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_next/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_next/language.py +230 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_next/llava_next.py +160 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_next/vision.py +243 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mistral3/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mistral3/mistral3.py +283 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mllama/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mllama/language.py +416 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mllama/mllama.py +172 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mllama/vision.py +499 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/molmo/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/molmo/language.py +243 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/molmo/molmo.py +133 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/molmo/vision.py +465 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/__init__.py +10 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/language.py +230 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/multi_modality.py +385 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/sam.py +557 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/vision.py +526 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/paligemma/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/paligemma/language.py +282 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/paligemma/paligemma.py +160 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/paligemma/vision.py +242 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/language.py +21 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/phi3_v.py +243 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/su_rope.py +71 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/vision.py +324 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/pixtral/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/pixtral/language.py +229 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/pixtral/pixtral.py +161 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/pixtral/vision.py +320 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/__init__.py +2 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/config.py +108 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/language.py +490 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/qwen2_5_vl.py +168 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/vision.py +414 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/__init__.py +2 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/config.py +104 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/language.py +490 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/qwen2_vl.py +167 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/vision.py +312 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/__init__.py +0 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/base.py +117 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/cache.py +531 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/generate.py +701 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/rope_utils.py +255 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/sample_utils.py +303 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/tokenizer_utils.py +407 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/processor.py +476 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/qwen3vl.py +1223 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/__init__.py +0 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/base.py +117 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/cache.py +531 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/generate.py +701 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/rope_utils.py +255 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/sample_utils.py +303 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/tokenizer_utils.py +407 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/processor.py +476 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/qwen3vl_moe.py +1309 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/switch_layers.py +210 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/smolvlm/__init__.py +8 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/smolvlm/smolvlm.py +62 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/processing_qwen2_5_vl.py +209 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/processing_qwen2_vl.py +215 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/prompt_utils.py +474 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/sample_utils.py +39 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/tokenizer_utils.py +344 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/trainer/__init__.py +9 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/trainer/lora.py +70 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/trainer/trainer.py +296 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/trainer/utils.py +160 -0
- nexaai/binds/nexa_mlx/py-lib/vlm/modeling/utils.py +928 -0
- nexaai/binds/nexa_nexaml/libggml-base.dylib +0 -0
- nexaai/binds/nexa_nexaml/libggml-cpu.so +0 -0
- nexaai/binds/nexa_nexaml/libggml-metal.so +0 -0
- nexaai/binds/nexa_nexaml/libggml.dylib +0 -0
- nexaai/mlx_backend/vlm/generate_qwen3_vl_moe.py +276 -0
- nexaai/mlx_backend/vlm/interface.py +21 -4
- nexaai/mlx_backend/vlm/main.py +6 -2
- nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/__init__.py +0 -0
- nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/base.py +117 -0
- nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/cache.py +531 -0
- nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/generate.py +701 -0
- nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/rope_utils.py +255 -0
- nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/sample_utils.py +303 -0
- nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/tokenizer_utils.py +407 -0
- nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/processor.py +476 -0
- nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/qwen3vl_moe.py +1309 -0
- nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/switch_layers.py +210 -0
- {nexaai-1.0.19rc5.dist-info → nexaai-1.0.19rc7.dist-info}/METADATA +1 -1
- {nexaai-1.0.19rc5.dist-info → nexaai-1.0.19rc7.dist-info}/RECORD +221 -21
- {nexaai-1.0.19rc5.dist-info → nexaai-1.0.19rc7.dist-info}/WHEEL +0 -0
- {nexaai-1.0.19rc5.dist-info → nexaai-1.0.19rc7.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import math
|
|
2
|
+
import mlx.core as mx
|
|
3
|
+
import mlx.nn as nn
|
|
4
|
+
|
|
5
|
+
def _gather_sort(x, indices):
|
|
6
|
+
*_, M = indices.shape
|
|
7
|
+
indices = indices.flatten()
|
|
8
|
+
order = mx.argsort(indices)
|
|
9
|
+
inv_order = mx.argsort(order)
|
|
10
|
+
return x.flatten(0, -3)[order // M], indices[order], inv_order
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def _scatter_unsort(x, inv_order, shape=None):
|
|
14
|
+
x = x[inv_order]
|
|
15
|
+
if shape is not None:
|
|
16
|
+
x = mx.unflatten(x, 0, shape)
|
|
17
|
+
return x
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class QuantizedSwitchLinear(nn.Module):
|
|
21
|
+
def __init__(
|
|
22
|
+
self,
|
|
23
|
+
input_dims: int,
|
|
24
|
+
output_dims: int,
|
|
25
|
+
num_experts: int,
|
|
26
|
+
bias: bool = True,
|
|
27
|
+
group_size: int = 64,
|
|
28
|
+
bits: int = 4,
|
|
29
|
+
):
|
|
30
|
+
super().__init__()
|
|
31
|
+
|
|
32
|
+
scale = math.sqrt(1 / input_dims)
|
|
33
|
+
self.weight, self.scales, self.biases = mx.quantize(
|
|
34
|
+
mx.random.uniform(
|
|
35
|
+
low=-scale,
|
|
36
|
+
high=scale,
|
|
37
|
+
shape=(num_experts, output_dims, input_dims),
|
|
38
|
+
),
|
|
39
|
+
group_size=group_size,
|
|
40
|
+
bits=bits,
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
if bias:
|
|
44
|
+
self.bias = mx.zeros((num_experts, output_dims))
|
|
45
|
+
|
|
46
|
+
self.group_size = group_size
|
|
47
|
+
self.bits = bits
|
|
48
|
+
|
|
49
|
+
# Freeze this model's parameters
|
|
50
|
+
self.freeze()
|
|
51
|
+
|
|
52
|
+
def unfreeze(self, *args, **kwargs):
|
|
53
|
+
"""Wrap unfreeze so that we unfreeze any layers we might contain but
|
|
54
|
+
our parameters will remain frozen."""
|
|
55
|
+
super().unfreeze(*args, **kwargs)
|
|
56
|
+
self.freeze(recurse=False)
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def input_dims(self):
|
|
60
|
+
return self.scales.shape[2] * self.group_size
|
|
61
|
+
|
|
62
|
+
@property
|
|
63
|
+
def output_dims(self):
|
|
64
|
+
return self.weight.shape[1]
|
|
65
|
+
|
|
66
|
+
@property
|
|
67
|
+
def num_experts(self):
|
|
68
|
+
return self.weight.shape[0]
|
|
69
|
+
|
|
70
|
+
def __call__(self, x, indices, sorted_indices=False):
|
|
71
|
+
x = mx.gather_qmm(
|
|
72
|
+
x,
|
|
73
|
+
self["weight"],
|
|
74
|
+
self["scales"],
|
|
75
|
+
self["biases"],
|
|
76
|
+
rhs_indices=indices,
|
|
77
|
+
transpose=True,
|
|
78
|
+
group_size=self.group_size,
|
|
79
|
+
bits=self.bits,
|
|
80
|
+
sorted_indices=sorted_indices,
|
|
81
|
+
)
|
|
82
|
+
if "bias" in self:
|
|
83
|
+
x = x + mx.expand_dims(self["bias"][indices], -2)
|
|
84
|
+
return x
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class SwitchLinear(nn.Module):
|
|
88
|
+
def __init__(
|
|
89
|
+
self, input_dims: int, output_dims: int, num_experts: int, bias: bool = True
|
|
90
|
+
):
|
|
91
|
+
super().__init__()
|
|
92
|
+
scale = math.sqrt(1 / input_dims)
|
|
93
|
+
self.weight = mx.random.uniform(
|
|
94
|
+
low=-scale,
|
|
95
|
+
high=scale,
|
|
96
|
+
shape=(num_experts, output_dims, input_dims),
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
if bias:
|
|
100
|
+
self.bias = mx.zeros((num_experts, output_dims))
|
|
101
|
+
|
|
102
|
+
@property
|
|
103
|
+
def input_dims(self):
|
|
104
|
+
return self.weight.shape[2]
|
|
105
|
+
|
|
106
|
+
@property
|
|
107
|
+
def output_dims(self):
|
|
108
|
+
return self.weight.shape[1]
|
|
109
|
+
|
|
110
|
+
@property
|
|
111
|
+
def num_experts(self):
|
|
112
|
+
return self.weight.shape[0]
|
|
113
|
+
|
|
114
|
+
def __call__(self, x, indices, sorted_indices=False):
|
|
115
|
+
x = mx.gather_mm(
|
|
116
|
+
x,
|
|
117
|
+
self["weight"].swapaxes(-1, -2),
|
|
118
|
+
lhs_indices=None,
|
|
119
|
+
rhs_indices=indices,
|
|
120
|
+
)
|
|
121
|
+
if "bias" in self:
|
|
122
|
+
x = x + mx.expand_dims(self["bias"][indices], -2)
|
|
123
|
+
return x
|
|
124
|
+
|
|
125
|
+
def to_quantized(self, group_size: int = 64, bits: int = 4):
|
|
126
|
+
num_experts, output_dims, input_dims = self.weight.shape
|
|
127
|
+
ql = QuantizedSwitchLinear(
|
|
128
|
+
input_dims, output_dims, num_experts, False, group_size, bits
|
|
129
|
+
)
|
|
130
|
+
ql.weight, ql.scales, ql.biases = mx.quantize(self.weight, group_size, bits)
|
|
131
|
+
if "bias" in self:
|
|
132
|
+
ql.bias = self.bias
|
|
133
|
+
return ql
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
class SwitchGLU(nn.Module):
|
|
137
|
+
def __init__(
|
|
138
|
+
self,
|
|
139
|
+
input_dims: int,
|
|
140
|
+
hidden_dims: int,
|
|
141
|
+
num_experts: int,
|
|
142
|
+
activation=nn.SiLU(),
|
|
143
|
+
bias: bool = False,
|
|
144
|
+
):
|
|
145
|
+
super().__init__()
|
|
146
|
+
|
|
147
|
+
self.gate_proj = SwitchLinear(input_dims, hidden_dims, num_experts, bias=bias)
|
|
148
|
+
self.up_proj = SwitchLinear(input_dims, hidden_dims, num_experts, bias=bias)
|
|
149
|
+
self.down_proj = SwitchLinear(hidden_dims, input_dims, num_experts, bias=bias)
|
|
150
|
+
self.activation = activation
|
|
151
|
+
|
|
152
|
+
def __call__(self, x, indices) -> mx.array:
|
|
153
|
+
x = mx.expand_dims(x, (-2, -3))
|
|
154
|
+
|
|
155
|
+
# When we have many tokens, then sort them to make sure that the access
|
|
156
|
+
# of different experts is in order.
|
|
157
|
+
do_sort = indices.size >= 64
|
|
158
|
+
idx = indices
|
|
159
|
+
inv_order = None
|
|
160
|
+
if do_sort:
|
|
161
|
+
x, idx, inv_order = _gather_sort(x, indices)
|
|
162
|
+
|
|
163
|
+
x_up = self.up_proj(x, idx, sorted_indices=do_sort)
|
|
164
|
+
x_gate = self.gate_proj(x, idx, sorted_indices=do_sort)
|
|
165
|
+
x = self.down_proj(
|
|
166
|
+
self.activation(x_gate) * x_up,
|
|
167
|
+
idx,
|
|
168
|
+
sorted_indices=do_sort,
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
if do_sort:
|
|
172
|
+
x = _scatter_unsort(x, inv_order, indices.shape)
|
|
173
|
+
|
|
174
|
+
return x.squeeze(-2)
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
class SwitchMLP(nn.Module):
|
|
178
|
+
def __init__(
|
|
179
|
+
self,
|
|
180
|
+
input_dims: int,
|
|
181
|
+
hidden_dims: int,
|
|
182
|
+
num_experts: int,
|
|
183
|
+
activation=nn.GELU(approx="precise"),
|
|
184
|
+
bias: bool = False,
|
|
185
|
+
):
|
|
186
|
+
super().__init__()
|
|
187
|
+
|
|
188
|
+
self.fc1 = SwitchLinear(input_dims, hidden_dims, num_experts, bias=bias)
|
|
189
|
+
self.fc2 = SwitchLinear(hidden_dims, input_dims, num_experts, bias=bias)
|
|
190
|
+
self.activation = activation
|
|
191
|
+
|
|
192
|
+
def __call__(self, x, indices) -> mx.array:
|
|
193
|
+
x = mx.expand_dims(x, (-2, -3))
|
|
194
|
+
|
|
195
|
+
# When we have many tokens, then sort them to make sure that the access
|
|
196
|
+
# of different experts is in order.
|
|
197
|
+
do_sort = indices.size >= 64
|
|
198
|
+
idx = indices
|
|
199
|
+
inv_order = None
|
|
200
|
+
if do_sort:
|
|
201
|
+
x, idx, inv_order = _gather_sort(x, indices)
|
|
202
|
+
|
|
203
|
+
x = self.fc1(x, idx, sorted_indices=do_sort)
|
|
204
|
+
x = self.activation(x)
|
|
205
|
+
x = self.fc2(x, idx, sorted_indices=do_sort)
|
|
206
|
+
|
|
207
|
+
if do_sort:
|
|
208
|
+
x = _scatter_unsort(x, inv_order, indices.shape)
|
|
209
|
+
|
|
210
|
+
return x.squeeze(-2)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
nexaai/__init__.py,sha256=L8oB7GFZZMGnUpCg0PecDbI_ycKuQak-ZEJ4Y12_QIw,2184
|
|
2
|
-
nexaai/_stub.cpython-310-darwin.so,sha256=
|
|
3
|
-
nexaai/_version.py,sha256=
|
|
2
|
+
nexaai/_stub.cpython-310-darwin.so,sha256=AAJFfr2PnpeTXi5gkZlISfZTP1jufDlxFU5F3hj4u7M,66768
|
|
3
|
+
nexaai/_version.py,sha256=6idfoyE0rE2oVy8hJFBcYRNfoySV3pKNZpyB8HSD4ko,143
|
|
4
4
|
nexaai/asr.py,sha256=NljMXDErwPNMOPaRkJZMEDka9Nk8xyur7L8i924TStY,2054
|
|
5
5
|
nexaai/base.py,sha256=N8PRgDFA-XPku2vWnQIofQ7ipz3pPlO6f8YZGnuhquE,982
|
|
6
6
|
nexaai/common.py,sha256=Y0NJNLTi4Nq4x1WL6PQsSvGUto0eGmWhjpsC6jcekfA,3444
|
|
@@ -19,19 +19,50 @@ nexaai/asr_impl/pybind_asr_impl.py,sha256=pE9Hb_hMi5yAc4MF83bLVOb8zDtreCkB3_u7XE
|
|
|
19
19
|
nexaai/binds/__init__.py,sha256=eYuay_8DDXeOUWz2_R9HFSabohxs6hvZn391t2L0Po0,104
|
|
20
20
|
nexaai/binds/common_bind.cpython-310-darwin.so,sha256=zxJuD0nSV--VZKxBfWZUavU7_bHj_JTi0FhkjvG4VJw,235264
|
|
21
21
|
nexaai/binds/embedder_bind.cpython-310-darwin.so,sha256=tPa0c0Dv_GiW66fgmAGWGCHXRGNApznqoQS0eQx9GFM,202064
|
|
22
|
-
nexaai/binds/libnexa_bridge.dylib,sha256=
|
|
22
|
+
nexaai/binds/libnexa_bridge.dylib,sha256=zhUM-SVjLq4f7PKjpP2BbYeWJ9_jgYZB72KY4cmEPKI,251832
|
|
23
23
|
nexaai/binds/llm_bind.cpython-310-darwin.so,sha256=TAWfa1Hzq00TjtC1xVsiAeLp6hv2LrL5afDz4omUghc,182784
|
|
24
24
|
nexaai/binds/vlm_bind.cpython-310-darwin.so,sha256=nd6eG_m2EiPthzkSZ97hlXWUOZQir4cQfFJZ4p6eR2U,182704
|
|
25
|
-
nexaai/binds/nexa_llama_cpp/libggml-base.dylib,sha256=
|
|
26
|
-
nexaai/binds/nexa_llama_cpp/libggml-cpu.so,sha256=
|
|
27
|
-
nexaai/binds/nexa_llama_cpp/libggml-metal.so,sha256=
|
|
28
|
-
nexaai/binds/nexa_llama_cpp/libggml.dylib,sha256=
|
|
29
|
-
nexaai/binds/nexa_llama_cpp/libllama.dylib,sha256=
|
|
30
|
-
nexaai/binds/nexa_llama_cpp/libmtmd.dylib,sha256=
|
|
31
|
-
nexaai/binds/nexa_llama_cpp/libnexa_plugin.dylib,sha256=
|
|
32
|
-
nexaai/binds/nexa_mlx/libnexa_plugin.dylib,sha256=
|
|
25
|
+
nexaai/binds/nexa_llama_cpp/libggml-base.dylib,sha256=eN6A-6ufUoRJdbdkWD7T-jV1M-FmMIRiO4D-g4ep9s4,650944
|
|
26
|
+
nexaai/binds/nexa_llama_cpp/libggml-cpu.so,sha256=h9HVt-TibwTN-QzzKNj69KFz9uGfSVg62pHQMwF0bWY,694288
|
|
27
|
+
nexaai/binds/nexa_llama_cpp/libggml-metal.so,sha256=QZ-ArPROGNribtgQ-LiQOFoEzUgQ3IVF2X_LXqNcu3o,675088
|
|
28
|
+
nexaai/binds/nexa_llama_cpp/libggml.dylib,sha256=AUoIx9MkSAjbeVmkUIUCyJlg7zGKlpc9K8Y0BAfORqE,58640
|
|
29
|
+
nexaai/binds/nexa_llama_cpp/libllama.dylib,sha256=oB-x254o2vSQefwUwjF9iGkgCT9EszhGiAO_w50gVpw,1823792
|
|
30
|
+
nexaai/binds/nexa_llama_cpp/libmtmd.dylib,sha256=JBTkkr1lDX8SN0-MSL4FIYtPKZcR96sUnayEnXYSk4U,606192
|
|
31
|
+
nexaai/binds/nexa_llama_cpp/libnexa_plugin.dylib,sha256=2Rur23C0j5E0jH7xUwT3OotdHkatAW4yAOT6mAmei2M,1902952
|
|
32
|
+
nexaai/binds/nexa_mlx/libnexa_plugin.dylib,sha256=gllGB0YibdyaKCoZ80t3DFcjOHkzklDnfyTCkSim1OI,659256
|
|
33
33
|
nexaai/binds/nexa_mlx/py-lib/ml.py,sha256=DKXVOAfh8cg7KTKljh7jpcPwfQFNigc6uv_ZXF6lse8,23977
|
|
34
34
|
nexaai/binds/nexa_mlx/py-lib/profiling.py,sha256=Dc-mybFwBdCIKFWL7CbSHjkOJGAoYHG7r_e_XPhzwBU,9361
|
|
35
|
+
nexaai/binds/nexa_mlx/py-lib/asr/__init__.py,sha256=fuT_9_xpYJ28m4yjly5L2jChUrzlSQz-b_S7nujxkSM,451
|
|
36
|
+
nexaai/binds/nexa_mlx/py-lib/asr/interface.py,sha256=pE5expr8sP7O9bEgWaUaJ4ITX0MsCxFovG9iVWqVDVU,4246
|
|
37
|
+
nexaai/binds/nexa_mlx/py-lib/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
+
nexaai/binds/nexa_mlx/py-lib/common/utils.py,sha256=WtRTdE0bUhpsOmhuM_dhn8WHkOxtqRv0vNp5kSY-rNU,949
|
|
39
|
+
nexaai/binds/nexa_mlx/py-lib/cv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
+
nexaai/binds/nexa_mlx/py-lib/cv/generate.py,sha256=fC7a1QQqcOsoa3NkRTVY-e6i97T6Hry8KohWJtqQeCU,6288
|
|
41
|
+
nexaai/binds/nexa_mlx/py-lib/cv/interface.py,sha256=qE51ApUETEZxDMPZB4VdV098fsXcIiEg4Hj9zaGQCp4,4686
|
|
42
|
+
nexaai/binds/nexa_mlx/py-lib/cv/main.py,sha256=hYaF2C36hKTyy7kGMNkzLrdczPiFVS73H320klzzpVM,2856
|
|
43
|
+
nexaai/binds/nexa_mlx/py-lib/cv/modeling/pp_ocr_v4.py,sha256=Vpa-QTy7N5oFfGI7Emldx1dOYJWv_4nAFNRDz_5vHBI,58593
|
|
44
|
+
nexaai/binds/nexa_mlx/py-lib/embedding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
|
+
nexaai/binds/nexa_mlx/py-lib/embedding/generate.py,sha256=leZA0Ir78-5GV3jloPKYSAKgb04Wr5jORFJlSSVyKs0,12855
|
|
46
|
+
nexaai/binds/nexa_mlx/py-lib/embedding/interface.py,sha256=M7AGiq_UVLNIi2Ie6H08ySnMxIjIhUlNgmV9I_rKYt4,22742
|
|
47
|
+
nexaai/binds/nexa_mlx/py-lib/embedding/main.py,sha256=xKRebBcooKuf8DzWKwCicftes3MAcYAd1QvcT9_AAPQ,6003
|
|
48
|
+
nexaai/binds/nexa_mlx/py-lib/embedding/modeling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
+
nexaai/binds/nexa_mlx/py-lib/embedding/modeling/nexa_jina_v2.py,sha256=F9Z_9r-Dh0wNThiMp5W5hqE2dt5bf4ps5_c6h4BuWGw,15218
|
|
50
|
+
nexaai/binds/nexa_mlx/py-lib/image_gen/__init__.py,sha256=8eFAF00-yWdEs0LJiszjHEsgPDAF8tSruBYvujCNgE0,42
|
|
51
|
+
nexaai/binds/nexa_mlx/py-lib/image_gen/generate_sd.py,sha256=8DuPsJlxVf1LlFARVThiW807G-0cWPReYONj-x8qKRo,8616
|
|
52
|
+
nexaai/binds/nexa_mlx/py-lib/image_gen/interface.py,sha256=7ElIiLm5gZXAfKPs497wLkn8qqLFLL5T-oV-hXVmEdw,3285
|
|
53
|
+
nexaai/binds/nexa_mlx/py-lib/image_gen/main.py,sha256=jKkGDfqmGIsQwhHJaL_j_CTtr04xplD6dnnGe3AcilU,8123
|
|
54
|
+
nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/__init__.py,sha256=wriLb0wA5vCBlCoQMtfKrVVWMJw8fhXCCk6R9_Nrb9c,9524
|
|
55
|
+
nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/clip.py,sha256=feHQXi1NiGa01AMo7nK8M-sgBoZBHI95xAGMfAv64kE,3733
|
|
56
|
+
nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/config.py,sha256=lq2sWXevpnCk8KXOywEVOzgFT6WBNnG4xr7NLWgidII,1773
|
|
57
|
+
nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/model_io.py,sha256=ei-pdrqFxjeHLL6Ov5NZaHT5lceqZbHDyNFfUFUh_04,13755
|
|
58
|
+
nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/sampler.py,sha256=nJxiSmF79E2aDGzLqygOat4zpgaTzfR7Kp1PD0bmhWA,3397
|
|
59
|
+
nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/tokenizer.py,sha256=WMcmyQmb5MmhCp-NNU72Bqjq9vQvDzgR8KAfGKA2Qso,2991
|
|
60
|
+
nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/unet.py,sha256=rYj1-baAugL7CNyYYvLch891WUgpunhAJCVBNKxfZSA,14762
|
|
61
|
+
nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/vae.py,sha256=sQ1943x5SKyTmeL2xe3t84FL9DGO72Eab2m88r-BSe8,8044
|
|
62
|
+
nexaai/binds/nexa_mlx/py-lib/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
|
+
nexaai/binds/nexa_mlx/py-lib/llm/generate.py,sha256=Phes0tzxbbEWA2hDylQvD0LjorMaPwvcfZq9RKCAOt0,4399
|
|
64
|
+
nexaai/binds/nexa_mlx/py-lib/llm/interface.py,sha256=SZFkuAUi2vxj_dSqj8RXf9vPTGMtpks_pZxxrF7iIe8,29330
|
|
65
|
+
nexaai/binds/nexa_mlx/py-lib/llm/main.py,sha256=gFDE4VZv_CLKMCTn0N521OfCKH_Ys26bHDh6g9VEFNc,1982
|
|
35
66
|
nexaai/binds/nexa_mlx/py-lib/mlx_audio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
67
|
nexaai/binds/nexa_mlx/py-lib/mlx_audio/server.py,sha256=Pqy13Fafq4WX_cTuvRFz1jq89beQm2QQGpXmhK4b9jc,17547
|
|
37
68
|
nexaai/binds/nexa_mlx/py-lib/mlx_audio/utils.py,sha256=35_9pWHzCuf2HAWHLkmz8AeyPa9WlYFr86zSRasoaAg,6476
|
|
@@ -182,12 +213,170 @@ nexaai/binds/nexa_mlx/py-lib/mlx_audio/tts/tests/test_base.py,sha256=dAeEA0IsBnU
|
|
|
182
213
|
nexaai/binds/nexa_mlx/py-lib/mlx_audio/tts/tests/test_convert.py,sha256=79ddUhtTUlElD9NvBupUxl-MV4HKFM9PUxQpTwKLnBA,5804
|
|
183
214
|
nexaai/binds/nexa_mlx/py-lib/mlx_audio/tts/tests/test_interpolate.py,sha256=9dNmH03C46HtxwesH2DpT2oTNEG1KCZWYEKq6UQ3vfk,3536
|
|
184
215
|
nexaai/binds/nexa_mlx/py-lib/mlx_audio/tts/tests/test_models.py,sha256=12RiOfPtSZQj5g5JM-yCJk3uGQfM3OdmRiPt5uUDE4E,35096
|
|
216
|
+
nexaai/binds/nexa_mlx/py-lib/rerank/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
217
|
+
nexaai/binds/nexa_mlx/py-lib/rerank/generate.py,sha256=Y6aWBg0bxVyLS7OiLTpM6cR0XoVw6mpna6QOkBFMpNM,6017
|
|
218
|
+
nexaai/binds/nexa_mlx/py-lib/rerank/interface.py,sha256=iU8KmEdDa_QpptszWGlYGerp9LR08TMm8Ba80neMyAo,9922
|
|
219
|
+
nexaai/binds/nexa_mlx/py-lib/rerank/main.py,sha256=HEiZxPvW54B1TlZ6svVguunSXOtUaHZSSPuQvxnBvHA,4258
|
|
220
|
+
nexaai/binds/nexa_mlx/py-lib/rerank/modeling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
221
|
+
nexaai/binds/nexa_mlx/py-lib/rerank/modeling/nexa_jina_rerank.py,sha256=lVJSjTHWhpFy71elcp0yaWnQGKX1boU4xbkhwV4bMlE,10871
|
|
222
|
+
nexaai/binds/nexa_mlx/py-lib/sd/__init__.py,sha256=n3pC_cDqtZuP0_X9OkSBwwKqjdLfRkbRIjjFYd_1iU0,44
|
|
223
|
+
nexaai/binds/nexa_mlx/py-lib/sd/interface.py,sha256=5sGuEwfDGQtSeZ93JmDn2eL47XHmCyxkceDSyCK7e1g,13415
|
|
224
|
+
nexaai/binds/nexa_mlx/py-lib/sd/main.py,sha256=cHlZhG8KHDFXbYRH-diKA7B1Qacq1euuGw0pKeXJGAI,8575
|
|
225
|
+
nexaai/binds/nexa_mlx/py-lib/sd/modeling/__init__.py,sha256=wriLb0wA5vCBlCoQMtfKrVVWMJw8fhXCCk6R9_Nrb9c,9524
|
|
226
|
+
nexaai/binds/nexa_mlx/py-lib/sd/modeling/clip.py,sha256=feHQXi1NiGa01AMo7nK8M-sgBoZBHI95xAGMfAv64kE,3733
|
|
227
|
+
nexaai/binds/nexa_mlx/py-lib/sd/modeling/config.py,sha256=lq2sWXevpnCk8KXOywEVOzgFT6WBNnG4xr7NLWgidII,1773
|
|
228
|
+
nexaai/binds/nexa_mlx/py-lib/sd/modeling/model_io.py,sha256=xUjF5XNUfRLHQz-LtGT_D3XGQ1MI7ZQWknmdUDMpi_s,13732
|
|
229
|
+
nexaai/binds/nexa_mlx/py-lib/sd/modeling/sampler.py,sha256=nJxiSmF79E2aDGzLqygOat4zpgaTzfR7Kp1PD0bmhWA,3397
|
|
230
|
+
nexaai/binds/nexa_mlx/py-lib/sd/modeling/tokenizer.py,sha256=WMcmyQmb5MmhCp-NNU72Bqjq9vQvDzgR8KAfGKA2Qso,2991
|
|
231
|
+
nexaai/binds/nexa_mlx/py-lib/sd/modeling/unet.py,sha256=rYj1-baAugL7CNyYYvLch891WUgpunhAJCVBNKxfZSA,14762
|
|
232
|
+
nexaai/binds/nexa_mlx/py-lib/sd/modeling/vae.py,sha256=sQ1943x5SKyTmeL2xe3t84FL9DGO72Eab2m88r-BSe8,8044
|
|
233
|
+
nexaai/binds/nexa_mlx/py-lib/tts/__init__.py,sha256=fuT_9_xpYJ28m4yjly5L2jChUrzlSQz-b_S7nujxkSM,451
|
|
234
|
+
nexaai/binds/nexa_mlx/py-lib/tts/interface.py,sha256=0FvZbIyOvg8jERZEQ6bygbv7v02O9xHO4-TPUlar0b4,9568
|
|
235
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/__init__.py,sha256=_25kvMEviX16Hg3bro8Ws70V0eeIEqYKV8ZDXqYzKew,73
|
|
236
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/generate.py,sha256=DqHFEAuqk-nko8ho6U9GAXTDAWz4d8GTe_hCt-XFyCw,19071
|
|
237
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/generate_qwen3_vl.py,sha256=eeizW18u6dHPZOOnJtQUJkiqMAIIpOSS-IOjacXGsz4,10240
|
|
238
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/generate_qwen3_vl_moe.py,sha256=Lcu1_I9FriRQF7TuFehjRWwVjEl6lA3eOWUGV2NQovk,9673
|
|
239
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/interface.py,sha256=uTX5ifnMltDiFu5T4OgHCPNHf0E4gGUEFR8Bz-jnbds,19774
|
|
240
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/main.py,sha256=pvNrMzgaYxw-uyQLj1k-OiAI6RdmNVxhxemEMXZSwUs,10829
|
|
241
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
242
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/convert.py,sha256=ia5i9cgTufFGmKyhkYUaW0nfNqT_bMo8i-Hg_zy5JC4,1863
|
|
243
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/processing_qwen2_5_vl.py,sha256=PdlV1pTp0_b6QPrXNZzA52GBMRjyODWLlN_uzrMtDLQ,10218
|
|
244
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/processing_qwen2_vl.py,sha256=Kzu_GcXiQeUt9o7AUILgmOsc6nfts7mN30rl4F_iFeg,10254
|
|
245
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/prompt_utils.py,sha256=ihebAhlzlmxX0JTV0n3_8gmTJK_0GelXgcAUOI2TjV8,15702
|
|
246
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/sample_utils.py,sha256=Q_PT7wbq-pHostpUgmhCm-WcsvZ_sWHKMq-Owy3XUT8,1354
|
|
247
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/tokenizer_utils.py,sha256=si_yU4NfBBdDk1vHGhGdzvwQyYKGOBcNOvuXXfeDXRc,10693
|
|
248
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/utils.py,sha256=W3xZmWEHK31BwtGQeqv60BQAT9F460JvV1YDWFM1nLw,30226
|
|
249
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
250
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/base.py,sha256=qVf-yv5C5_FigU6NPJHkikwQc0jMzshtHd-FRgVny_g,6212
|
|
251
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/cache.py,sha256=7q2waWeCZSjsDCuTi3nEY9M0cO9C7XMwRdLDmZLkl80,7409
|
|
252
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kernels.py,sha256=nJYMiB3nxfpO3EpD4KfTvZ7Cn28AerRQDMEhRRDgvj8,10283
|
|
253
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/__init__.py,sha256=DsuevxWyQ_P-7qcxPfH86gjw-qo1sJIVsW8BMMMBR9s,126
|
|
254
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/aya_vision.py,sha256=c-D6o7HmSAFWhp1u-3SSeLo5KCqGBVl0lewlfUHuD08,6708
|
|
255
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/interpolate.py,sha256=JsFYtIZoDv8XAfqYKt7p3fdUPybGx8LVVtWi9ejLgZo,7073
|
|
256
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/language.py,sha256=Ch8pCFfErinfdLdazHmyDbqmce0Y3yGYrWxj2r8N8rc,7362
|
|
257
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/vision.py,sha256=BeVhbFbMLEUqRakLInWy3t90cX-F5EXkS9Yvt0ftrtY,18135
|
|
258
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/__init__.py,sha256=BQv9ZWMbrIxqE9N-hPThwZ-1u2DTtdt4yKo3lpE-xHA,178
|
|
259
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/conversation.py,sha256=H6-RV9A8wy8ea7TgM_G_DcCamYYRT1-X8TETbtgEXD4,8230
|
|
260
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/deepseek_vl_v2.py,sha256=Jf0SRNEUfe90DiUVgM9LfQ3EdC5duPHGf_nGXiS9R-A,17815
|
|
261
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/language.py,sha256=UAfsz7ENTvP6aCo1HiWLGpHp_rHj1TUya5SGEDPzeLo,20494
|
|
262
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/processing_deepsek_vl_v2.py,sha256=RAfwrkXiGnyRIlNmlh8eKPNSrudoNrvdgS9cEDANxiw,18671
|
|
263
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/vision.py,sha256=6Uf8gbhY8bCyXls_68TIbE_ly4wus4S5ELkOgSzVkLI,10923
|
|
264
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/florence2/__init__.py,sha256=TCHENiHr36OR7FGMVID0DDbNIwjtJifPtFiuCSBy2nk,125
|
|
265
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/florence2/florence2.py,sha256=TtkKb6MsjptZxjpRI-xjf7t37MIfuqvpWbp15lGSv7E,13099
|
|
266
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/florence2/language.py,sha256=WL0eXkeKFC-mqTsueoVFTP4fn_DkJgU047m2W6y-1xA,16594
|
|
267
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/florence2/vision.py,sha256=5bna_aw7gDJ_knjimiZ9czLydkEJmt0nuN5gnptNcLE,16997
|
|
268
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3/__init__.py,sha256=iOd-lWlJDgnEyoZZ6vikZd3PsRhBq8_uSLPIAUjPpfo,122
|
|
269
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3/gemma3.py,sha256=6lIqddtl5RCVWCnlnvix1qPGyhbZon_jLvUoXFg2nwc,7548
|
|
270
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3/language.py,sha256=eHb8aqbEUYS1Ma8nq4migF_qVR87xzqTH4PnECI9IYc,10268
|
|
271
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3/vision.py,sha256=UExcSWWL1-4eTkVYRHiK1s8-VGc7eiVS__MwMUnmdvM,7654
|
|
272
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/__init__.py,sha256=iu_nBtI1gg6yS6jQqOV_eXHSdEBSttuaXcJh1plwQl0,138
|
|
273
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/audio.py,sha256=sP2gePQo6TwB4p29DvGh97pnXbaYiGtXcYRygohn-9s,42203
|
|
274
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/config.py,sha256=YBcgZu5vgcW6EXLYiExuiSFIILME_DBupLB2_uXNZPE,4109
|
|
275
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/gemma3n.py,sha256=zsGBamEiiLkOTt7MTQwj9FBSjiuIM_catjxlHy0yRNI,11762
|
|
276
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/language.py,sha256=5JrrGqqGd6DKgrmKEgyrXeIw8T0_F9shW1Ht1shUP3s,21718
|
|
277
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/vision.py,sha256=_JF-cxEhizjlzAysOtcqolEBNqaHlW7RcZ35BG2O3Q4,32774
|
|
278
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics2/__init__.py,sha256=9-RTi8hnIXow9Lng_3ZauPcH0-KfAxqtkkopPbp9hCQ,145
|
|
279
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics2/idefics2.py,sha256=4XGhEnFFWtA8aAfTddwnXaJuQZxs74Jciz-Rq7CZ614,9532
|
|
280
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics2/language.py,sha256=U4sM5pwbxVrZu_ukPmD_2e1hp3xpNJSv1YB8ZJQZpv0,5996
|
|
281
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics2/vision.py,sha256=ZGsEORw1N6R7lJ3Yiz90O3sGVlt-DZo4p_exvImxQxM,8843
|
|
282
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics3/__init__.py,sha256=QO4U4tH6cnmibJM6lGaUBjiFLnq5pysC63gb2Tcv0RY,124
|
|
283
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics3/idefics3.py,sha256=YuMYYjbqJwShFxGR59ZA_nZRVT8RXvoh7fmJ29cswDg,5461
|
|
284
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics3/language.py,sha256=cYPQU-xEuKDywxH9gaGB-3ZbS26mPBQgG7eM2UHAFpc,6062
|
|
285
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics3/vision.py,sha256=gZyDmPeErlGsgtK1s8lLxg72g7D_-PFha9E5_lC2tm8,7587
|
|
286
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/__init__.py,sha256=yJda-w1nYNxbQw0bEk_eb0FESvj9YmQfyfC5TUk-G6M,198
|
|
287
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/internvl_chat.py,sha256=qiwnN-CfqquV90QHhZdPwZ3O792Z2nLG-HVBn7WUUMM,4431
|
|
288
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/language.py,sha256=KC9Eu315Z5ehGOGEbj29ih7eq1RN9QLR2N4Zqrl7Kjk,6725
|
|
289
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/processor.py,sha256=UkE-qFLRcS3xeEa57rRkCQTyG-e8JiolY7eFyMH8ZsA,14235
|
|
290
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/vision.py,sha256=IhnusA8AUjHktsNAzITLUE87J3UIlbg0icDjRZSWiyg,9702
|
|
291
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kimi_vl/__init__.py,sha256=xu3qapXNTsgV_Wiy6KPHlqmJvbnhXRnSJNK-m6Jfj4Y,123
|
|
292
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kimi_vl/kimi_vl.py,sha256=xVixys0VUa8lkYpMIdUuN7pifzsD_2OYMRb9CEkd2MA,4405
|
|
293
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kimi_vl/language.py,sha256=zls5RbW1LPLQJD9lviQz3fXaGcb7QyfI8RyKiq1o22o,16768
|
|
294
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kimi_vl/vision.py,sha256=wk3RXFbLM4Li1czZegvlWj3GuOiNdmVXER3m2xYSupk,18094
|
|
295
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llama4/__init__.py,sha256=Yg0P88xUaJvvzct3xMJjd2A1dx7JV8Ukg3bBMEBGe9g,122
|
|
296
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llama4/language.py,sha256=Q_-bmHY8XMxQO4flSGiytYnGH7FI_UabCSwrCKowCyE,12949
|
|
297
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llama4/llama4.py,sha256=Ok3jH2UiE9afRPhrpQkLTtdilpd1bMQiAIqGqrn3hTA,4392
|
|
298
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llama4/vision.py,sha256=3PzBb9ynusCg-Zw_81xb0Y1Bcpjk6G0h8Rk090LrKoc,18435
|
|
299
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava/__init__.py,sha256=XTbyDs7MRdWKiIjcrpj8jWRX_lWpkUeDUwq8XftMio0,121
|
|
300
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava/language.py,sha256=FnuZwfHbDrDMbQKA8n53bHm8Hy3IX39AvLA7tBYQ6U0,7743
|
|
301
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava/llava.py,sha256=yfib0AQcyYe7L7smCiGy2BqCIWi3qIjJSEiUgOzGQTg,5285
|
|
302
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava/vision.py,sha256=ZV0WvzxGQ1k4esrSTa3yiAwjtOWnT40sjg02mVCoAx8,8520
|
|
303
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_bunny/__init__.py,sha256=9jsgrMKG-lSyB0R6Gpa-mA00kPUztEw3LpGwciJIuyU,147
|
|
304
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_bunny/language.py,sha256=XstwscHuoegRyOqAKWyQBCoP2CkoXDuNRrcLxoOcNcI,7560
|
|
305
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_bunny/llava_bunny.py,sha256=7LR-JxOVp2bGm0glBlWl4PT97U4wOdCb6ReNM5HBecU,8295
|
|
306
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_bunny/vision.py,sha256=JwKWMPp2tig8JHBNc72qiFwUO2hHmV2pNTDDqR62nAo,9703
|
|
307
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_next/__init__.py,sha256=0DqRY9eU4is6YTBnpTaaDw7dHgpb4LshbhiV4u1Tvac,126
|
|
308
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_next/language.py,sha256=JzHDhLohuSe18E0w7vWo0BGZmAQ4PFVoIVq6cl8BTVo,7375
|
|
309
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_next/llava_next.py,sha256=vm7zpnCqqt5NBwmOafPC6FVKMGaadOuyTB-nVlDECIo,5432
|
|
310
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_next/vision.py,sha256=iuHeSO4N-6dXZj2l_Cu06pX8NvuIFxqFGxOR5REVNN4,7926
|
|
311
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mistral3/__init__.py,sha256=Jcg12HYdW9E8uDHdPz1SS9PTfeinqDqWZPxGTwv7B1c,124
|
|
312
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mistral3/mistral3.py,sha256=2Ef50Mw9BHvDICU-GSYnXQK1aIYhDo1ygRTGim1NEEg,9414
|
|
313
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mllama/__init__.py,sha256=-wzqUK3A74dQBift1InXI79l8zfU5WgvjAmAJlAFutg,122
|
|
314
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mllama/language.py,sha256=tHjeQoziSzY34qoGYZ3jyCTsZD0o-2qf6qi3oG5UPGs,14699
|
|
315
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mllama/mllama.py,sha256=xPT2-drmM3EgJ649caGzuNU9YYzZwxpr64qGvrqLRbg,5518
|
|
316
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mllama/vision.py,sha256=Pns7GLeNqX5hJbAsVltUSR5S-C_jv65LkfzeLCbps50,17179
|
|
317
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/molmo/__init__.py,sha256=Ho4yNHWTcZKUNFeePWKf93lm26t8aqbfpmyrGJ3LaTY,121
|
|
318
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/molmo/language.py,sha256=iuNNDGiGA6b5_Eab4tlQ6oY1rNK_OoMQT0V41VMPNIg,7319
|
|
319
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/molmo/molmo.py,sha256=CRo1CgvhpDX979IyddxuO9Q7eVQPOM37ACuGOaKOyEA,4421
|
|
320
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/molmo/vision.py,sha256=ycj7SlrRJ6HLmZ6xs6YQ8Jq3lC-i5gx8BZve36_yjrM,16039
|
|
321
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/__init__.py,sha256=KRtd-Xac8BS1Y98wBQnCsno0g2oXAaJTso92KM7C8bc,171
|
|
322
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/language.py,sha256=6-peH6hjHZYNjPaqipZ7lR6JZSPq-iR1QRx-3_1Jc10,7381
|
|
323
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/multi_modality.py,sha256=PlcagwaquP5o4jY4kwRkoSFdXKhPBl4mWzMOVn5JgIc,12542
|
|
324
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/sam.py,sha256=wBVbATFQCYPwj24SacVMYyCMtp_UJMb48hTvw4mSlek,19066
|
|
325
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/vision.py,sha256=j8WUDlAsOdHmQt_JrPE7PsCJ3vH1zwvjkU_kwNd7jo8,17362
|
|
326
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/paligemma/__init__.py,sha256=VY8-bvKoa7eEZtagTdxPiI-Hdib77F4vyic7Y-pVEJk,125
|
|
327
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/paligemma/language.py,sha256=l3WeLMVtEc0CR6cJh0Oq1YWArqZ6lAjeY-iwUDYd_vs,9330
|
|
328
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/paligemma/paligemma.py,sha256=TdqS_uthWJvmD03RHXp8tD44vrGhaL1kEMgSvX2_7FM,5554
|
|
329
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/paligemma/vision.py,sha256=HTHbpel48XGcgjLyiOH406vv2LCZGKcs5gIfgC1ayEU,7756
|
|
330
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/__init__.py,sha256=_09_A3rCKPgiLoh5nNvZ9q1Y7gwaJrj3yYG7FxsqzPQ,122
|
|
331
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/language.py,sha256=Nmye5NBz8rR5tPGPBKGmLhWGYlVRxGfFyAA5O-siBMs,384
|
|
332
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/phi3_v.py,sha256=F_JzvFCGVdFmlgLDbZAszdL_LqfOep5x2P2UzAZfmQI,7754
|
|
333
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/su_rope.py,sha256=8GuFFbTnfTAvnMB3PyDtuausPf7NCyTddYPHtcBrQeU,3365
|
|
334
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/vision.py,sha256=i69DehvOYyBgFrCmbF0TG2YSrIHoRDvTG9hzrraFtZM,10845
|
|
335
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/pixtral/__init__.py,sha256=fMUWctNaCVUXn94PAWOy3EAZCO1nPWETW4tQUTXIukA,123
|
|
336
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/pixtral/language.py,sha256=TguNVrGerRI3yuuoXuJIM1NoRWdDcBYCD7HwblCvVHk,7320
|
|
337
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/pixtral/pixtral.py,sha256=p1V0kT4Jjim01qv8EOrxeFR10QxKqAgwMxgRS5mswU8,5840
|
|
338
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/pixtral/vision.py,sha256=HOqbwRTmedGBu7XLkcDjcgrL5VCZYHMVCdGrZGjV1zo,10618
|
|
339
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/__init__.py,sha256=Gh9nT0rpEOQOGzNK3Cd80tt3_2mt9pGGoiSdmt34B1c,116
|
|
340
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/config.py,sha256=aKtTJhN5M_KaHf3QrOoACf08kJpWZh3IELv1YjHNHX4,3137
|
|
341
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/language.py,sha256=OeUoAfIg7dNB43tzRTLk3brdPmYFwaf_uUH4a-VwIzo,19189
|
|
342
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/qwen2_5_vl.py,sha256=xLbbNujUc1pq9nSQz6Y6IG0KzTBqMB2pju8SFR_cwp0,5893
|
|
343
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/vision.py,sha256=8z0aZ5vpCIBfelBZuNsuGhHDuiSWNx460zQZUtaAnMo,14612
|
|
344
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/__init__.py,sha256=P1WUzaUZF27dXhvUTunDLt5Dz62SzWWYgdbTGAv5etw,114
|
|
345
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/config.py,sha256=yPnWEyLruqmakMVGsFpizd_2rFOGwyscAmC6jW6ZtgI,2940
|
|
346
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/language.py,sha256=OeUoAfIg7dNB43tzRTLk3brdPmYFwaf_uUH4a-VwIzo,19189
|
|
347
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/qwen2_vl.py,sha256=YysRg1PszpZdsH7hywqN2pIMZAbU1P636KZoSJCNri8,5740
|
|
348
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/vision.py,sha256=rcneYZYwP5fx3p8xxXEDGvnWAMIn8DXenqBPLBjmVcI,10555
|
|
349
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/processor.py,sha256=_WZK8uv0LAGHO8V5LwCojyS4UYk0tfICsZ9GM4_Pfxo,19156
|
|
350
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/qwen3vl.py,sha256=LArnNtI98B_GJOblPNijVage9EmVfa-YZYI-2XGFZek,50662
|
|
351
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
352
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/base.py,sha256=4RlZwgz8YX2ngmJNaymxFFpw9hJu-0EMw9xwXpngW9o,3496
|
|
353
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/cache.py,sha256=NMOB6x-RT6svF4H-Ymo5WqnP7ptAal3aaKjWZXWGMsM,17671
|
|
354
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/generate.py,sha256=bchCpnlewysWQss5TQKxdKPXYd5VA7ySUDfRt8Xj_H4,26677
|
|
355
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/rope_utils.py,sha256=ty0dA3SsEUFtFbHo16tKdnKymrNKKsUO3KMYapMajbY,8704
|
|
356
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/sample_utils.py,sha256=8SEeVwgjuvaYy-4ALAU0RHQMuRr2k7EkXba_csxk498,10673
|
|
357
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/tokenizer_utils.py,sha256=Gqanx4hBDcon_k5ClhUsS4YpMbZNiee8jvImGS9h43s,13229
|
|
358
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/processor.py,sha256=_WZK8uv0LAGHO8V5LwCojyS4UYk0tfICsZ9GM4_Pfxo,19156
|
|
359
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/qwen3vl_moe.py,sha256=WTmNmkGe5YwTJEbwq44fh1LOhaekguPuSE1H89szj9Y,53856
|
|
360
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/switch_layers.py,sha256=6hjFCvIH8J1UBEPYaIg9HqSakyZgEEiQoJQ9E0WmZoM,5960
|
|
361
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
362
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/base.py,sha256=4RlZwgz8YX2ngmJNaymxFFpw9hJu-0EMw9xwXpngW9o,3496
|
|
363
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/cache.py,sha256=NMOB6x-RT6svF4H-Ymo5WqnP7ptAal3aaKjWZXWGMsM,17671
|
|
364
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/generate.py,sha256=bchCpnlewysWQss5TQKxdKPXYd5VA7ySUDfRt8Xj_H4,26677
|
|
365
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/rope_utils.py,sha256=ty0dA3SsEUFtFbHo16tKdnKymrNKKsUO3KMYapMajbY,8704
|
|
366
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/sample_utils.py,sha256=8SEeVwgjuvaYy-4ALAU0RHQMuRr2k7EkXba_csxk498,10673
|
|
367
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/tokenizer_utils.py,sha256=Gqanx4hBDcon_k5ClhUsS4YpMbZNiee8jvImGS9h43s,13229
|
|
368
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/smolvlm/__init__.py,sha256=nvaihrxZuqymlQZbPCSTKBoxzJYx5fg3U1aM5eXUutw,123
|
|
369
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/smolvlm/smolvlm.py,sha256=i-B_d0AxninzMWSHx-kc2X5nwp-0bmKnibjS7nXeKGA,2363
|
|
370
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/trainer/__init__.py,sha256=rGAttw-lYQ2HUXVeuDDprKq8ERq3WIIFnRsA9tYwAjo,252
|
|
371
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/trainer/lora.py,sha256=tGjvenjEQ8_1Az8Nz3smz5Mgvu20wOmBw8857egiWPM,2134
|
|
372
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/trainer/trainer.py,sha256=h16SaHt76JzFruXuidgXDx7_2evx4L0SecvzqLmhyZw,9081
|
|
373
|
+
nexaai/binds/nexa_mlx/py-lib/vlm/modeling/trainer/utils.py,sha256=29oHf_7946YeJKP_-Dt-NPeN4xJq8Fj7Yv4jZKO9RWA,4909
|
|
185
374
|
nexaai/binds/nexa_nexaml/libfftw3.3.dylib,sha256=Ul6NlZv0UhmXnnqAyFxCRCw-8pOsV5e4rc_9-wxrRJg,693424
|
|
186
375
|
nexaai/binds/nexa_nexaml/libfftw3f.3.dylib,sha256=SKZE35Ly9R_nbMt7oWpObydvpK3HIo9-UhUA2KkeQyk,693920
|
|
187
|
-
nexaai/binds/nexa_nexaml/libggml-base.dylib,sha256=
|
|
188
|
-
nexaai/binds/nexa_nexaml/libggml-cpu.so,sha256=
|
|
189
|
-
nexaai/binds/nexa_nexaml/libggml-metal.so,sha256=
|
|
190
|
-
nexaai/binds/nexa_nexaml/libggml.dylib,sha256=
|
|
376
|
+
nexaai/binds/nexa_nexaml/libggml-base.dylib,sha256=eN6A-6ufUoRJdbdkWD7T-jV1M-FmMIRiO4D-g4ep9s4,650944
|
|
377
|
+
nexaai/binds/nexa_nexaml/libggml-cpu.so,sha256=h9HVt-TibwTN-QzzKNj69KFz9uGfSVg62pHQMwF0bWY,694288
|
|
378
|
+
nexaai/binds/nexa_nexaml/libggml-metal.so,sha256=QZ-ArPROGNribtgQ-LiQOFoEzUgQ3IVF2X_LXqNcu3o,675088
|
|
379
|
+
nexaai/binds/nexa_nexaml/libggml.dylib,sha256=AUoIx9MkSAjbeVmkUIUCyJlg7zGKlpc9K8Y0BAfORqE,58640
|
|
191
380
|
nexaai/binds/nexa_nexaml/libmp3lame.0.dylib,sha256=G-21u3MAZ2hiv1fbPEpOUGdToZfLtz2XI6BwW9xIqIA,305136
|
|
192
381
|
nexaai/binds/nexa_nexaml/libmpg123.0.dylib,sha256=L4AgLcdcjGOQkEovUGDCNlH959500i0GkKBhqiHxBY4,306464
|
|
193
382
|
nexaai/binds/nexa_nexaml/libnexa-mm-process.dylib,sha256=a_63nw3Fmdlw1KoxsfwS76ZXZgqQhw4sQ8rE42hpBwo,10205704
|
|
@@ -415,8 +604,9 @@ nexaai/mlx_backend/tts/interface.py,sha256=0FvZbIyOvg8jERZEQ6bygbv7v02O9xHO4-TPU
|
|
|
415
604
|
nexaai/mlx_backend/vlm/__init__.py,sha256=_25kvMEviX16Hg3bro8Ws70V0eeIEqYKV8ZDXqYzKew,73
|
|
416
605
|
nexaai/mlx_backend/vlm/generate.py,sha256=DqHFEAuqk-nko8ho6U9GAXTDAWz4d8GTe_hCt-XFyCw,19071
|
|
417
606
|
nexaai/mlx_backend/vlm/generate_qwen3_vl.py,sha256=eeizW18u6dHPZOOnJtQUJkiqMAIIpOSS-IOjacXGsz4,10240
|
|
418
|
-
nexaai/mlx_backend/vlm/
|
|
419
|
-
nexaai/mlx_backend/vlm/
|
|
607
|
+
nexaai/mlx_backend/vlm/generate_qwen3_vl_moe.py,sha256=Lcu1_I9FriRQF7TuFehjRWwVjEl6lA3eOWUGV2NQovk,9673
|
|
608
|
+
nexaai/mlx_backend/vlm/interface.py,sha256=uTX5ifnMltDiFu5T4OgHCPNHf0E4gGUEFR8Bz-jnbds,19774
|
|
609
|
+
nexaai/mlx_backend/vlm/main.py,sha256=pvNrMzgaYxw-uyQLj1k-OiAI6RdmNVxhxemEMXZSwUs,10829
|
|
420
610
|
nexaai/mlx_backend/vlm/modeling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
421
611
|
nexaai/mlx_backend/vlm/modeling/convert.py,sha256=ia5i9cgTufFGmKyhkYUaW0nfNqT_bMo8i-Hg_zy5JC4,1863
|
|
422
612
|
nexaai/mlx_backend/vlm/modeling/processing_qwen2_5_vl.py,sha256=PdlV1pTp0_b6QPrXNZzA52GBMRjyODWLlN_uzrMtDLQ,10218
|
|
@@ -534,6 +724,16 @@ nexaai/mlx_backend/vlm/modeling/models/qwen3_vl/llm_common/generate.py,sha256=bc
|
|
|
534
724
|
nexaai/mlx_backend/vlm/modeling/models/qwen3_vl/llm_common/rope_utils.py,sha256=ty0dA3SsEUFtFbHo16tKdnKymrNKKsUO3KMYapMajbY,8704
|
|
535
725
|
nexaai/mlx_backend/vlm/modeling/models/qwen3_vl/llm_common/sample_utils.py,sha256=8SEeVwgjuvaYy-4ALAU0RHQMuRr2k7EkXba_csxk498,10673
|
|
536
726
|
nexaai/mlx_backend/vlm/modeling/models/qwen3_vl/llm_common/tokenizer_utils.py,sha256=Gqanx4hBDcon_k5ClhUsS4YpMbZNiee8jvImGS9h43s,13229
|
|
727
|
+
nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/processor.py,sha256=_WZK8uv0LAGHO8V5LwCojyS4UYk0tfICsZ9GM4_Pfxo,19156
|
|
728
|
+
nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/qwen3vl_moe.py,sha256=WTmNmkGe5YwTJEbwq44fh1LOhaekguPuSE1H89szj9Y,53856
|
|
729
|
+
nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/switch_layers.py,sha256=6hjFCvIH8J1UBEPYaIg9HqSakyZgEEiQoJQ9E0WmZoM,5960
|
|
730
|
+
nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
731
|
+
nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/base.py,sha256=4RlZwgz8YX2ngmJNaymxFFpw9hJu-0EMw9xwXpngW9o,3496
|
|
732
|
+
nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/cache.py,sha256=NMOB6x-RT6svF4H-Ymo5WqnP7ptAal3aaKjWZXWGMsM,17671
|
|
733
|
+
nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/generate.py,sha256=bchCpnlewysWQss5TQKxdKPXYd5VA7ySUDfRt8Xj_H4,26677
|
|
734
|
+
nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/rope_utils.py,sha256=ty0dA3SsEUFtFbHo16tKdnKymrNKKsUO3KMYapMajbY,8704
|
|
735
|
+
nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/sample_utils.py,sha256=8SEeVwgjuvaYy-4ALAU0RHQMuRr2k7EkXba_csxk498,10673
|
|
736
|
+
nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/tokenizer_utils.py,sha256=Gqanx4hBDcon_k5ClhUsS4YpMbZNiee8jvImGS9h43s,13229
|
|
537
737
|
nexaai/mlx_backend/vlm/modeling/models/smolvlm/__init__.py,sha256=nvaihrxZuqymlQZbPCSTKBoxzJYx5fg3U1aM5eXUutw,123
|
|
538
738
|
nexaai/mlx_backend/vlm/modeling/models/smolvlm/smolvlm.py,sha256=i-B_d0AxninzMWSHx-kc2X5nwp-0bmKnibjS7nXeKGA,2363
|
|
539
739
|
nexaai/mlx_backend/vlm/modeling/trainer/__init__.py,sha256=rGAttw-lYQ2HUXVeuDDprKq8ERq3WIIFnRsA9tYwAjo,252
|
|
@@ -555,7 +755,7 @@ nexaai/utils/quantization_utils.py,sha256=FYcNSAKGlBqFDUTx3jSKOr2lnq4nyiyC0ZG8oS
|
|
|
555
755
|
nexaai/vlm_impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
556
756
|
nexaai/vlm_impl/mlx_vlm_impl.py,sha256=pLtWm_ckz8a0U-AtAOMVseFDO4OVPvHyYO2KlfBaGYk,10833
|
|
557
757
|
nexaai/vlm_impl/pybind_vlm_impl.py,sha256=FAbhpRJzHgI78r0mUvKybO97R1szvNhH0aTn_I52oT4,8597
|
|
558
|
-
nexaai-1.0.
|
|
559
|
-
nexaai-1.0.
|
|
560
|
-
nexaai-1.0.
|
|
561
|
-
nexaai-1.0.
|
|
758
|
+
nexaai-1.0.19rc7.dist-info/METADATA,sha256=xfvVczRWdNhFztOjNjahKD3_DlvNAyBFV2gvVHnbEm4,1201
|
|
759
|
+
nexaai-1.0.19rc7.dist-info/WHEEL,sha256=T2p57lol9__xkoU6aJTyN1Pm43ZpRU3q6km7mIbrAMs,114
|
|
760
|
+
nexaai-1.0.19rc7.dist-info/top_level.txt,sha256=LRE2YERlrZk2vfuygnSzsEeqSknnZbz3Z1MHyNmBU4w,7
|
|
761
|
+
nexaai-1.0.19rc7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|