Per distribuire un servizio AI, è necessario creare un asset del repository in watsonx.ai Runtime che contenga il servizio AI e caricare il file Python nell'asset.
Requisiti per la creazione di asset di servizi AI
Quando si usa un ambiente di sviluppo integrato (IDE) come VSCode, eclipse, PyCharm, o altri per costruire la propria applicazione di IA generativa, è necessario creare un file Python per memorizzare il servizio di IA. Una volta definita la funzione, è necessario comprimere il servizio AI per creare un archivio 'gzip
(formato file.gz
).
Quando si utilizza la libreria client Python di watsonx.ai per creare il proprio asset di servizio AI, la libreria memorizza automaticamente la funzione nell'archivio 'gzip
. Tuttavia, quando si crea una risorsa di servizio AI utilizzando l'API REST, è necessario seguire il processo di compressione manuale del file Python in un archivio " gzip
.
È necessario utilizzare la specifica software " runtime-24.1-py3.11
per creare e distribuire un asset di servizio AI codificato in Python.
Creare asset di servizi AI con la libreria client Python
È possibile utilizzare la funzione " store_ai_service
della libreria client Python watsonx.ai per creare una risorsa di servizio AI.
Il seguente esempio di codice mostra come creare un asset di servizio AI utilizzando la libreria client Python:
documentation_request = {
"application/json": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"query": {"type": "string"},
"parameters": {
"properties": {
"max_new_tokens": {"type": "integer"},
"top_p": {"type": "number"},
},
"required": ["max_new_tokens", "top_p"],
},
},
"required": ["query"],
}
}
documentation_response = {
"application/json": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {"query": {"type": "string"}, "result": {"type": "string"}},
"required": ["query", "result"],
}
}
meta_props = {
client.repository.AIServiceMetaNames.NAME: "AI service example",
client.repository.AIServiceMetaNames.DESCRIPTION: "This is AI service function",
client.repository.AIServiceMetaNames.SOFTWARE_SPEC_ID: client.software_specifications.get_id_by_name(
"runtime-24.1-py3.11"
),
client.repository.AIServiceMetaNames.REQUEST_DOCUMENTATION: documentation_request,
client.repository.AIServiceMetaNames.RESPONSE_DOCUMENTATION: documentation_response,
}
stored_ai_service_details = client.repository.store_ai_service(
basic_generate_demo, meta_props
)
ai_service_id = client.repository.get_ai_service_id(stored_ai_service_details)
print("The AI service asset id:", ai_service_id)
- I parametri "
REQUEST_DOCUMENTATION
e "RESPONSE_DOCUMENTATION
sono facoltativi. Si possono usare questi parametri per memorizzare lo schema della richiesta e della risposta delle funzioni 'generate
e 'generate_stream
. - La chiamata di funzione '
client.repository.store_ai_service
salva internamente la funzione del servizio AI 'basic_generate_demo
in un file 'gzip
.
Per ulteriori informazioni, consultare la documentazione della libreria client Pythonwatsonx.ai per la creazione di un asset di servizio AI.
Creazione di un asset di servizio AI con API REST
È possibile utilizzare l'endpoint API REST '/ml/v4/ai_services
per creare l'asset dei servizi AI nel repository watsonx.ai Runtime. Per ulteriori informazioni, consultare la documentazione dell'API REST diwatsonx.ai.
Ulteriori informazioni
Argomento principale: Distribuzione di servizi AI con codifica diretta