nexaai 1.0.19rc6__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 (224) 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/utils/manifest_utils.py +222 -15
  219. nexaai/utils/model_manager.py +83 -7
  220. nexaai/utils/model_types.py +2 -0
  221. {nexaai-1.0.19rc6.dist-info → nexaai-1.0.19rc7.dist-info}/METADATA +1 -1
  222. {nexaai-1.0.19rc6.dist-info → nexaai-1.0.19rc7.dist-info}/RECORD +224 -24
  223. {nexaai-1.0.19rc6.dist-info → nexaai-1.0.19rc7.dist-info}/WHEEL +0 -0
  224. {nexaai-1.0.19rc6.dist-info → nexaai-1.0.19rc7.dist-info}/top_level.txt +0 -0
@@ -595,6 +595,7 @@ class HuggingFaceDownloader:
595
595
  self.enable_transfer = enable_transfer
596
596
  self.original_hf_transfer = None
597
597
  self.endpoint = endpoint # Store endpoint for avatar fetching
598
+ self._model_info_cache: Dict[str, Any] = {} # Cache for model_info results
598
599
 
599
600
  def _create_repo_directory(self, local_dir: str, repo_id: str) -> str:
600
601
  """Create a directory structure for the repository following HF convention."""
@@ -618,6 +619,32 @@ class HuggingFaceDownloader:
618
619
  os.makedirs(local_dir, exist_ok=True)
619
620
  return local_dir
620
621
 
622
+ def _get_model_info_cached(self, repo_id: str, files_metadata: bool = False):
623
+ """Get model info with caching to avoid rate limiting.
624
+
625
+ Args:
626
+ repo_id: Repository ID
627
+ files_metadata: Whether to include files metadata
628
+
629
+ Returns:
630
+ Model info object from HuggingFace API
631
+ """
632
+ # Create cache key based on repo_id and files_metadata flag
633
+ cache_key = f"{repo_id}:files={files_metadata}"
634
+
635
+ # Return cached result if available
636
+ if cache_key in self._model_info_cache:
637
+ return self._model_info_cache[cache_key]
638
+
639
+ # Fetch from API and cache the result
640
+ try:
641
+ info = self.api.model_info(repo_id, files_metadata=files_metadata, token=self.token)
642
+ self._model_info_cache[cache_key] = info
643
+ return info
644
+ except Exception:
645
+ # Don't cache errors, re-raise
646
+ raise
647
+
621
648
  def _get_repo_info_for_progress(
622
649
  self,
623
650
  repo_id: str,
@@ -625,7 +652,7 @@ class HuggingFaceDownloader:
625
652
  ) -> tuple[int, int]:
626
653
  """Get total repository size and file count for progress tracking."""
627
654
  try:
628
- info = self.api.model_info(repo_id, files_metadata=True, token=self.token)
655
+ info = self._get_model_info_cached(repo_id, files_metadata=True)
629
656
 
630
657
  total_size = 0
631
658
  file_count = 0
@@ -720,7 +747,7 @@ class HuggingFaceDownloader:
720
747
  ):
721
748
  """Validate repository exists and get info."""
722
749
  try:
723
- info = self.api.model_info(repo_id, token=self.token)
750
+ info = self._get_model_info_cached(repo_id, files_metadata=False)
724
751
  return info
725
752
  except RepositoryNotFoundError:
726
753
  error_msg = f"Repository '{repo_id}' not found. Please check the repository ID."
@@ -789,6 +816,36 @@ class HuggingFaceDownloader:
789
816
  # If no expected size, just check that file is not empty
790
817
  return os.path.getsize(file_path) > 0
791
818
 
