

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Implementazione di un modello con Ray Serve
<a name="sagemaker-hyperpod-ray-deploy-model"></a>

Si distribuisce un modello con una risorsa. `RayService` Il `serveConfigV2` campo contiene le applicazioni Serve e le relative implementazioni e KubeRay crea il cluster Ray che le esegue. HyperPod non si modifica KubeRay, quindi una versione `RayService` già eseguita continua a funzionare.

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

Il seguente manifesto esegue un'applicazione Serve con una singola GPU-backed distribuzione. Sostituisci `import_path` con il modulo e l'oggetto dell'applicazione nella tua directory di lavoro.

```
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" }
```

Applica e conferma che il servizio è pronto:

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

## Raggiungere l'endpoint
<a name="sagemaker-hyperpod-ray-deploy-model-endpoint"></a>

Ray Serve ascolta `8000` sulla porta dell'headpod. Dall'interno del cluster, invia le richieste al servizio che KubeRay crea per. `RayService` Per test rapidi, puoi usare`kubectl port-forward`:

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

Per l'API di distribuzione Serve e la gestione delle richieste, consultate l'API [ Ray Serve ](https://docs.ray.io/en/latest/serve/api/index.html) nella documentazione di Ray.