Retourner à la version anglaise de la documentationDéployer des modèles de traitement du langage naturel
Déployer des modèles de traitement du langage naturel
Dernière mise à jour : 22 nov. 2024
Vous pouvez déployer un modèle de traitement du langage naturel dans watsonx.ai Runtime en utilisant des fonctions ou des scriptsPython. Les déploiements en ligne et par lots sont pris en charge.
- Vous pouvez déployer une fonction Python pour les déploiements batch en ligne et inline et un script Python pour les déploiements batch de référence de données.
- La sortie de prédiction renvoyée par "
<model>.run()
est un objet d'une classe spécifique à la classe de prédiction du modèle de données concerné (par exemple, "watson_nlp.data_model.syntax.SyntaxPrediction
). Ces objets ne peuvent pas être sérialisés au format JSON, de sorte que le résultat de la prédiction doit être converti au format dictionnaire Python ou JSON à l'aide des méthodes "<prediction output>.to_dict()
(recommandé) ou "<prediction output>.to_json()
. Si vous ne convertissez pas la sortie, les demandes d'API d'évaluation renvoient une erreur. Voir Exemple de traitement des résultats de prédiction d'un modèle NLP. - Vous pouvez accéder à l'emplacement des modèles Watson NLP pré-entraînés dans le code de la fonction Python en utilisant la variable d'environnement "
LOAD_PATH
- La charge utile d'entrée de prévision et la réponse de prévision renvoyées par
score()
doivent répondre aux exigences répertoriées dans la documentation d'API d'évaluation et de travaux en ligne. - Les demandes d'évaluation pour les modèles NLP peuvent échouer avec une erreur
Out of Memory
signalée par l'environnement d'exécution JVM sous-jacent. Si une erreur est signalée, corrigez le déploiement pour utiliser une spécification matérielle avec plus de mémoire disponible.
Prérequis
Vous devez définir les informations d'identification de votre tâche en générant une clé API. Pour plus d'informations, voir Gestion des informations d'identification des tâches.
Exemples d'utilisation
Analyse syntaxique d'un extrait de texte
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)
Extraction d'entités à partir d'un extrait de texte
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())
Exemple de traitement des résultats de prédiction d'un modèle NLP
for input_data in input_data_row:
targets_sentiments = targets_sentiment_model.run(input_data)
scoring_prediction_row.append(targets_sentiments.to_dict())
Spécifications logicielles prises en charge
Liste des spécifications logicielles qui prennent en charge le déploiement de modèles NLP:
runtime-23.1-py3.10
- Spécifications logicielles personnalisées basées sur
runtime-23.1-py3.10
runtime-24.1-py3.11
- Spécifications logicielles personnalisées basées sur
runtime-24.1-py3.11
Pour plus d'informations sur la personnalisation des spécifications logicielles, voir Personnaliser les runtimes de déploiement de watsonx.ai
Exemples de déploiement de modèles NLP
Pour des exemples, reportez-vous à ce Jupyter Notebook:
Rubrique parent: Gestion des déploiements prédictifs