819
+ def _extract_model_file_type_from_tags(self, repo_id: str) -> Optional[str]:
820
+ """Extract model file type from repo tags with priority: NPU > MLX > GGUF."""
821
+ try:
822
+ info = self._get_model_info_cached(repo_id, files_metadata=False)
823
+ if hasattr(info, 'tags') and info.tags:
824
+ # Convert tags to lowercase for case-insensitive matching
825
+ tags_lower = [tag.lower() for tag in info.tags]
826
+
827
+ # Check with priority: NPU > MLX > GGUF
828
+ if 'npu' in tags_lower:
829
+ return 'npu'
830
+ elif 'mlx' in tags_lower:
831
+ return 'mlx'
832
+ elif 'gguf' in tags_lower:
833
+ return 'gguf'
834
+ except Exception:
835
+ pass
836
+ return None
837
+
838
+ def _load_downloaded_manifest(self, local_dir: str) -> Dict[str, Any]:
839
+ """Load nexa.manifest from the downloaded repository if it exists."""
840
+ manifest_path = os.path.join(local_dir, 'nexa.manifest')
841
+ if os.path.exists(manifest_path):
842
+ try:
843
+ with open(manifest_path, 'r', encoding='utf-8') as f:
844
+ return json.load(f)
845
+ except (json.JSONDecodeError, IOError):
846
+ pass
847
+ return {}
848
+
792
849
  def _fetch_and_save_metadata(self, repo_id: str, local_dir: str, is_mmproj: bool = False, file_name: Optional[Union[str, List[str]]] = None, **kwargs) -> None:
793
850
  """Fetch model info and save metadata after successful download."""
794
851
  # Initialize metadata with defaults to ensure manifest is always created
@@ -800,8 +857,8 @@ class HuggingFaceDownloader:
800
857
 
801
858
  # Try to fetch additional metadata, but don't let failures prevent manifest creation
802
859
  try:
803
- # Fetch model info to get pipeline_tag
804
- info = self.api.model_info(repo_id, token=self.token)
860
+ # Fetch model info to get pipeline_tag (using cache)
861
+ info = self._get_model_info_cached(repo_id, files_metadata=False)
805
862
  if hasattr(info, 'pipeline_tag') and info.pipeline_tag:
806
863
  old_metadata['pipeline_tag'] = info.pipeline_tag
807
864
  except Exception as e:
@@ -810,11 +867,21 @@ class HuggingFaceDownloader:
810
867
 
811
868
  # Use input avater url if provided
812
869
  old_metadata['avatar_url'] = kwargs.get('avatar_url')
870
+
871
+ # Extract model file type from tags
872
+ model_file_type = self._extract_model_file_type_from_tags(repo_id)
873
+ if model_file_type:
874
+ old_metadata['model_file_type'] = model_file_type
875
+
876
+ # Load existing nexa.manifest from downloaded repo (if exists)
877
+ downloaded_manifest = self._load_downloaded_manifest(local_dir)
878
+ if downloaded_manifest:
879
+ old_metadata['downloaded_manifest'] = downloaded_manifest
813
880
 
814
881
 
815
882
  # CRITICAL: Always create the manifest file, regardless of metadata fetch failures
816
883
  try:
817
- save_manifest_with_files_metadata(repo_id, local_dir, old_metadata, is_mmproj, file_name)
884
+ save_manifest_with_files_metadata(repo_id, local_dir, old_metadata, is_mmproj, file_name, **kwargs)
818
885
  print(f"[OK] Successfully created nexa.manifest for {repo_id}")
819
886
  except Exception as e:
820
887
  # This is critical - if manifest creation fails, we should know about it
@@ -823,8 +890,11 @@ class HuggingFaceDownloader:
823
890
  try:
