ray-embedding 0.13.1__py3-none-any.whl → 0.13.2__py3-none-any.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 ray-embedding might be problematic. Click here for more details.

@@ -124,5 +124,5 @@ class ModelRouter:
124
124
 
125
125
  async def check_health(self):
126
126
  if self.node_health_tracker:
127
- if await self.node_health_tracker.is_bad_gpu_or_no_tracked_model_on_node.remote(self.node_ip):
128
- raise RuntimeError(f"The node {self.node_ip} is marked bad, or there are no tracked models running on it.")
127
+ if await self.node_health_tracker.is_bad_gpu_or_no_model_replica_on_node.remote(self.node_ip):
128
+ raise RuntimeError(f"The node {self.node_ip} is marked bad, or no model replica running on the node.")
@@ -39,12 +39,14 @@ class NodeHealthTracker:
39
39
  )
40
40
 
41
41
  async def is_bad_gpu_node(self, node_ip: str) -> bool:
42
+ self.logger.info(f"Checking if node {node_ip} is marked bad.")
42
43
  with self.lock:
43
44
  return node_ip in self.bad_gpu_node_ips
44
45
 
45
- async def is_bad_gpu_or_no_tracked_model_on_node(self, node_ip: str):
46
+ async def is_bad_gpu_or_no_model_replica_on_node(self, node_ip: str):
47
+ self.logger.info(f"Checking if node {node_ip} is marked bad or no model replica running on the node.")
46
48
  return (await self.is_bad_gpu_node(node_ip) or
47
- not await self.is_tracked_model_running_on_node(node_ip))
49
+ not await self.is_model_replica_running_on_node(node_ip))
48
50
 
49
51
  async def check_health(self):
50
52
  """Called periodically by Ray Serve. Used here to clean up stale node IDs."""
@@ -59,12 +61,14 @@ class NodeHealthTracker:
59
61
  except Exception as e:
60
62
  raise RuntimeError(f"An error occurred in check_health during bad node cleanup: {e}")
61
63
 
62
- async def is_tracked_model_running_on_node(self, node_ip: str) -> bool:
64
+ async def is_model_replica_running_on_node(self, node_ip: str) -> bool:
63
65
  """
64
- Return True if there is at least one replica of any of the self.tracked_model_deployments
66
+ Return True if there is at least one replica of the self.tracked_model_deployments
65
67
  running on the specified node_ip.
66
68
  """
67
69
  try:
70
+ self.logger.info(f"Checking if there is at least one replica of tracked_deployments={self.tracked_model_deployments} "
71
+ f"running on node {node_ip}.")
68
72
  target_node_id = next(node["NodeID"] for node in ray.nodes() if node["Alive"] and node["NodeManagerAddress"] == node_ip)
69
73
  assert target_node_id, f"No node found with IP {node_ip}"
70
74
  prefixes = tuple(f"SERVE_REPLICA::{d}" for d in self.tracked_model_deployments)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ray-embedding
3
- Version: 0.13.1
3
+ Version: 0.13.2
4
4
  Summary: Deploy SentenceTransformers embedding models to a ray cluster
5
5
  Author: Crispin Almodovar
6
6
  Author-email:
@@ -0,0 +1,10 @@
1
+ ray_embedding/__init__.py,sha256=YS5LAZfRIwwVvE3C9g7hsauvjgIkqKtHyxkwMFFfAGY,46
2
+ ray_embedding/deploy.py,sha256=2R7bQ7aPc9G8H9KVoemxum6-9YxmlXQogWbhFhuslko,3762
3
+ ray_embedding/dto.py,sha256=lk_LuVQPq3MLIMTMddqHviYXILY6V5dvbzDJuD_D_qc,1573
4
+ ray_embedding/embedding_model.py,sha256=P2xyXCznxXmdQBK6zodOJEMvxGVRMA8Ra3O5Qi7RCh0,6013
5
+ ray_embedding/model_router.py,sha256=fmaeXzaAJeCemzL9nUoXfdCrU-ZaCe_29fx5ayDCTC0,6845
6
+ ray_embedding/node_health.py,sha256=jZCpa32PlDKSrLY5p5-07cJZqHOb4wMxsoW7LqIgYak,4740
7
+ ray_embedding-0.13.2.dist-info/METADATA,sha256=FBMYV1oVH6O4LCRvoN8tYDQFFK6FRHh76JVVLKu_4aE,1074
8
+ ray_embedding-0.13.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
9
+ ray_embedding-0.13.2.dist-info/top_level.txt,sha256=ziCblpJq1YsrryshFqxTRuRMgNuO1_tgvAAkGShATNA,14
10
+ ray_embedding-0.13.2.dist-info/RECORD,,
@@ -1,10 +0,0 @@
1
- ray_embedding/__init__.py,sha256=YS5LAZfRIwwVvE3C9g7hsauvjgIkqKtHyxkwMFFfAGY,46
2
- ray_embedding/deploy.py,sha256=2R7bQ7aPc9G8H9KVoemxum6-9YxmlXQogWbhFhuslko,3762
3
- ray_embedding/dto.py,sha256=lk_LuVQPq3MLIMTMddqHviYXILY6V5dvbzDJuD_D_qc,1573
4
- ray_embedding/embedding_model.py,sha256=P2xyXCznxXmdQBK6zodOJEMvxGVRMA8Ra3O5Qi7RCh0,6013
5
- ray_embedding/model_router.py,sha256=uHbPqiKuaxUO6mx8pJK19yr83RBiVyfMAB5FkWJl3Gk,6850
6
- ray_embedding/node_health.py,sha256=ZwQFshoMmTDpuCSRW-uixEfwzFrJo8JMTu8L5r8NIjA,4374
7
- ray_embedding-0.13.1.dist-info/METADATA,sha256=NCK8Ks2nDMfDCQ_0PLOX2wkWzgKhE9qqq4QRm_a2nII,1074
8
- ray_embedding-0.13.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
9
- ray_embedding-0.13.1.dist-info/top_level.txt,sha256=ziCblpJq1YsrryshFqxTRuRMgNuO1_tgvAAkGShATNA,14
10
- ray_embedding-0.13.1.dist-info/RECORD,,