

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Bereitstellung eines Modells mit Ray Serve
<a name="sagemaker-hyperpod-ray-deploy-model"></a>

Sie stellen ein Modell mit einer Ressource bereit. `RayService` Das `serveConfigV2` Feld enthält Ihre Serve-Anwendungen und ihre Bereitstellungen und KubeRay erstellt den Ray-Cluster, auf dem sie ausgeführt werden. HyperPod ändert sich nicht KubeRay, sodass eine von `RayService` Ihnen bereits ausgeführte Version weiterhin funktioniert.

## Ein RayService Manifest
<a name="sagemaker-hyperpod-ray-deploy-model-manifest"></a>

Das folgende Manifest führt eine Serve-Anwendung mit einer einzigen GPU-backed Bereitstellung aus. `import_path`Ersetzen Sie es durch das Modul und das Anwendungsobjekt in Ihrem Arbeitsverzeichnis.

```
apiVersion: ray.io/v1
kind: RayService
metadata:
  name: my-service
  namespace: my-namespace
spec:
  serveConfigV2: |
    applications:
      - name: my-app
        import_path: my_module:app
        route_prefix: /
        deployments:
          - name: Model
            num_replicas: 2
            ray_actor_options:
              num_gpus: 1
  rayClusterConfig:
    rayVersion: "2.56.1"
    headGroupSpec:
      rayStartParams:
        dashboard-host: "0.0.0.0"
      template:
        spec:
          containers:
            - name: ray-head
              image: rayproject/ray:2.56.1
              ports:
                - { containerPort: 8265, name: dashboard }
                - { containerPort: 8000, name: serve }
    workerGroupSpecs:
      - groupName: gpu-workers
        replicas: 1
        rayStartParams: {}
        template:
          spec:
            nodeSelector:
              node.kubernetes.io/instance-type: ml.g5.xlarge
            containers:
              - name: ray-worker
                image: rayproject/ray:2.56.1-gpu
                resources:
                  limits: { nvidia.com/gpu: "1" }
                  requests: { cpu: "4", memory: "16Gi", nvidia.com/gpu: "1" }
```

Bewerben Sie sich und bestätigen Sie, dass der Dienst bereit ist:

```
kubectl apply -f my-service.yaml -n my-namespace
kubectl get rayservice my-service -n my-namespace
```

## Den Endpunkt erreichen
<a name="sagemaker-hyperpod-ray-deploy-model-endpoint"></a>

Ray Serve hört auf dem Port `8000` des Headpods zu. Senden Sie innerhalb des Clusters Anfragen an den Dienst, der für den KubeRay `RayService` erstellt. Für schnelle Tests können Sie Folgendes verwenden`kubectl port-forward`:

```
kubectl port-forward svc/{{ray-service-head-svc}} 8000:8000
curl http://localhost:8000/
```

Informationen zur Serve-Bereitstellungs-API und zur Anforderungsverarbeitung finden Sie unter [ Ray Serve API ](https://docs.ray.io/en/latest/serve/api/index.html) in der Ray-Dokumentation.