nexaai 1.0.4rc16__cp310-cp310-macosx_14_0_universal2.whl → 1.0.6__cp310-cp310-macosx_14_0_universal2.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of nexaai might be problematic. Click here for more details.
- nexaai/_stub.cpython-310-darwin.so +0 -0
- nexaai/_version.py +1 -1
- nexaai/binds/libnexa_bridge.dylib +0 -0
- nexaai/binds/llm_bind.cpython-310-darwin.so +0 -0
- nexaai/binds/nexa_llama_cpp/libggml-base.dylib +0 -0
- nexaai/binds/nexa_llama_cpp/libggml-cpu.so +0 -0
- nexaai/binds/nexa_llama_cpp/libggml-metal.so +0 -0
- nexaai/binds/nexa_llama_cpp/libllama.dylib +0 -0
- nexaai/binds/nexa_llama_cpp/libmtmd.dylib +0 -0
- nexaai/binds/nexa_llama_cpp/libnexa_plugin.dylib +0 -0
- nexaai/common.py +42 -7
- nexaai/embedder_impl/mlx_embedder_impl.py +6 -5
- nexaai/llm.py +5 -1
- nexaai/llm_impl/mlx_llm_impl.py +7 -0
- nexaai/llm_impl/pybind_llm_impl.py +10 -1
- nexaai/mlx_backend/embedding/generate.py +219 -16
- nexaai/mlx_backend/embedding/interface.py +346 -41
- nexaai/mlx_backend/embedding/main.py +126 -35
- nexaai/mlx_backend/llm/interface.py +10 -10
- nexaai/utils/model_manager.py +0 -8
- nexaai/utils/progress_tracker.py +10 -6
- nexaai/vlm.py +5 -1
- nexaai/vlm_impl/mlx_vlm_impl.py +7 -0
- nexaai/vlm_impl/pybind_vlm_impl.py +10 -1
- {nexaai-1.0.4rc16.dist-info → nexaai-1.0.6.dist-info}/METADATA +14 -9
- {nexaai-1.0.4rc16.dist-info → nexaai-1.0.6.dist-info}/RECORD +28 -28
- {nexaai-1.0.4rc16.dist-info → nexaai-1.0.6.dist-info}/WHEEL +0 -0
- {nexaai-1.0.4rc16.dist-info → nexaai-1.0.6.dist-info}/top_level.txt +0 -0
nexaai/utils/model_manager.py
CHANGED
|
@@ -820,14 +820,6 @@ class HuggingFaceDownloader:
|
|
|
820
820
|
# Create a subdirectory for this specific repo
|
|
821
821
|
repo_local_dir = self._create_repo_directory(local_dir, repo_id)
|
|
822
822
|
|
|
823
|
-
# Check if repository already exists (basic check for directory existence)
|
|
824
|
-
if not force_download and os.path.exists(repo_local_dir) and os.listdir(repo_local_dir):
|
|
825
|
-
print(f"✓ Repository already exists, skipping: {repo_id}")
|
|
826
|
-
# Stop progress tracking
|
|
827
|
-
if progress_tracker:
|
|
828
|
-
progress_tracker.stop_tracking()
|
|
829
|
-
return repo_local_dir
|
|
830
|
-
|
|
831
823
|
try:
|
|
832
824
|
download_kwargs = {
|
|
833
825
|
'repo_id': repo_id,
|
nexaai/utils/progress_tracker.py
CHANGED
|
@@ -107,7 +107,7 @@ class DownloadProgressTracker:
|
|
|
107
107
|
time_diff = current_time - self.last_time
|
|
108
108
|
|
|
109
109
|
# Only calculate if we have a meaningful time difference (avoid division by very small numbers)
|
|
110
|
-
if time_diff > 0.
|
|
110
|
+
if time_diff > 0.1: # At least 100ms between measurements
|
|
111
111
|
bytes_diff = current_downloaded - self.last_downloaded
|
|
112
112
|
|
|
113
113
|
# Only calculate speed if bytes actually changed
|
|
@@ -118,6 +118,14 @@ class DownloadProgressTracker:
|
|
|
118
118
|
self.speed_history.append(speed)
|
|
119
119
|
if len(self.speed_history) > self.max_speed_history:
|
|
120
120
|
self.speed_history.pop(0)
|
|
121
|
+
|
|
122
|
+
# Update tracking variables when we actually calculate speed
|
|
123
|
+
self.last_downloaded = current_downloaded
|
|
124
|
+
self.last_time = current_time
|
|
125
|
+
else:
|
|
126
|
+
# First measurement - initialize tracking variables
|
|
127
|
+
self.last_downloaded = current_downloaded
|
|
128
|
+
self.last_time = current_time
|
|
121
129
|
|
|
122
130
|
# Return the average of historical speeds if we have any
|
|
123
131
|
# This ensures we show the last known speed even when skipping updates
|
|
@@ -157,13 +165,9 @@ class DownloadProgressTracker:
|
|
|
157
165
|
total_file_sizes += data['total']
|
|
158
166
|
active_file_count += 1
|
|
159
167
|
|
|
160
|
-
# Calculate speed
|
|
168
|
+
# Calculate speed (tracking variables are updated internally)
|
|
161
169
|
speed = self.calculate_speed(total_downloaded)
|
|
162
170
|
|
|
163
|
-
# Update tracking variables
|
|
164
|
-
self.last_downloaded = total_downloaded
|
|
165
|
-
self.last_time = time.time()
|
|
166
|
-
|
|
167
171
|
# Determine total size - prioritize pre-fetched repo size, then aggregate file sizes
|
|
168
172
|
if self.total_repo_size > 0:
|
|
169
173
|
# Use pre-fetched repository info if available
|
nexaai/vlm.py
CHANGED
|
@@ -6,7 +6,7 @@ import base64
|
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
|
|
8
8
|
from nexaai.common import ModelConfig, GenerationConfig, MultiModalMessage, PluginID
|
|
9
|
-
from nexaai.base import BaseModel
|
|
9
|
+
from nexaai.base import BaseModel, ProfilingData
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class VLM(BaseModel):
|
|
@@ -120,4 +120,8 @@ class VLM(BaseModel):
|
|
|
120
120
|
Returns:
|
|
121
121
|
str: The generated text.
|
|
122
122
|
"""
|
|
123
|
+
pass
|
|
124
|
+
|
|
125
|
+
def get_profiling_data(self) -> Optional[ProfilingData]:
|
|
126
|
+
"""Get profiling data from the last generation."""
|
|
123
127
|
pass
|
nexaai/vlm_impl/mlx_vlm_impl.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from typing import Generator, Optional, List, Dict, Any, Union
|
|
2
2
|
|
|
3
|
+
from nexaai.base import ProfilingData
|
|
3
4
|
from nexaai.common import ModelConfig, GenerationConfig, MultiModalMessage, PluginID
|
|
4
5
|
from nexaai.vlm import VLM
|
|
5
6
|
from nexaai.mlx_backend.vlm.interface import VLM as MLXVLMInterface
|
|
@@ -247,3 +248,9 @@ class MlxVlmImpl(VLM):
|
|
|
247
248
|
|
|
248
249
|
except Exception as e:
|
|
249
250
|
raise RuntimeError(f"Failed to generate text: {str(e)}")
|
|
251
|
+
|
|
252
|
+
def get_profiling_data(self) -> Optional[ProfilingData]:
|
|
253
|
+
"""Get profiling data from the last generation."""
|
|
254
|
+
if not self._mlx_vlm:
|
|
255
|
+
raise RuntimeError("MLX VLM not loaded")
|
|
256
|
+
return self._mlx_vlm.get_profiling_data()
|
|
@@ -8,6 +8,7 @@ from nexaai.common import ModelConfig, GenerationConfig, MultiModalMessage, Plug
|
|
|
8
8
|
from nexaai.binds import vlm_bind, common_bind
|
|
9
9
|
from nexaai.runtime import _ensure_runtime
|
|
10
10
|
from nexaai.vlm import VLM
|
|
11
|
+
from nexaai.base import ProfilingData
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
class PyBindVLMImpl(VLM):
|
|
@@ -15,6 +16,7 @@ class PyBindVLMImpl(VLM):
|
|
|
15
16
|
"""Private constructor, should not be called directly."""
|
|
16
17
|
super().__init__(m_cfg)
|
|
17
18
|
self._handle = handle # This is a py::capsule
|
|
19
|
+
self._profiling_data = None
|
|
18
20
|
|
|
19
21
|
@classmethod
|
|
20
22
|
def _load_from(cls,
|
|
@@ -143,13 +145,14 @@ class PyBindVLMImpl(VLM):
|
|
|
143
145
|
# Run generation in thread
|
|
144
146
|
def generate():
|
|
145
147
|
try:
|
|
146
|
-
vlm_bind.ml_vlm_generate(
|
|
148
|
+
result = vlm_bind.ml_vlm_generate(
|
|
147
149
|
handle=self._handle,
|
|
148
150
|
prompt=prompt,
|
|
149
151
|
config=config,
|
|
150
152
|
on_token=on_token,
|
|
151
153
|
user_data=None
|
|
152
154
|
)
|
|
155
|
+
self._profiling_data = ProfilingData.from_dict(result.get("profile_data", {}))
|
|
153
156
|
except Exception as e:
|
|
154
157
|
exception_container[0] = e
|
|
155
158
|
finally:
|
|
@@ -191,8 +194,14 @@ class PyBindVLMImpl(VLM):
|
|
|
191
194
|
on_token=None, # No callback for non-streaming
|
|
192
195
|
user_data=None
|
|
193
196
|
)
|
|
197
|
+
|
|
198
|
+
self._profiling_data = ProfilingData.from_dict(result.get("profile_data", {}))
|
|
194
199
|
return result.get("text", "")
|
|
195
200
|
|
|
201
|
+
def get_profiling_data(self) -> Optional[ProfilingData]:
|
|
202
|
+
"""Get profiling data."""
|
|
203
|
+
return self._profiling_data
|
|
204
|
+
|
|
196
205
|
def _convert_generation_config(self, g_cfg: GenerationConfig):
|
|
197
206
|
"""Convert GenerationConfig to binding format."""
|
|
198
207
|
config = common_bind.GenerationConfig()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nexaai
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.6
|
|
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
|
|
@@ -17,11 +17,16 @@ Requires-Dist: tqdm
|
|
|
17
17
|
Requires-Dist: hf_xet
|
|
18
18
|
Requires-Dist: numpy
|
|
19
19
|
Requires-Dist: httpx
|
|
20
|
-
|
|
21
|
-
Requires-Dist: mlx
|
|
22
|
-
Requires-Dist:
|
|
23
|
-
Requires-Dist:
|
|
24
|
-
Requires-Dist:
|
|
25
|
-
Requires-Dist:
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
Requires-Dist:
|
|
20
|
+
Provides-Extra: mlx
|
|
21
|
+
Requires-Dist: mlx; extra == "mlx"
|
|
22
|
+
Requires-Dist: mlx-lm; extra == "mlx"
|
|
23
|
+
Requires-Dist: mlx-vlm; extra == "mlx"
|
|
24
|
+
Requires-Dist: mlx-embeddings; extra == "mlx"
|
|
25
|
+
Requires-Dist: tokenizers; extra == "mlx"
|
|
26
|
+
Requires-Dist: safetensors; extra == "mlx"
|
|
27
|
+
Requires-Dist: Pillow; extra == "mlx"
|
|
28
|
+
Requires-Dist: scipy; extra == "mlx"
|
|
29
|
+
Requires-Dist: soundfile; extra == "mlx"
|
|
30
|
+
Requires-Dist: opencv-python; extra == "mlx"
|
|
31
|
+
Requires-Dist: shapely; extra == "mlx"
|
|
32
|
+
Requires-Dist: pyclipper; extra == "mlx"
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
nexaai/__init__.py,sha256=jXdC4vv6DBK1fVewYTYSUhOOYfvf_Mk81UIeMGGIKUg,2029
|
|
2
|
-
nexaai/_stub.cpython-310-darwin.so,sha256=
|
|
3
|
-
nexaai/_version.py,sha256=
|
|
2
|
+
nexaai/_stub.cpython-310-darwin.so,sha256=KnUSrrG49_95OtPo4cR54QdHCA6BOV6MXdef9K7Xv0U,66768
|
|
3
|
+
nexaai/_version.py,sha256=jSTrJA7aO22uaIWjegon7bkFN2WNt7W4are37-C1cqg,138
|
|
4
4
|
nexaai/asr.py,sha256=NljMXDErwPNMOPaRkJZMEDka9Nk8xyur7L8i924TStY,2054
|
|
5
5
|
nexaai/base.py,sha256=N8PRgDFA-XPku2vWnQIofQ7ipz3pPlO6f8YZGnuhquE,982
|
|
6
|
-
nexaai/common.py,sha256=
|
|
6
|
+
nexaai/common.py,sha256=yBnIbqYaQYnfrl7IczOBh6MDibYZVxwaRJEglYcKgGs,3422
|
|
7
7
|
nexaai/cv.py,sha256=RHCDo8gvBH8BkGZx7qVyp-OKxqi7E1GG9XzyaXehCNA,3273
|
|
8
8
|
nexaai/embedder.py,sha256=Cw0tSHkPgd-RI62afCqQAcTHMnQhaI2CvfTMO-1JKOg,2452
|
|
9
9
|
nexaai/image_gen.py,sha256=0C_5Tjj4BYmxLbmMmvwajp-yy2mmEEOKwBFnDQNPzx4,4356
|
|
10
|
-
nexaai/llm.py,sha256=
|
|
10
|
+
nexaai/llm.py,sha256=S1o_k2VQoF5w2wO25f142OO1R75TP89Ii69VZv8pIGo,3567
|
|
11
11
|
nexaai/rerank.py,sha256=vWaBucoQ1wz-2iYnZqyFIcEjm-4Xcs1KDbFN5X8zzDQ,1872
|
|
12
12
|
nexaai/runtime.py,sha256=mxxHYsb5iBUAm2K_u-XJWr_U-spJ9S4eApc8kf9myjw,1957
|
|
13
13
|
nexaai/tts.py,sha256=ZnBpWUxIfHhh7KfEjddtH7hHOTa91zg7ogGLakMIALo,2167
|
|
14
|
-
nexaai/vlm.py,sha256=
|
|
14
|
+
nexaai/vlm.py,sha256=3voXmAVnGlXnOiwA3wcX4p0Lvmp0X1VKkQVPObJdwBY,4649
|
|
15
15
|
nexaai/asr_impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
16
|
nexaai/asr_impl/mlx_asr_impl.py,sha256=eosd8-TIWAOwV0HltmoFrLwzXHcU4jyxtncvuZE9pgA,3257
|
|
17
17
|
nexaai/asr_impl/pybind_asr_impl.py,sha256=pE9Hb_hMi5yAc4MF83bLVOb8zDtreCkB3_u7XED9YpA,1516
|
|
@@ -19,16 +19,16 @@ nexaai/binds/__init__.py,sha256=T9Ua7SzHNglSeEqXlfH5ymYXRyXhNKkC9z_y_bWCNMo,80
|
|
|
19
19
|
nexaai/binds/common_bind.cpython-310-darwin.so,sha256=hVxY76tn7hN6uHDIgM7LWNvgoudHgNZVoaygM9X1RWE,217232
|
|
20
20
|
nexaai/binds/embedder_bind.cpython-310-darwin.so,sha256=FT8581RNciilskK89PhtnNSjw4Oh0-xk8QdbJVFmOd8,202064
|
|
21
21
|
nexaai/binds/libcrypto.dylib,sha256=aWif9WhTKVQhmZL3DmtIpMkZY5JSb_Ny6CClmUBKYM4,4710416
|
|
22
|
-
nexaai/binds/libnexa_bridge.dylib,sha256=
|
|
22
|
+
nexaai/binds/libnexa_bridge.dylib,sha256=byt-XEpDZbhLfi4t9uHUHnhEugn1tdJABsNw1hvtaFo,251480
|
|
23
23
|
nexaai/binds/libssl.dylib,sha256=Q2frAdhR729oKYuCjJOEr1Ott3idFWoFp98fwNqtIaU,881616
|
|
24
|
-
nexaai/binds/llm_bind.cpython-310-darwin.so,sha256=
|
|
25
|
-
nexaai/binds/nexa_llama_cpp/libggml-base.dylib,sha256=
|
|
26
|
-
nexaai/binds/nexa_llama_cpp/libggml-cpu.so,sha256=
|
|
27
|
-
nexaai/binds/nexa_llama_cpp/libggml-metal.so,sha256=
|
|
24
|
+
nexaai/binds/llm_bind.cpython-310-darwin.so,sha256=3Bsq0_tGkM027-bORVeJUDl6CYZxAF9sbDIn1l31XTQ,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
28
|
nexaai/binds/nexa_llama_cpp/libggml.dylib,sha256=aOTj_6RrAMkfDO0ZI28_3nfcC-l4Y3dRCiS3C0d0_eI,58592
|
|
29
|
-
nexaai/binds/nexa_llama_cpp/libllama.dylib,sha256=
|
|
30
|
-
nexaai/binds/nexa_llama_cpp/libmtmd.dylib,sha256=
|
|
31
|
-
nexaai/binds/nexa_llama_cpp/libnexa_plugin.dylib,sha256=
|
|
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=8YVSN-7p64t6o5UEmeAxHQIWX-aPlYzT00o0dqYBlmQ,2422808
|
|
32
32
|
nexaai/binds/nexa_mlx/libnexa_plugin.dylib,sha256=yjbdy0FpBE_RwgqvwGxd3czIfs3OYVoh--vWpn2H7RQ,1422888
|
|
33
33
|
nexaai/binds/nexa_mlx/py-lib/ml.py,sha256=LafDM_TeXmuQkld2tdQxUBGgooT0JPMXngLam2TADqU,23179
|
|
34
34
|
nexaai/binds/nexa_mlx/py-lib/profiling.py,sha256=Dc-mybFwBdCIKFWL7CbSHjkOJGAoYHG7r_e_XPhzwBU,9361
|
|
@@ -186,14 +186,14 @@ nexaai/cv_impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
186
186
|
nexaai/cv_impl/mlx_cv_impl.py,sha256=gKECQOv8iaWwG3bl7xeqVy2NN_9K7tYerIFzfn4eLo4,3228
|
|
187
187
|
nexaai/cv_impl/pybind_cv_impl.py,sha256=uSmwBste4cT7c8DQmXzRLmzwDf773PAbXNYWW1UzVls,1064
|
|
188
188
|
nexaai/embedder_impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
189
|
-
nexaai/embedder_impl/mlx_embedder_impl.py,sha256=
|
|
189
|
+
nexaai/embedder_impl/mlx_embedder_impl.py,sha256=dTjOC1VJ9ypIgCvkK_jKNSWpswbg132rDcTzWcL5oFA,4482
|
|
190
190
|
nexaai/embedder_impl/pybind_embedder_impl.py,sha256=Ga1JYauVkRq6jwAGL7Xx5HDaIx483_v9gZVoTyd3xNU,3495
|
|
191
191
|
nexaai/image_gen_impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
192
192
|
nexaai/image_gen_impl/mlx_image_gen_impl.py,sha256=BuDkksvXyb4J02GsdnbGAmYckfUU0Eah6BimoMD3QqY,11219
|
|
193
193
|
nexaai/image_gen_impl/pybind_image_gen_impl.py,sha256=ms34VYoD5AxZFG6cIG0QAJDjCtfphaZ1bHzKzey1xF8,3692
|
|
194
194
|
nexaai/llm_impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
195
|
-
nexaai/llm_impl/mlx_llm_impl.py,sha256=
|
|
196
|
-
nexaai/llm_impl/pybind_llm_impl.py,sha256=
|
|
195
|
+
nexaai/llm_impl/mlx_llm_impl.py,sha256=4v7jUFzHfE7zw2uViekGQDaTROz8A6oaW31Z3iVe6tg,11157
|
|
196
|
+
nexaai/llm_impl/pybind_llm_impl.py,sha256=aooqkcXZWhCo07wbSafGgBrA3WnijtnUADShjjgFsBQ,8051
|
|
197
197
|
nexaai/mlx_backend/ml.py,sha256=LafDM_TeXmuQkld2tdQxUBGgooT0JPMXngLam2TADqU,23179
|
|
198
198
|
nexaai/mlx_backend/profiling.py,sha256=Dc-mybFwBdCIKFWL7CbSHjkOJGAoYHG7r_e_XPhzwBU,9361
|
|
199
199
|
nexaai/mlx_backend/asr/__init__.py,sha256=fuT_9_xpYJ28m4yjly5L2jChUrzlSQz-b_S7nujxkSM,451
|
|
@@ -206,14 +206,14 @@ nexaai/mlx_backend/cv/interface.py,sha256=qE51ApUETEZxDMPZB4VdV098fsXcIiEg4Hj9za
|
|
|
206
206
|
nexaai/mlx_backend/cv/main.py,sha256=hYaF2C36hKTyy7kGMNkzLrdczPiFVS73H320klzzpVM,2856
|
|
207
207
|
nexaai/mlx_backend/cv/modeling/pp_ocr_v4.py,sha256=Vpa-QTy7N5oFfGI7Emldx1dOYJWv_4nAFNRDz_5vHBI,58593
|
|
208
208
|
nexaai/mlx_backend/embedding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
209
|
-
nexaai/mlx_backend/embedding/generate.py,sha256=
|
|
210
|
-
nexaai/mlx_backend/embedding/interface.py,sha256=
|
|
211
|
-
nexaai/mlx_backend/embedding/main.py,sha256=
|
|
209
|
+
nexaai/mlx_backend/embedding/generate.py,sha256=leZA0Ir78-5GV3jloPKYSAKgb04Wr5jORFJlSSVyKs0,12855
|
|
210
|
+
nexaai/mlx_backend/embedding/interface.py,sha256=M7AGiq_UVLNIi2Ie6H08ySnMxIjIhUlNgmV9I_rKYt4,22742
|
|
211
|
+
nexaai/mlx_backend/embedding/main.py,sha256=xKRebBcooKuf8DzWKwCicftes3MAcYAd1QvcT9_AAPQ,6003
|
|
212
212
|
nexaai/mlx_backend/embedding/modeling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
213
213
|
nexaai/mlx_backend/embedding/modeling/nexa_jina_v2.py,sha256=F9Z_9r-Dh0wNThiMp5W5hqE2dt5bf4ps5_c6h4BuWGw,15218
|
|
214
214
|
nexaai/mlx_backend/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
215
215
|
nexaai/mlx_backend/llm/generate.py,sha256=Phes0tzxbbEWA2hDylQvD0LjorMaPwvcfZq9RKCAOt0,4399
|
|
216
|
-
nexaai/mlx_backend/llm/interface.py,sha256=
|
|
216
|
+
nexaai/mlx_backend/llm/interface.py,sha256=SZFkuAUi2vxj_dSqj8RXf9vPTGMtpks_pZxxrF7iIe8,29330
|
|
217
217
|
nexaai/mlx_backend/llm/main.py,sha256=gFDE4VZv_CLKMCTn0N521OfCKH_Ys26bHDh6g9VEFNc,1982
|
|
218
218
|
nexaai/mlx_backend/mlx_audio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
219
219
|
nexaai/mlx_backend/mlx_audio/server.py,sha256=Pqy13Fafq4WX_cTuvRFz1jq89beQm2QQGpXmhK4b9jc,17547
|
|
@@ -511,12 +511,12 @@ nexaai/tts_impl/mlx_tts_impl.py,sha256=i_uNPdvlXYtL3e01oKjDlP9jgkWCRt1bBHsExaaiJ
|
|
|
511
511
|
nexaai/tts_impl/pybind_tts_impl.py,sha256=mpn44r6pfYLIl-NrEy2dXHjGtWtNCmM7HRyxiANxUI4,1444
|
|
512
512
|
nexaai/utils/avatar_fetcher.py,sha256=bWy8ujgbOiTHFCjFxTwkn3uXbZ84PgEGUkXkR3MH4bI,3821
|
|
513
513
|
nexaai/utils/decode.py,sha256=61n4Zf6c5QLyqGoctEitlI9BX3tPlP2a5aaKNHbw3T4,404
|
|
514
|
-
nexaai/utils/model_manager.py,sha256=
|
|
515
|
-
nexaai/utils/progress_tracker.py,sha256=
|
|
514
|
+
nexaai/utils/model_manager.py,sha256=QJlE-VvkAy38-8hhPYDu8NVHZqpF_HygXU189qd4Wkg,48157
|
|
515
|
+
nexaai/utils/progress_tracker.py,sha256=mTw7kaKH8BkmecYm7iBMqRHd9uUH4Ch0S8CzbpARDCk,15404
|
|
516
516
|
nexaai/vlm_impl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
517
|
-
nexaai/vlm_impl/mlx_vlm_impl.py,sha256=
|
|
518
|
-
nexaai/vlm_impl/pybind_vlm_impl.py,sha256=
|
|
519
|
-
nexaai-1.0.
|
|
520
|
-
nexaai-1.0.
|
|
521
|
-
nexaai-1.0.
|
|
522
|
-
nexaai-1.0.
|
|
517
|
+
nexaai/vlm_impl/mlx_vlm_impl.py,sha256=od1R1mRoIgPG3NHC7JiDlcB_YJY8aklX8Em3ZkeHNpE,10734
|
|
518
|
+
nexaai/vlm_impl/pybind_vlm_impl.py,sha256=5ZMFgDATthmMzjrd-vE5KX5ZAMoWPYbF_FTLz8DBKIk,8908
|
|
519
|
+
nexaai-1.0.6.dist-info/METADATA,sha256=A27rUPomOEG4fxgVqRitNGDw71-HoGLvlphrhjkebrU,1197
|
|
520
|
+
nexaai-1.0.6.dist-info/WHEEL,sha256=T2p57lol9__xkoU6aJTyN1Pm43ZpRU3q6km7mIbrAMs,114
|
|
521
|
+
nexaai-1.0.6.dist-info/top_level.txt,sha256=LRE2YERlrZk2vfuygnSzsEeqSknnZbz3Z1MHyNmBU4w,7
|
|
522
|
+
nexaai-1.0.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|