nexaai 1.0.19rc8__cp310-cp310-macosx_14_0_universal2.whl → 1.0.19rc9__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.

Binary file
nexaai/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # This file is generated by CMake from _version.py.in
2
2
  # Do not modify this file manually - it will be overwritten
3
3
 
4
- __version__ = "1.0.19-rc8"
4
+ __version__ = "1.0.19-rc9"
Binary file
@@ -1,6 +1,5 @@
1
1
  import argparse
2
2
  import json
3
- import sys
4
3
  import os
5
4
  import mlx.core as mx
6
5
  import mlx.nn as nn
@@ -10,38 +9,21 @@ import requests
10
9
  import numpy as np
11
10
  from pathlib import Path
12
11
  from huggingface_hub import snapshot_download
13
-
14
- # Add current directory to path for imports
15
- curr_dir = os.path.dirname(os.path.abspath(__file__))
16
- sys.path.append(curr_dir)
17
- sys.path.append(os.path.dirname(curr_dir))
18
-
19
- # Add the qwen3vl model directory to path
20
- qwen3vl_dir = os.path.join(curr_dir, "modeling", "models", "qwen3_vl")
21
- sys.path.append(qwen3vl_dir)
12
+ from dataclasses import dataclass
13
+ from typing import Any, Generator, List, Optional, Sequence, Tuple, Union
22
14
 
23
15
  # Import required modules for quantized loading
24
16
  from transformers import AutoTokenizer
25
17
 
26
- # Try relative imports first, fallback to sys.path approach for Nuitka compatibility
27
- try:
28
- from .modeling.models.qwen3_vl.llm_common.generate import nexa_generate_step
29
- from .modeling.models.qwen3_vl.llm_common.cache import make_prompt_cache
30
- from .modeling.models.qwen3_vl.qwen3vl import (
31
- VEGModel, LLMModel, ModelArgs, VisionConfig, TextConfig, handle_multimodal_embeds
32
- )
33
- from .modeling.models.qwen3_vl.processor import Qwen3VLProcessor
34
- except ImportError:
35
- # Fallback for Nuitka compiled environment - use sys.path approach
36
- from llm_common.generate import nexa_generate_step
37
- from llm_common.cache import make_prompt_cache
38
- from qwen3vl import VEGModel, LLMModel, ModelArgs, VisionConfig, TextConfig, handle_multimodal_embeds
39
- from processor import Qwen3VLProcessor
40
-
41
- from ml import ChatMessage
42
- from dataclasses import dataclass
43
- from typing import Any, Generator, List, Optional, Sequence, Tuple, Union
18
+ # Import from the nested modeling structure
19
+ from .modeling.models.qwen3_vl.llm_common.generate import nexa_generate_step
20
+ from .modeling.models.qwen3_vl.llm_common.cache import make_prompt_cache
21
+ from .modeling.models.qwen3_vl.qwen3vl import (
22
+ VEGModel, LLMModel, ModelArgs, VisionConfig, TextConfig, handle_multimodal_embeds
23
+ )
24
+ from .modeling.models.qwen3_vl.processor import Qwen3VLProcessor
44
25
  from .generate import GenerationResult
26
+ from ml import ChatMessage
45
27
 
46
28
  # Custom exception for context length exceeded
47
29
  class ContextLengthExceededError(Exception):
