ray-embedding 0.13.17__tar.gz → 0.14.0__tar.gz

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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ray-embedding
3
- Version: 0.13.17
3
+ Version: 0.14.0
4
4
  Summary: Deploy SentenceTransformers embedding models to a ray cluster
5
5
  Author: Crispin Almodovar
6
6
  Author-email:
@@ -1,4 +1,5 @@
1
1
  import os
2
+ from typing import Any, Dict
2
3
 
3
4
  import torch
4
5
  from ray.serve import Application
@@ -6,7 +7,7 @@ from ray.serve import Application
6
7
  from ray_embedding.dto import AppConfig, ModelDeploymentConfig, DeployedModel, NodeReaperConfig
7
8
  from ray_embedding.embedding_model import EmbeddingModel
8
9
  from ray_embedding.node_reaper import NodeReaper, NODE_REAPER_DEPLOYMENT_NAME
9
- from ray_embedding.utils import node_affinity_for_head, node_affinity_for_worker
10
+ from ray_embedding.utils import get_head_node_id
10
11
  from ray_embedding.model_router import ModelRouter
11
12
 
12
13
 
@@ -56,7 +57,7 @@ def build_app(args: AppConfig) -> Application:
56
57
 
57
58
  node_reaper_config = args.node_reaper or NodeReaperConfig()
58
59
 
59
- node_reaper_kwargs = {
60
+ node_reaper_kwargs: Dict[str, Any] = {
60
61
  "ssh_user": node_reaper_config.ssh_user,
61
62
  "ssh_private_key": node_reaper_config.ssh_private_key,
62
63
  }
@@ -67,13 +68,20 @@ def build_app(args: AppConfig) -> Application:
67
68
 
68
69
  node_reaper = NodeReaper.options(
69
70
  name=NODE_REAPER_DEPLOYMENT_NAME,
70
- ray_actor_options={"num_cpus": 0.25, f"node:{HEAD_NODE_IP}": 1},
71
+ ray_actor_options={"num_cpus": 0.25, "resources": {"node_type:head": 1}},
71
72
  autoscaling_config={"initial_replicas": 1, "min_replicas": 1, "max_replicas": 1}
72
73
  ).bind(**node_reaper_kwargs)
73
-
74
+
74
75
  deployed_models = {model_config.served_model_name: build_model(model_config, node_reaper) for model_config in models}
76
+ model_router_kwargs = {
77
+ "deployed_models": deployed_models,
78
+ "path_prefix": model_router.path_prefix,
79
+ "max_concurrency": model_router.max_concurrency,
80
+ "node_reaper": node_reaper
81
+ }
75
82
  router = ModelRouter.options(
76
- name=model_router.deployment
77
- ).bind(deployed_models, model_router.path_prefix, node_reaper)
83
+ name=model_router.deployment,
84
+ ray_actor_options={"num_cpus": 0.25, "resources": {"node_type:worker": 1}}
85
+ ).bind(**model_router_kwargs)
78
86
 
79
87
  return router
@@ -5,17 +5,12 @@ from pathlib import Path
5
5
  from typing import Dict, Any, List, Optional, Set
6
6
 
7
7
  from ray import serve
8
- from ray_embedding.utils import HEAD_NODE_IP
9
8
 
10
9
 
11
10
  NODE_REAPER_DEPLOYMENT_NAME = "NodeReaper"
12
11
 
13
12
 
14
- @serve.deployment(
15
- name=NODE_REAPER_DEPLOYMENT_NAME,
16
- ray_actor_options={"num_cpus": 0.25, f"node:{HEAD_NODE_IP}": 1},
17
- autoscaling_config={"initial_replicas": 1, "min_replicas": 1, "max_replicas": 1},
18
- )
13
+ @serve.deployment
19
14
  class NodeReaper:
20
15
  def __init__(
21
16
  self,
@@ -21,17 +21,6 @@ def get_head_node_id() -> Tuple[str, str]:
21
21
  raise RuntimeError("Unable to locate the head node ID for NodeReaper deployment.") from exc
22
22
 
23
23
 
24
- HEAD_NODE_ID, HEAD_NODE_IP = get_head_node_id()
25
-
26
-
27
- def node_affinity_for_head() -> NodeAffinitySchedulingStrategy:
28
- return NodeAffinitySchedulingStrategy(node_id=HEAD_NODE_ID, soft=False)
29
-
30
-
31
- def node_affinity_for_worker() -> NodeAffinitySchedulingStrategy:
32
- return NodeAffinitySchedulingStrategy(node_id=NotIn(HEAD_NODE_ID), soft=False)
33
-
34
-
35
24
  def get_node_reaper_handle() -> DeploymentHandle:
36
25
  try:
37
26
  return serve.context.get_deployment_handle(NODE_REAPER_DEPLOYMENT_NAME)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ray-embedding
3
- Version: 0.13.17
3
+ Version: 0.14.0
4
4
  Summary: Deploy SentenceTransformers embedding models to a ray cluster
5
5
  Author: Crispin Almodovar
6
6
  Author-email:
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = ray-embedding
3
- version = 0.13.17
3
+ version = 0.14.0
4
4
  author = Crispin Almodovar
5
5
  author_email =
6
6
  description = Deploy SentenceTransformers embedding models to a ray cluster