solution.py 741 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from ray import serve
  2. from ray.serve.drivers import DAGDriver
  3. from ray.dag.input_node import InputNode
  4. """
  5. We are building a DAG like this:
  6. A -> B ----> C
  7. \-> D --/
  8. \-> E -/
  9. """
  10. @serve.deployment
  11. def a(val: int):
  12. return val
  13. @serve.deployment
  14. def b(val: int):
  15. return val + 1
  16. @serve.deployment
  17. def c(v1: int, v2: int, v3: int):
  18. return sum([v1, v2, v3])
  19. @serve.deployment
  20. def d(val):
  21. return val + 2
  22. @serve.deployment
  23. def e(val):
  24. return val + 3
  25. with InputNode() as user_input:
  26. oa = a.bind(user_input)
  27. ob = b.bind(oa)
  28. od = d.bind(oa)
  29. oe = e.bind(oa)
  30. oc = c.bind(ob, od, oe)
  31. def input_adapter(val: int):
  32. return val
  33. serve_entrypoint = DAGDriver.bind(oc, http_adapter=input_adapter)