Torna alla versione inglese della documentazioneDistribuzione dei modelli di elaborazione del linguaggio naturale
Distribuzione dei modelli di elaborazione del linguaggio naturale
Ultimo aggiornamento: 22 nov 2024
È possibile distribuire un modello di elaborazione del linguaggio naturale in watsonx.ai Runtime utilizzando funzioniPython o scriptPython. Sono supportate sia le distribuzioni in linea che batch.
- È possibile distribuire una funzione Python per le distribuzioni batch online e in linea e uno script Python per le distribuzioni batch di riferimento dei dati.
- L'output di predizione restituito da '
<model>.run()
è un oggetto di una classe specifica per la classe di predizione del modello di dati in questione (ad esempio, 'watson_nlp.data_model.syntax.SyntaxPrediction
). Tali oggetti non possono essere serializzati in formato JSON, pertanto l'output di predizione deve essere convertito in un tipo di dizionario Python o in JSON utilizzando i metodi '<prediction output>.to_dict()
(consigliato) o '<prediction output>.to_json()
. Se non converti l'output, le richieste API di calcolo del punteggio restituiscono un errore. Vedere Esempio di gestione dell'output di predizione di un modello NLP. - È possibile accedere alla posizione dei modelli Watson NLP pre-addestrati nel codice della funzione Python utilizzando la variabile d'ambiente "
LOAD_PATH
. - Il payload di input della previsione e la risposta di previsione restituiti da
score()
devono soddisfare i requisiti elencati nella documentazione API dei lavori e del calcolo del punteggio online. - Le richieste di calcolo del punteggio per i modelli NLP potrebbero avere esito negativo con un errore
Out of Memory
riportato dal runtime JVM sottostante. Se viene riportato un errore, correggere la distribuzione per utilizzare una specifica hardware con più memoria disponibile.
Prerequisiti
È necessario impostare le credenziali dell'attività generando una chiave API. Per ulteriori informazioni, vedere Gestione delle credenziali delle attività.
Esempi di utilizzo
Esecuzione dell'analisi della sintassi su un frammento di testo
import watson_nlp
# Load the syntax model for English
syntax_model = watson_nlp.load('syntax_izumo_en_stock')
# Run the syntax model and print the result
syntax_prediction = syntax_model.run('Welcome to IBM!')
print(syntax_prediction)
Estrazione di entità da un frammento di testo
import watson_nlp
entities_workflow = watson_nlp.load('entity-mentions_transformer-workflow_multilingual_slate.153m.distilled')
entities = entities_workflow.run('IBM\'s CEO Arvind Krishna is based in the US', language_code="en")
print(entities.get_mention_pairs())
Esempio di gestione dell'output di predizione di un modello NLP
for input_data in input_data_row:
targets_sentiments = targets_sentiment_model.run(input_data)
scoring_prediction_row.append(targets_sentiments.to_dict())
Specifiche software supportate
Elenco di specifiche software che supportano la distribuzione di modelli NLP:
runtime-23.1-py3.10
- Specifiche software personalizzate basate su
runtime-23.1-py3.10
runtime-24.1-py3.11
- Specifiche software personalizzate basate su
runtime-24.1-py3.11
Per informazioni su come personalizzare le specifiche del software, vedere Personalizzazione dei runtime di distribuzione watsonx.ai Runtime.
Esempi di implementazione di modelli NLP
Per gli esempi, fare riferimento a questo Jupyter Notebook:
Argomento principale: Gestione delle distribuzioni predittive