

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 dei modelli di fondazione disponibili al pubblico con la classe `ModelBuilder`
<a name="jumpstart-foundation-models-use-python-sdk-model-class"></a>

Puoi implementare un algoritmo integrato o un modello preaddestrato su un endpoint SageMaker AI in poche righe di codice utilizzando l'SDK. SageMaker Python

1. Innanzitutto, trova l'ID del modello di tua scelta in. [Modelli di fondazione disponibili](jumpstart-foundation-models-latest.md)

1. Utilizzando l'ID del modello, definisci il tuo modello come JumpStart modello.

   ```
   from sagemaker.serve import ModelBuilder
   from sagemaker.core.jumpstart.configs import JumpStartConfig
   
   jumpstart_config = JumpStartConfig(model_id={{"huggingface-text2text-flan-t5-xl"}})
   model_builder = ModelBuilder.from_jumpstart_config(jumpstart_config=jumpstart_config)
   ```

1. Utilizza il metodo `deploy` per implementare automaticamente il modello per l’inferenza. In questo esempio, utilizziamo il modello FLAN-T5 XL diHugging Face.

   ```
   model = model_builder.build()
   endpoint = model_builder.deploy()
   ```

1. È quindi possibile eseguire l'inferenza con il modello distribuito utilizzando il `invoke` metodo. Text-generation modelli come questo accettano un corpo di richiesta JSON con una chiave. `inputs` Serializza il payload con `json.dumps` e imposta il tipo di contenuto su. `application/json`

   ```
   import json
   
   question = {{"What is Southern California often abbreviated as?"}}
   payload = {"inputs": question, "parameters": {"max_new_tokens": 100}}
   response = endpoint.invoke(body=json.dumps(payload), content_type="application/json")
   print(response.body.read().decode('utf-8'))
   ```

**Nota**  
Questo esempio utilizza il modello base FLAN-T5 XL, adatto per un'ampia gamma di casi d'uso della generazione di testo, tra cui la risposta alle domande, il riepilogo, la creazione di chatbot e altro ancora. Per ulteriori informazioni sui casi d’uso dei modelli, consulta [Modelli di fondazione disponibili](jumpstart-foundation-models-latest.md).

Per ulteriori informazioni sulla `ModelBuilder` classe e sui relativi parametri, [ ModelBuilder ](https://sagemaker.readthedocs.io/en/stable/api/sagemaker_serve.html#sagemaker.serve.ModelBuilder) consultate la documentazione SageMaker Python SDK sul sito Web Read the Docs.

## Controllo dei tipi di istanza predefiniti
<a name="jumpstart-foundation-models-use-python-sdk-model-class-instance-types"></a>

Quando si implementa un modello preaddestrato, è possibile specificare facoltativamente una versione del modello sul proprio. `JumpStartConfig` Puoi anche scegliere un tipo di istanza sul tuo `ModelBuilder` (ad esempio, con il `instance_type` parametro). Tutti i JumpStart modelli hanno un tipo di istanza predefinito. Recupera il tipo di istanza di implementazione predefinita utilizzando il seguente codice:

```
from sagemaker.core import instance_types

instance_type = instance_types.retrieve_default(
    model_id=model_id,
    model_version=model_version,
    scope={{"inference"}})
print(instance_type)
```

Visualizza tutti i tipi di istanza supportati per un determinato JumpStart modello con il `instance_types.retrieve()` metodo.

## Utilizzo dei componenti di inferenza per implementare più modelli su un endpoint condiviso
<a name="jumpstart-foundation-models-use-python-sdk-model-class-endpoint-types"></a>

Un componente di inferenza è un oggetto di hosting SageMaker AI che puoi utilizzare per distribuire uno o più modelli su un endpoint per una maggiore flessibilità e scalabilità. È necessario modificarlo `endpoint_type` affinché il JumpStart modello sia basato su componenti di inferenza anziché sull'endpoint predefinito basato sul modello. Importa `EndpointType` e distribuisci con il tipo di endpoint basato sui componenti di inferenza:

```
from sagemaker.core.enums import EndpointType

endpoint = model_builder.deploy(
    endpoint_name = {{'jumpstart-model-id-123456789012'}}, 
    endpoint_type = EndpointType.INFERENCE_COMPONENT_BASED
)
```

Per ulteriori informazioni sulla creazione di endpoint con componenti di inferenza e sull'implementazione di modelli AI, consulta. SageMaker [Utilizzo condiviso delle risorse con più modelli](realtime-endpoints-deploy-models.md#deployed-shared-utilization)

## Verifica dei formati di inferenza di input e output validi
<a name="jumpstart-foundation-models-use-python-sdk-model-class-input-output"></a>

Per verificare i formati di input e output dei dati validi per l’inferenza, puoi utilizzare il metodo `retrieve_options()` delle classi `Serializers` e `Deserializers`.

```
from sagemaker.core.serializers.implementations import retrieve_options as retrieve_serializer_options
from sagemaker.core.deserializers.implementations import retrieve_options as retrieve_deserializer_options

print(retrieve_serializer_options(model_id=model_id, model_version=model_version))
print(retrieve_deserializer_options(model_id=model_id, model_version=model_version))
```

## Verifica dei contenuti supportati e dei tipi di accettazione
<a name="jumpstart-foundation-models-use-python-sdk-model-class-content-types"></a>

Allo stesso modo, è possibile utilizzare il metodo `retrieve_options()` per verificare i contenuti supportati e i tipi di accettazione per un modello.

```
from sagemaker.core import content_types, accept_types

print(content_types.retrieve_options(model_id=model_id, model_version=model_version))
print(accept_types.retrieve_options(model_id=model_id, model_version=model_version))
```

Per ulteriori informazioni sulle utility, consulta [API Utility](https://sagemaker.readthedocs.io/en/stable/api/utility/index.html).