A seconda del caso d'uso, è possibile creare una distribuzione online o in batch per la risorsa dei servizi AI dal proprio spazio di distribuzione. Distribuite il vostro servizio di intelligenza artificiale utilizzando l'interfaccia utente watsonx.ai, l'API REST o la libreria client Python.
Tipi di implementazione del servizio AI
A seconda del caso d'uso, è possibile distribuire l'asset del servizio AI come distribuzione online o in batch. Scegliere il tipo di distribuzione in base alle funzioni utilizzate nel servizio AI.
- È necessario creare un'installazione online per la risorsa del servizio AI per lo scoring online (il servizio AI contiene la funzione '
generate()
) o per le applicazioni in streaming (il servizio AI contiene la funzione 'generate_stream()
). - È necessario creare un deployment batch per la risorsa del servizio AI per le applicazioni di scoring batch (il servizio AI contiene la funzione '
generate_batch()
).
Distribuzione dei servizi AI con l'interfaccia utente
È possibile distribuire l'asset dei servizi AI dall'interfaccia utente del proprio spazio di distribuzione.
Prerequisiti
È necessario impostare le credenziali del task per la distribuzione dei servizi AI. Per ulteriori informazioni, vedere Aggiunta di credenziali dell'attività.
È necessario promuovere il proprio asset di servizi AI nello spazio di distribuzione.
Creazione di una distribuzione online per i servizi AI
Seguite questi passaggi per creare un'installazione client online per la vostra risorsa di servizio AI dall'interfaccia utente dello spazio di distribuzione:
Dallo spazio di distribuzione, andare alla scheda Risorse.
Per l'asset del servizio AI nell'elenco degli asset, fare clic sull'icona Menu e selezionare Deploy.
Selezionare Online come tipo di distribuzione.
Immettere un nome per l'installazione client e, facoltativamente, un nome di servizio, una descrizione e dei tag.
Fare clic su Crea.
Creazione di un'installazione batch per i servizi AI
Seguire questi passaggi per creare un'installazione batch per la risorsa del servizio AI dall'interfaccia utente dello spazio di distribuzione:
Dallo spazio di distribuzione, andare alla scheda Risorse.
Per l'asset del servizio AI nell'elenco degli asset, fare clic sull'icona Menu e selezionare Deploy.
Selezionare Batch come tipo di distribuzione.
Immettere un nome per l'installazione client e, facoltativamente, un nome di servizio, una descrizione e dei tag.
Selezionare una specifica hardware:
- Extra small: 1 CPU e 4 GB di RAM
- Piccolo: 2 CPU e 8 GB di RAM
- Medio: 4 CPU e 16 GB di RAM
- Grande: 8 CPU e 32 GB di RAM
- Extra large: 16 CPU e 64 GB di RAM
Fare clic su Crea.
Distribuzione di servizi di intelligenza artificiale con la libreria client Python
È possibile creare una distribuzione online o in batch per il proprio asset di servizio AI utilizzando la libreria client Python.
Creazione della distribuzione online
L'esempio seguente mostra come creare un deployment online per il servizio di IA utilizzando la libreria client watsonx.ai Python:
deployment_details = client.deployments.create(
artifact_id=ai_service_id,
meta_props={
client.deployments.ConfigurationMetaNames.NAME: "ai-service - online test",
client.deployments.ConfigurationMetaNames.ONLINE: {},
client.deployments.ConfigurationMetaNames.HARDWARE_SPEC: {
"id": client.hardware_specifications.get_id_by_name("XS")
},
},
)
deployment_id = client.deployments.get_uid(deployment_details)
print("The deployment id:", deployment_id)
Creazione di un'installazione batch
L'esempio seguente mostra come creare un deployment batch per il servizio di IA utilizzando la libreria client watsonx.ai Python:
deployment_details = client.deployments.create(
artifact_id=ai_service_id,
meta_props={
client.deployments.ConfigurationMetaNames.NAME: f"ai-service - batch",
client.deployments.ConfigurationMetaNames.BATCH: {},
client.deployments.ConfigurationMetaNames.HARDWARE_SPEC: {
"id": client.hardware_specifications.get_id_by_name("XS")
},
},
)
deployment_id = client.deployments.get_uid(deployment_details)
print("The batch deployment id:", deployment_id)
Distribuzione di servizi AI con API REST
È possibile utilizzare l'endpoint API REST " /ml/v4/deployments
watsonx.ai per creare un deployment online o in batch per il proprio asset di servizi di IA.
Creazione della distribuzione online
L'esempio seguente mostra come creare un deployment online per il servizio AI utilizzando l'API REST:
# POST /ml/v4/deployments
response = requests.post(
f'{HOST}/ml/v4/deployments?version={VERSION}',
headers=headers,
verify=False,
json={
"space_id": space_id,
"name": "genai flow online",
"custom": {
"key1": "value1",
"key2": "value2",
"model": "meta-llama/llama-3-8b-instruct"
},
"asset": {
"id": asset_id
},
"online": {}
}
)
Creazione di un'installazione batch
L'esempio seguente mostra come creare un deployment batch per il servizio AI utilizzando l'API REST:
response = requests.post(
f'{HOST}/ml/v4/deployments?version={VERSION}',
headers=headers,
verify=False,
json={
"hardware_spec": {
"id": "........",
"num_nodes": 1
},
"space_id": space_id,
"name": "ai service batch dep",
"custom": {
"key1": "value1",
"key2": "value2",
"model": "meta-llama/llama-3-8b-instruct"
},
"asset": {
"id": asset_id
},
"batch": {}
}
)
print(f'POST {HOST}/ml/v4/deployments?version={VERSION}', response.status_code)
print(json.dumps(response.json(), indent=2))
dep_id = response.json()["metadata"]["id"]
print(f"{dep_id=}")
Ulteriori informazioni
Argomento principale: Distribuzione di servizi AI con codifica diretta