[serve] Modify serve debugger example to use current APIs (#19513)

This commit is contained in:
Edward Oakes 2021-10-19 15:21:56 -05:00 committed by GitHub
parent 56e46c3c23
commit a596d59863
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -228,34 +228,37 @@ We will show how this works using a Ray serve application. Copy the following co
import time import time
import ray
from ray import serve
from sklearn.datasets import load_iris from sklearn.datasets import load_iris
from sklearn.ensemble import GradientBoostingClassifier from sklearn.ensemble import GradientBoostingClassifier
import ray
from ray import serve
serve.start()
# Train model # Train model
iris_dataset = load_iris() iris_dataset = load_iris()
model = GradientBoostingClassifier() model = GradientBoostingClassifier()
model.fit(iris_dataset["data"], iris_dataset["target"]) model.fit(iris_dataset["data"], iris_dataset["target"])
# Define Ray Serve model, # Define Ray Serve model,
@serve.deployment(route_prefix="/iris")
class BoostingModel: class BoostingModel:
def __init__(self): def __init__(self):
self.model = model self.model = model
self.label_list = iris_dataset["target_names"].tolist() self.label_list = iris_dataset["target_names"].tolist()
def __call__(self, flask_request): await def __call__(self, starlette_request):
payload = flask_request.json["vector"] payload = await starlette_request.json()["vector"]
print("Worker: received flask request with data", payload) print(f"Worker: received request with data: {payload}")
prediction = self.model.predict([payload])[0] prediction = self.model.predict([payload])[0]
human_name = self.label_list[prediction] human_name = self.label_list[prediction]
return {"result": human_name} return {"result": human_name}
# Deploy model # Deploy model
client = serve.start() serve.start()
client.create_backend("iris:v1", BoostingModel) BoostingModel.deploy()
client.create_endpoint("iris_classifier", backend="iris:v1", route="/iris")
time.sleep(3600.0) time.sleep(3600.0)