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.

Files changed (221) hide show
  1. nexaai/_stub.cpython-310-darwin.so +0 -0
  2. nexaai/_version.py +1 -1
  3. nexaai/binds/libnexa_bridge.dylib +0 -0
  4. nexaai/binds/nexa_llama_cpp/libggml-base.dylib +0 -0
  5. nexaai/binds/nexa_llama_cpp/libggml-cpu.so +0 -0
  6. nexaai/binds/nexa_llama_cpp/libggml-metal.so +0 -0
  7. nexaai/binds/nexa_llama_cpp/libggml.dylib +0 -0
  8. nexaai/binds/nexa_llama_cpp/libllama.dylib +0 -0
  9. nexaai/binds/nexa_llama_cpp/libmtmd.dylib +0 -0
  10. nexaai/binds/nexa_llama_cpp/libnexa_plugin.dylib +0 -0
  11. nexaai/binds/nexa_mlx/libnexa_plugin.dylib +0 -0
  12. nexaai/binds/nexa_mlx/py-lib/asr/__init__.py +12 -0
  13. nexaai/binds/nexa_mlx/py-lib/asr/interface.py +122 -0
  14. nexaai/binds/nexa_mlx/py-lib/common/__init__.py +0 -0
  15. nexaai/binds/nexa_mlx/py-lib/common/utils.py +25 -0
  16. nexaai/binds/nexa_mlx/py-lib/cv/__init__.py +0 -0
  17. nexaai/binds/nexa_mlx/py-lib/cv/generate.py +195 -0
  18. nexaai/binds/nexa_mlx/py-lib/cv/interface.py +151 -0
  19. nexaai/binds/nexa_mlx/py-lib/cv/main.py +81 -0
  20. nexaai/binds/nexa_mlx/py-lib/cv/modeling/pp_ocr_v4.py +1736 -0
  21. nexaai/binds/nexa_mlx/py-lib/embedding/__init__.py +0 -0
  22. nexaai/binds/nexa_mlx/py-lib/embedding/generate.py +333 -0
  23. nexaai/binds/nexa_mlx/py-lib/embedding/interface.py +617 -0
  24. nexaai/binds/nexa_mlx/py-lib/embedding/main.py +173 -0
  25. nexaai/binds/nexa_mlx/py-lib/embedding/modeling/__init__.py +0 -0
  26. nexaai/binds/nexa_mlx/py-lib/embedding/modeling/nexa_jina_v2.py +399 -0
  27. nexaai/binds/nexa_mlx/py-lib/image_gen/__init__.py +1 -0
  28. nexaai/binds/nexa_mlx/py-lib/image_gen/generate_sd.py +244 -0
  29. nexaai/binds/nexa_mlx/py-lib/image_gen/interface.py +82 -0
  30. nexaai/binds/nexa_mlx/py-lib/image_gen/main.py +281 -0
  31. nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/__init__.py +306 -0
  32. nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/clip.py +116 -0
  33. nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/config.py +65 -0
  34. nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/model_io.py +386 -0
  35. nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/sampler.py +105 -0
  36. nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/tokenizer.py +100 -0
  37. nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/unet.py +460 -0
  38. nexaai/binds/nexa_mlx/py-lib/image_gen/stable_diffusion/vae.py +274 -0
  39. nexaai/binds/nexa_mlx/py-lib/llm/__init__.py +0 -0
  40. nexaai/binds/nexa_mlx/py-lib/llm/generate.py +149 -0
  41. nexaai/binds/nexa_mlx/py-lib/llm/interface.py +764 -0
  42. nexaai/binds/nexa_mlx/py-lib/llm/main.py +68 -0
  43. nexaai/binds/nexa_mlx/py-lib/rerank/__init__.py +0 -0
  44. nexaai/binds/nexa_mlx/py-lib/rerank/generate.py +174 -0
  45. nexaai/binds/nexa_mlx/py-lib/rerank/interface.py +287 -0
  46. nexaai/binds/nexa_mlx/py-lib/rerank/main.py +127 -0
  47. nexaai/binds/nexa_mlx/py-lib/rerank/modeling/__init__.py +0 -0
  48. nexaai/binds/nexa_mlx/py-lib/rerank/modeling/nexa_jina_rerank.py +330 -0
  49. nexaai/binds/nexa_mlx/py-lib/sd/__init__.py +1 -0
  50. nexaai/binds/nexa_mlx/py-lib/sd/interface.py +362 -0
  51. nexaai/binds/nexa_mlx/py-lib/sd/main.py +286 -0
  52. nexaai/binds/nexa_mlx/py-lib/sd/modeling/__init__.py +306 -0
  53. nexaai/binds/nexa_mlx/py-lib/sd/modeling/clip.py +116 -0
  54. nexaai/binds/nexa_mlx/py-lib/sd/modeling/config.py +65 -0
  55. nexaai/binds/nexa_mlx/py-lib/sd/modeling/model_io.py +385 -0
  56. nexaai/binds/nexa_mlx/py-lib/sd/modeling/sampler.py +105 -0
  57. nexaai/binds/nexa_mlx/py-lib/sd/modeling/tokenizer.py +100 -0
  58. nexaai/binds/nexa_mlx/py-lib/sd/modeling/unet.py +460 -0
  59. nexaai/binds/nexa_mlx/py-lib/sd/modeling/vae.py +274 -0
  60. nexaai/binds/nexa_mlx/py-lib/tts/__init__.py +12 -0
  61. nexaai/binds/nexa_mlx/py-lib/tts/interface.py +276 -0
  62. nexaai/binds/nexa_mlx/py-lib/vlm/__init__.py +3 -0
  63. nexaai/binds/nexa_mlx/py-lib/vlm/generate.py +572 -0
  64. nexaai/binds/nexa_mlx/py-lib/vlm/generate_qwen3_vl.py +294 -0
  65. nexaai/binds/nexa_mlx/py-lib/vlm/generate_qwen3_vl_moe.py +276 -0
  66. nexaai/binds/nexa_mlx/py-lib/vlm/interface.py +504 -0
  67. nexaai/binds/nexa_mlx/py-lib/vlm/main.py +320 -0
  68. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/__init__.py +0 -0
  69. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/convert.py +68 -0
  70. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/__init__.py +0 -0
  71. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/__init__.py +8 -0
  72. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/aya_vision.py +193 -0
  73. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/interpolate.py +186 -0
  74. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/language.py +233 -0
  75. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/aya_vision/vision.py +503 -0
  76. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/base.py +202 -0
  77. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/cache.py +230 -0
  78. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/__init__.py +10 -0
  79. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/conversation.py +264 -0
  80. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/deepseek_vl_v2.py +472 -0
  81. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/language.py +591 -0
  82. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/processing_deepsek_vl_v2.py +526 -0
  83. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/deepseek_vl_v2/vision.py +356 -0
  84. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/florence2/__init__.py +8 -0
  85. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/florence2/florence2.py +366 -0
  86. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/florence2/language.py +488 -0
  87. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/florence2/vision.py +591 -0
  88. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3/__init__.py +8 -0
  89. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3/gemma3.py +213 -0
  90. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3/language.py +315 -0
  91. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3/vision.py +238 -0
  92. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/__init__.py +2 -0
  93. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/audio.py +1038 -0
  94. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/config.py +139 -0
  95. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/gemma3n.py +322 -0
  96. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/language.py +629 -0
  97. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/gemma3n/vision.py +1022 -0
  98. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics2/__init__.py +9 -0
  99. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics2/idefics2.py +294 -0
  100. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics2/language.py +191 -0
  101. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics2/vision.py +267 -0
  102. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics3/__init__.py +8 -0
  103. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics3/idefics3.py +175 -0
  104. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics3/language.py +192 -0
  105. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/idefics3/vision.py +233 -0
  106. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/__init__.py +9 -0
  107. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/internvl_chat.py +140 -0
  108. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/language.py +220 -0
  109. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/processor.py +393 -0
  110. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/internvl_chat/vision.py +293 -0
  111. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kernels.py +307 -0
  112. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kimi_vl/__init__.py +8 -0
  113. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kimi_vl/kimi_vl.py +143 -0
  114. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kimi_vl/language.py +509 -0
  115. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/kimi_vl/vision.py +522 -0
  116. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llama4/__init__.py +8 -0
  117. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llama4/language.py +386 -0
  118. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llama4/llama4.py +138 -0
  119. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llama4/vision.py +560 -0
  120. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava/__init__.py +8 -0
  121. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava/language.py +240 -0
  122. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava/llava.py +153 -0
  123. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava/vision.py +259 -0
  124. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_bunny/__init__.py +9 -0
  125. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_bunny/language.py +236 -0
  126. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_bunny/llava_bunny.py +256 -0
  127. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_bunny/vision.py +303 -0
  128. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_next/__init__.py +8 -0
  129. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_next/language.py +230 -0
  130. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_next/llava_next.py +160 -0
  131. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/llava_next/vision.py +243 -0
  132. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mistral3/__init__.py +8 -0
  133. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mistral3/mistral3.py +283 -0
  134. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mllama/__init__.py +8 -0
  135. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mllama/language.py +416 -0
  136. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mllama/mllama.py +172 -0
  137. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/mllama/vision.py +499 -0
  138. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/molmo/__init__.py +8 -0
  139. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/molmo/language.py +243 -0
  140. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/molmo/molmo.py +133 -0
  141. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/molmo/vision.py +465 -0
  142. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/__init__.py +10 -0
  143. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/language.py +230 -0
  144. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/multi_modality.py +385 -0
  145. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/sam.py +557 -0
  146. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/multi_modality/vision.py +526 -0
  147. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/paligemma/__init__.py +8 -0
  148. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/paligemma/language.py +282 -0
  149. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/paligemma/paligemma.py +160 -0
  150. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/paligemma/vision.py +242 -0
  151. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/__init__.py +8 -0
  152. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/language.py +21 -0
  153. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/phi3_v.py +243 -0
  154. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/su_rope.py +71 -0
  155. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/phi3_v/vision.py +324 -0
  156. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/pixtral/__init__.py +8 -0
  157. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/pixtral/language.py +229 -0
  158. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/pixtral/pixtral.py +161 -0
  159. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/pixtral/vision.py +320 -0
  160. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/__init__.py +2 -0
  161. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/config.py +108 -0
  162. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/language.py +490 -0
  163. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/qwen2_5_vl.py +168 -0
  164. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_5_vl/vision.py +414 -0
  165. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/__init__.py +2 -0
  166. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/config.py +104 -0
  167. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/language.py +490 -0
  168. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/qwen2_vl.py +167 -0
  169. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen2_vl/vision.py +312 -0
  170. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/__init__.py +0 -0
  171. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/base.py +117 -0
  172. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/cache.py +531 -0
  173. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/generate.py +701 -0
  174. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/rope_utils.py +255 -0
  175. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/sample_utils.py +303 -0
  176. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/llm_common/tokenizer_utils.py +407 -0
  177. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/processor.py +476 -0
  178. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3_vl/qwen3vl.py +1223 -0
  179. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/__init__.py +0 -0
  180. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/base.py +117 -0
  181. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/cache.py +531 -0
  182. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/generate.py +701 -0
  183. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/rope_utils.py +255 -0
  184. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/sample_utils.py +303 -0
  185. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/llm_common/tokenizer_utils.py +407 -0
  186. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/processor.py +476 -0
  187. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/qwen3vl_moe.py +1309 -0
  188. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/qwen3vl_moe/switch_layers.py +210 -0
  189. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/smolvlm/__init__.py +8 -0
  190. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/models/smolvlm/smolvlm.py +62 -0
  191. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/processing_qwen2_5_vl.py +209 -0
  192. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/processing_qwen2_vl.py +215 -0
  193. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/prompt_utils.py +474 -0
  194. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/sample_utils.py +39 -0
  195. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/tokenizer_utils.py +344 -0
  196. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/trainer/__init__.py +9 -0
  197. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/trainer/lora.py +70 -0
  198. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/trainer/trainer.py +296 -0
  199. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/trainer/utils.py +160 -0
  200. nexaai/binds/nexa_mlx/py-lib/vlm/modeling/utils.py +928 -0
  201. nexaai/binds/nexa_nexaml/libggml-base.dylib +0 -0
  202. nexaai/binds/nexa_nexaml/libggml-cpu.so +0 -0
  203. nexaai/binds/nexa_nexaml/libggml-metal.so +0 -0
  204. nexaai/binds/nexa_nexaml/libggml.dylib +0 -0
  205. nexaai/mlx_backend/vlm/generate_qwen3_vl_moe.py +276 -0
  206. nexaai/mlx_backend/vlm/interface.py +21 -4
  207. nexaai/mlx_backend/vlm/main.py +6 -2
  208. nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/__init__.py +0 -0
  209. nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/base.py +117 -0
  210. nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/cache.py +531 -0
  211. nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/generate.py +701 -0
  212. nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/rope_utils.py +255 -0
  213. nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/sample_utils.py +303 -0
  214. nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/tokenizer_utils.py +407 -0
  215. nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/processor.py +476 -0
  216. nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/qwen3vl_moe.py +1309 -0
  217. nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/switch_layers.py +210 -0
  218. {nexaai-1.0.19rc5.dist-info → nexaai-1.0.19rc7.dist-info}/METADATA +1 -1
  219. {nexaai-1.0.19rc5.dist-info → nexaai-1.0.19rc7.dist-info}/RECORD +221 -21
  220. {nexaai-1.0.19rc5.dist-info → nexaai-1.0.19rc7.dist-info}/WHEEL +0 -0
  221. {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
  Metadata-Version: 2.4
2
2
  Name: nexaai
3
- Version: 1.0.19rc5
3
+ Version: 1.0.19rc7
4
4
  Summary: Python bindings for NexaSDK C-lib backend
5
5
  Author-email: "Nexa AI, Inc." <dev@nexa.ai>
6
6
  Project-URL: Homepage, https://github.com/NexaAI/nexasdk-bridge
@@ -1,6 +1,6 @@
1
1
  nexaai/__init__.py,sha256=L8oB7GFZZMGnUpCg0PecDbI_ycKuQak-ZEJ4Y12_QIw,2184
2
- nexaai/_stub.cpython-310-darwin.so,sha256=jf63NdYbs7Wv6p53PWKrd7y4gtNRomirR2pdY2sXu8M,66768
3
- nexaai/_version.py,sha256=LMA557zx5P3hvpk0d7lsVKacPlWeQ9AVuVRclTomHtk,143
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=SMwmGIzFMbPVaqGiNFMAywQONO5mU78SaS7eUy8xBQA,251192
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=JM4oOkie1su0ES5hMdtILeQHlRukRzH1vTleTupUXhg,650736
26
- nexaai/binds/nexa_llama_cpp/libggml-cpu.so,sha256=qiYxbTe4Nt7n36zJVvq3zovgSZEmrN2is6gzTern7UI,677728
27
- nexaai/binds/nexa_llama_cpp/libggml-metal.so,sha256=zfaX7rIBYQazH2lf-vza007BMhPTK1ASd2T0HLLIA4E,673104
28
- nexaai/binds/nexa_llama_cpp/libggml.dylib,sha256=aOTj_6RrAMkfDO0ZI28_3nfcC-l4Y3dRCiS3C0d0_eI,58592
29
- nexaai/binds/nexa_llama_cpp/libllama.dylib,sha256=RkBd5usb8RvEIOamvxCW3UvMauI5bC66G_n6hw83NpY,1786128
30
- nexaai/binds/nexa_llama_cpp/libmtmd.dylib,sha256=o6mQqefzQNF0CS4j6odwJKj0gkXm15hIxwlNt88FOn4,605248
31
- nexaai/binds/nexa_llama_cpp/libnexa_plugin.dylib,sha256=f-ctmVHSL5x1LKLr0StYM5WscvUW_5olJ7al3ciVmmQ,1863000
32
- nexaai/binds/nexa_mlx/libnexa_plugin.dylib,sha256=KKM4j2JmHQrCQ1LyqEDRxwADRXKi_HM0IY5I5KFl2e0,659288
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=JM4oOkie1su0ES5hMdtILeQHlRukRzH1vTleTupUXhg,650736
188
- nexaai/binds/nexa_nexaml/libggml-cpu.so,sha256=qiYxbTe4Nt7n36zJVvq3zovgSZEmrN2is6gzTern7UI,677728
189
- nexaai/binds/nexa_nexaml/libggml-metal.so,sha256=zfaX7rIBYQazH2lf-vza007BMhPTK1ASd2T0HLLIA4E,673104
190
- nexaai/binds/nexa_nexaml/libggml.dylib,sha256=aOTj_6RrAMkfDO0ZI28_3nfcC-l4Y3dRCiS3C0d0_eI,58592
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/interface.py,sha256=HOPzWNMs6QaHO6x0Z83kW1xkRRmb8_xo6xQLKsOWqAo,19013
419
- nexaai/mlx_backend/vlm/main.py,sha256=nPcg25jupeDD74uvRoxpWp3Dsulw7WddI7vll6zejak,10664
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.19rc5.dist-info/METADATA,sha256=uxc1JkJYwh1ZVFYNk7W7_95zmk6PAUvXBEnIGH700sU,1201
559
- nexaai-1.0.19rc5.dist-info/WHEEL,sha256=T2p57lol9__xkoU6aJTyN1Pm43ZpRU3q6km7mIbrAMs,114
560
- nexaai-1.0.19rc5.dist-info/top_level.txt,sha256=LRE2YERlrZk2vfuygnSzsEeqSknnZbz3Z1MHyNmBU4w,7
561
- nexaai-1.0.19rc5.dist-info/RECORD,,
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,,