def METHOD_NAME(svc: bentoml.Service, **kwargs) -> Deployment:
    @serve.deployment(name=f"bento-svc-{svc.name}", **kwargs)
    class BentoDeployment:
        def __init__(self, **runner_deployments: dict[str, Deployment]):
            from ..server.http_app import HTTPAppFactory
            # Use Ray's metrics setup. Ray has already initialized a prometheus client
            # for multi-process and this conflicts with BentoML's prometheus setup
            self.app = HTTPAppFactory(svc, enable_metrics=False)()
            for runner in svc.runners:
                assert runner.name in runner_deployments
                runner._set_handle(RayRunnerHandle, runner_deployments[runner.name])
        async def __call__(self, request: requests.Request):
            sender = ASGIHTTPSender()
            await self.app(request.scope, receive=request.receive, send=sender)
            return sender.build_asgi_response()
    return BentoDeployment