824
891
  minimal_manifest = {
825
892
  "Name": repo_id,
826
- "ModelType": "other",
827
- "PluginId": "unknown",
893
+ "ModelName": kwargs.get('model_name', ''),
894
+ "ModelType": kwargs.get('model_type', 'other'),
895
+ "PluginId": kwargs.get('plugin_id', 'unknown'),
896
+ "DeviceId": kwargs.get('device_id', ''),
897
+ "MinSDKVersion": kwargs.get('min_sdk_version', ''),
828
898
  "ModelFile": {},
829
899
  "MMProjFile": {"Name": "", "Downloaded": False, "Size": 0},
830
900
  "TokenizerFile": {"Name": "", "Downloaded": False, "Size": 0},
@@ -1136,6 +1206,12 @@ def download_from_huggingface(
1136
1206
  is_mmproj (bool, optional): Whether the file being downloaded is an mmproj file. Only used when
1137
1207
  file_name is not None. If None, defaults to True if 'mmproj' is in
1138
1208
  the filename, False otherwise.
1209
+ **kwargs: Additional parameters including:
1210
+ - plugin_id (str): Override PluginId in nexa.manifest (highest priority)
1211
+ - model_name (str): Override ModelName in nexa.manifest (highest priority)
1212
+ - model_type (str): Override ModelType in nexa.manifest (highest priority)
1213
+ - device_id (str): Set DeviceId in nexa.manifest (highest priority)
1214
+ - min_sdk_version (str): Set MinSDKVersion in nexa.manifest (highest priority)
1139
1215
 
1140
1216
  Returns:
1141
1217
  str: Path to the downloaded file or directory
@@ -13,6 +13,8 @@ class ModelTypeMapping(Enum):
13
13
  """Enum for mapping HuggingFace pipeline_tag to our ModelType."""
14
14
  TEXT_GENERATION = ("text-generation", "llm")
15
15
  IMAGE_TEXT_TO_TEXT = ("image-text-to-text", "vlm")
16
+ ANY_TO_ANY = ("any-to-any", "ata")
17
+ AUTOMATIC_SPEECH_RECOGNITION = ("automatic-speech-recognition", "asr")
16
18
 
17
19
  def __init__(self, pipeline_tag: str, model_type: str):
18
20
  self.pipeline_tag = pipeline_tag
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nexaai
3
- Version: 1.0.19rc6
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=QLOXPLVTc4PYcr7qk-P-XQoXtrI9t49n-e7JRvi2zFs,66768
3
- nexaai/_version.py,sha256=bLummKnPZ9cq490e2dV77gOzlVFq4FgDMlTOequMSCU,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=uLl4C-hd0fpjFuebXwYbMxbTvvnTFg-xFVCk8emle-s,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
@@ -547,15 +747,15 @@ nexaai/tts_impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
547
747
  nexaai/tts_impl/mlx_tts_impl.py,sha256=i_uNPdvlXYtL3e01oKjDlP9jgkWCRt1bBHsExaaiJi8,3101
548
748
  nexaai/tts_impl/pybind_tts_impl.py,sha256=mpn44r6pfYLIl-NrEy2dXHjGtWtNCmM7HRyxiANxUI4,1444
549
749
  nexaai/utils/decode.py,sha256=61n4Zf6c5QLyqGoctEitlI9BX3tPlP2a5aaKNHbw3T4,404
550
- nexaai/utils/manifest_utils.py,sha256=PA84obFP7W1dlneURlIHIzJjWIF5dbDHGdNeHouUy68,12659
551
- nexaai/utils/model_manager.py,sha256=_WKJP7YVk7q587OoOWwDNWVR-8tbKZkmHKjcCZN8Q4M,55979
552
- nexaai/utils/model_types.py,sha256=-DER8L4lAUR_iLS99F0r57avwqWtuN21ug5pX2p24_E,1369
750
+ nexaai/utils/manifest_utils.py,sha256=SCcFN09xNI0DiTA1U7DZwWiQsRH0CInWSny_9q0BwNM,21273
751
+ nexaai/utils/model_manager.py,sha256=NnbPv1iuwo6T523gLsWjnff-gGvPGUjez-rFg8-ffpE,59568
752
+ nexaai/utils/model_types.py,sha256=ONWjjo8CFPdhxki6qo7MXnSZaEzjBcxa_Kkf_y5NXus,1483
553
753
  nexaai/utils/progress_tracker.py,sha256=jdUqtmPqyhwC9uSKvQcJEYETwSt-OhP4oitdJ94614o,15394
554
754
  nexaai/utils/quantization_utils.py,sha256=FYcNSAKGlBqFDUTx3jSKOr2lnq4nyiyC0ZG8oSxFwiU,7825
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.19rc6.dist-info/METADATA,sha256=4fTTBbrhX1jkcaC-ZGt7DbDp0zA96DHJ1ZpNHmMlAoM,1201
559
- nexaai-1.0.19rc6.dist-info/WHEEL,sha256=T2p57lol9__xkoU6aJTyN1Pm43ZpRU3q6km7mIbrAMs,114
560
- nexaai-1.0.19rc6.dist-info/top_level.txt,sha256=LRE2YERlrZk2vfuygnSzsEeqSknnZbz3Z1MHyNmBU4w,7
561
- nexaai-1.0.19rc6.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,,