@@ -79,10 +61,11 @@ def load_qwen3_vl(
79
61
  model_path = Path(snapshot_download(
80
62
  repo_id=path_or_repo, repo_type="model", revision=revision))
81
63
  else:
82
- # Fallback to local modelfiles directory
83
- model_path = Path(qwen3vl_dir) / "modelfiles"
64
+ # Fallback to local modelfiles directory relative to this file
65
+ curr_dir = Path(__file__).parent
66
+ model_path = curr_dir / "modeling" / "models" / "qwen3_vl" / "modelfiles"
84
67
  if not model_path.exists():
85
- model_path = Path(curr_dir) / "modelfiles"
68
+ model_path = curr_dir / "modelfiles"
86
69
 
87
70
  # Model configs (kept identical to main)
88
71
  vision_config = VisionConfig(
@@ -1,6 +1,5 @@
1
1
  import argparse
2
2
  import json
3
- import sys
4
3
  import os
5
4
  import mlx.core as mx
6
5
  import mlx.nn as nn
@@ -10,38 +9,21 @@ import requests
10
9
  import numpy as np
11
10
  from pathlib import Path
12
11
  from huggingface_hub import snapshot_download
13
-
14
- # Add current directory to path for imports
15
- curr_dir = os.path.dirname(os.path.abspath(__file__))
16
- sys.path.append(curr_dir)
17
- sys.path.append(os.path.dirname(curr_dir))
18
-
19
- # Add the qwen3vl model directory to path
20
- qwen3vl_dir = os.path.join(curr_dir, "modeling", "models", "qwen3vl_moe")
21
- sys.path.append(qwen3vl_dir)
12
+ from dataclasses import dataclass
13
+ from typing import Any, Generator, List, Optional, Sequence, Tuple, Union
22
14
 
23
15
  # Import required modules for quantized loading
24
16
  from transformers import AutoTokenizer
25
17
 
26
- # Try relative imports first, fallback to sys.path approach for Nuitka compatibility
27
- try:
28
- from .modeling.models.qwen3_vl_moe.llm_common.generate import nexa_generate_step
29
- from .modeling.models.qwen3_vl_moe.llm_common.cache import make_prompt_cache
30
- from .modeling.models.qwen3_vl_moe.qwen3vl_moe import (
31
- VEGModel, LLMModel, ModelArgs, VisionConfig, TextConfig, handle_multimodal_embeds
32
- )
33
- from .modeling.models.qwen3_vl_moe.processor import Qwen3VLProcessor
34
- except ImportError:
35
- # Fallback for Nuitka compiled environment - use sys.path approach
36
- from llm_common.generate import nexa_generate_step
37
- from llm_common.cache import make_prompt_cache
38
- from qwen3vl_moe import VEGModel, LLMModel, ModelArgs, VisionConfig, TextConfig, handle_multimodal_embeds
39
- from processor import Qwen3VLProcessor
40
-
41
- from ml import ChatMessage
42
- from dataclasses import dataclass
43
- from typing import Any, Generator, List, Optional, Sequence, Tuple, Union
44
- from .generate import GenerationResult
18
+ # Import from the nested modeling structure
19
+ from .modeling.models.qwen3vl_moe.llm_common.generate import nexa_generate_step
20
+ from .modeling.models.qwen3vl_moe.llm_common.cache import make_prompt_cache
21
+ from .modeling.models.qwen3vl_moe.qwen3vl_moe import (
22
+ VEGModel, LLMModel, ModelArgs, VisionConfig, TextConfig, handle_multimodal_embeds
23
+ )
24
+ from .modeling.models.qwen3vl_moe.processor import Qwen3VLProcessor
25
+ from .generate import GenerationResult
26
+ from ml import ChatMessage
45
27
 
46
28
  @dataclass
47
29
  class Qwen3VLBundledModel:
@@ -73,10 +55,11 @@ def load_qwen3_vl(
73
55
  model_path = Path(snapshot_download(
74
56
  repo_id=path_or_repo, repo_type="model", revision=revision))
75
57
  else:
76
- # Fallback to local modelfiles directory
77
- model_path = Path(qwen3vl_dir) / "modelfiles"
58
+ # Fallback to local modelfiles directory relative to this file
59
+ curr_dir = Path(__file__).parent
60
+ model_path = curr_dir / "modeling" / "models" / "qwen3vl_moe" / "modelfiles"
78
61
  if not model_path.exists():
79
- model_path = Path(curr_dir) / "modelfiles"
62
+ model_path = curr_dir / "modelfiles"
80
63
 
81
64
  # Model configs - Updated to match Qwen3VL-MoE specifications
82
65
  vision_config = VisionConfig(
@@ -8,29 +8,13 @@ import mlx.nn as nn
8
8
  import math
9
9
  import numpy as np
10
10
 
11
- import os
12
- import sys
13
-
14
- curr_dir = os.path.dirname(os.path.abspath(__file__))
15
- llm_common_dir = os.path.join(curr_dir, "..", "..")
16
- sys.path.append(llm_common_dir)
17
-
18
- # Try relative imports first, fallback to sys.path approach for Nuitka compatibility
19
- try:
20
- from .llm_common.base import (
21
- BaseModelArgs,
22
- create_attention_mask,
23
- scaled_dot_product_attention,
24
- )
25
- from .llm_common.rope_utils import initialize_rope
26
- except ImportError:
27
- # Fallback for Nuitka compiled environment
28
- from llm_common.base import (
29
- BaseModelArgs,
30
- create_attention_mask,
31
- scaled_dot_product_attention,
32
- )
33
- from llm_common.rope_utils import initialize_rope
11
+ # Import from nested llm_common structure using relative imports
12
+ from .llm_common.base import (
13
+ BaseModelArgs,
14
+ create_attention_mask,
15
+ scaled_dot_product_attention,
16
+ )
17
+ from .llm_common.rope_utils import initialize_rope
34
18
 
35
19
 
36
20
  @dataclass
@@ -8,30 +8,14 @@ import mlx.nn as nn
8
8
  import math
9
9
  import numpy as np
10
10
 
11
- import os
12
- import sys
13
-
14
- curr_dir = os.path.dirname(os.path.abspath(__file__))
15
- llm_common_dir = os.path.join(curr_dir, "llm_common")
16
- sys.path.append(llm_common_dir)
17
-
18
- # Try relative imports first, fallback to sys.path approach for Nuitka compatibility
19
- try:
20
- from .llm_common.base import (
21
- BaseModelArgs,
22
- create_attention_mask,
23
- scaled_dot_product_attention,
24
- )
25
- from .llm_common.rope_utils import initialize_rope
26
- except ImportError:
27
- # Fallback for Nuitka compiled environment
28
- from llm_common.base import (
29
- BaseModelArgs,
30
- create_attention_mask,
31
- scaled_dot_product_attention,
32
- )
33
- from llm_common.rope_utils import initialize_rope
34
- from switch_layers import SwitchGLU
11
+ # Import from nested llm_common structure using relative imports
12
+ from .llm_common.base import (
13
+ BaseModelArgs,
14
+ create_attention_mask,
15
+ scaled_dot_product_attention,
16
+ )
17
+ from .llm_common.rope_utils import initialize_rope
18
+ from .switch_layers import SwitchGLU
35
19
 
36
20
 
37
21
  @dataclass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nexaai
3
- Version: 1.0.19rc8
3
+ Version: 1.0.19rc9
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=53Jf5TH68E8KcPl8KgBf8J9Au81J-_kQ8RK39hSsyBE,66768
3
- nexaai/_version.py,sha256=aYDZTWn8eaS3I_K2yikTHx48xxCOGb-PhDT-HlTMK3I,143
2
+ nexaai/_stub.cpython-310-darwin.so,sha256=8YJ5YdmobkyKQ7FmIjodJhzORK11NP0F3t3Bk1F0aOU,66768
3
+ nexaai/_version.py,sha256=cBq07C7RkT85kn1w5XjXDE5IIdTu6Lg8iJ-tx2W_xdI,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,7 +19,7 @@ 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=NgW7lIbCsLK1HZRkiJB8gjZceZ8_ME3bCsh6V-idyYg,251832
22
+ nexaai/binds/libnexa_bridge.dylib,sha256=lvnVQ1mO9r7gwUZItdYmFiY9g6BCdeyY0isKes7ij9c,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
25
  nexaai/binds/nexa_llama_cpp/libggml-base.dylib,sha256=eN6A-6ufUoRJdbdkWD7T-jV1M-FmMIRiO4D-g4ep9s4,650944
@@ -414,8 +414,8 @@ nexaai/mlx_backend/tts/__init__.py,sha256=fuT_9_xpYJ28m4yjly5L2jChUrzlSQz-b_S7nu
414
414
  nexaai/mlx_backend/tts/interface.py,sha256=0FvZbIyOvg8jERZEQ6bygbv7v02O9xHO4-TPUlar0b4,9568
415
415
  nexaai/mlx_backend/vlm/__init__.py,sha256=_25kvMEviX16Hg3bro8Ws70V0eeIEqYKV8ZDXqYzKew,73
416
416
  nexaai/mlx_backend/vlm/generate.py,sha256=DqHFEAuqk-nko8ho6U9GAXTDAWz4d8GTe_hCt-XFyCw,19071
417
- nexaai/mlx_backend/vlm/generate_qwen3_vl.py,sha256=eeizW18u6dHPZOOnJtQUJkiqMAIIpOSS-IOjacXGsz4,10240
418
- nexaai/mlx_backend/vlm/generate_qwen3_vl_moe.py,sha256=Lcu1_I9FriRQF7TuFehjRWwVjEl6lA3eOWUGV2NQovk,9673
417
+ nexaai/mlx_backend/vlm/generate_qwen3_vl.py,sha256=NaVOU1kKRpkCClN5yV3_iL4aIe0V9LwqoKx-HI_xDNg,9590
418
+ nexaai/mlx_backend/vlm/generate_qwen3_vl_moe.py,sha256=ZSbM8JjTlkxUaVO9UNZM6YSbd60am3Z4ztJJEBsnJHg,9015
419
419
  nexaai/mlx_backend/vlm/interface.py,sha256=uTX5ifnMltDiFu5T4OgHCPNHf0E4gGUEFR8Bz-jnbds,19774
420
420
  nexaai/mlx_backend/vlm/main.py,sha256=pvNrMzgaYxw-uyQLj1k-OiAI6RdmNVxhxemEMXZSwUs,10829
421
421
  nexaai/mlx_backend/vlm/modeling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -527,7 +527,7 @@ nexaai/mlx_backend/vlm/modeling/models/qwen2_vl/language.py,sha256=OeUoAfIg7dNB4
527
527
  nexaai/mlx_backend/vlm/modeling/models/qwen2_vl/qwen2_vl.py,sha256=YysRg1PszpZdsH7hywqN2pIMZAbU1P636KZoSJCNri8,5740
528
528
  nexaai/mlx_backend/vlm/modeling/models/qwen2_vl/vision.py,sha256=rcneYZYwP5fx3p8xxXEDGvnWAMIn8DXenqBPLBjmVcI,10555
529
529
  nexaai/mlx_backend/vlm/modeling/models/qwen3_vl/processor.py,sha256=_WZK8uv0LAGHO8V5LwCojyS4UYk0tfICsZ9GM4_Pfxo,19156
530
- nexaai/mlx_backend/vlm/modeling/models/qwen3_vl/qwen3vl.py,sha256=LArnNtI98B_GJOblPNijVage9EmVfa-YZYI-2XGFZek,50662
530
+ nexaai/mlx_backend/vlm/modeling/models/qwen3_vl/qwen3vl.py,sha256=rlEJKxPb61bTEBeruqyfrAJtTf_wD0ey-kOmXhgdfVg,50199
531
531
  nexaai/mlx_backend/vlm/modeling/models/qwen3_vl/llm_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
532
532
  nexaai/mlx_backend/vlm/modeling/models/qwen3_vl/llm_common/base.py,sha256=4RlZwgz8YX2ngmJNaymxFFpw9hJu-0EMw9xwXpngW9o,3496
533
533
  nexaai/mlx_backend/vlm/modeling/models/qwen3_vl/llm_common/cache.py,sha256=NMOB6x-RT6svF4H-Ymo5WqnP7ptAal3aaKjWZXWGMsM,17671
@@ -536,7 +536,7 @@ nexaai/mlx_backend/vlm/modeling/models/qwen3_vl/llm_common/rope_utils.py,sha256=
536
536
  nexaai/mlx_backend/vlm/modeling/models/qwen3_vl/llm_common/sample_utils.py,sha256=8SEeVwgjuvaYy-4ALAU0RHQMuRr2k7EkXba_csxk498,10673
537
537
  nexaai/mlx_backend/vlm/modeling/models/qwen3_vl/llm_common/tokenizer_utils.py,sha256=Gqanx4hBDcon_k5ClhUsS4YpMbZNiee8jvImGS9h43s,13229
538
538
  nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/processor.py,sha256=_WZK8uv0LAGHO8V5LwCojyS4UYk0tfICsZ9GM4_Pfxo,19156
539
- nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/qwen3vl_moe.py,sha256=WTmNmkGe5YwTJEbwq44fh1LOhaekguPuSE1H89szj9Y,53856
539
+ nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/qwen3vl_moe.py,sha256=OrrAQAPY_g5e7Pc8GSL94TXg-CEC8yL3MLDWNOVii-Q,53392
540
540
  nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/switch_layers.py,sha256=6hjFCvIH8J1UBEPYaIg9HqSakyZgEEiQoJQ9E0WmZoM,5960
541
541
  nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
542
542
  nexaai/mlx_backend/vlm/modeling/models/qwen3vl_moe/llm_common/base.py,sha256=4RlZwgz8YX2ngmJNaymxFFpw9hJu-0EMw9xwXpngW9o,3496
@@ -566,7 +566,7 @@ nexaai/utils/quantization_utils.py,sha256=FYcNSAKGlBqFDUTx3jSKOr2lnq4nyiyC0ZG8oS
566
566
  nexaai/vlm_impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
567
567
  nexaai/vlm_impl/mlx_vlm_impl.py,sha256=pLtWm_ckz8a0U-AtAOMVseFDO4OVPvHyYO2KlfBaGYk,10833
568
568
  nexaai/vlm_impl/pybind_vlm_impl.py,sha256=FAbhpRJzHgI78r0mUvKybO97R1szvNhH0aTn_I52oT4,8597
569
- nexaai-1.0.19rc8.dist-info/METADATA,sha256=_6I83vjzdeOT-tZ4Swm0kiOBCImquoJTEmD6KfKl-q4,1201
570
- nexaai-1.0.19rc8.dist-info/WHEEL,sha256=T2p57lol9__xkoU6aJTyN1Pm43ZpRU3q6km7mIbrAMs,114
571
- nexaai-1.0.19rc8.dist-info/top_level.txt,sha256=LRE2YERlrZk2vfuygnSzsEeqSknnZbz3Z1MHyNmBU4w,7
572
- nexaai-1.0.19rc8.dist-info/RECORD,,
569
+ nexaai-1.0.19rc9.dist-info/METADATA,sha256=7gh05iEzIQGnTwbB2SedEAYdtSvLXP3m6U8BtkqkuGg,1201
570
+ nexaai-1.0.19rc9.dist-info/WHEEL,sha256=T2p57lol9__xkoU6aJTyN1Pm43ZpRU3q6km7mIbrAMs,114
571
+ nexaai-1.0.19rc9.dist-info/top_level.txt,sha256=LRE2YERlrZk2vfuygnSzsEeqSknnZbz3Z1MHyNmBU4w,7
572
+ nexaai-1.0.19rc9.dist-info/RECORD,,