Вы можете распаковать файл model.tar.gz , чтобы предоставить доступ к metadata.json и остальным файлам модели.
Используя образец модели, сгенерированный из rasa init
, если я расплачу его:
$ ls models
20190622-213707.tar.gz
$ cd models
$ mkdir 20190622-213707
$ tar xvf 20190622-213707.tar.gz -C 20190622-213707
$ tree 20190622-213707
Я получу:
20190622-213707
├── core
│ ├── ....
├── fingerprint.json
└── nlu
├── checkpoint
├── component_1_RegexFeaturizer.pkl
├── component_4_CountVectorsFeaturizer.pkl
├── component_5_EmbeddingIntentClassifier.ckpt.data-00000-of-00001
├── component_5_EmbeddingIntentClassifier.ckpt.index
├── component_5_EmbeddingIntentClassifier.ckpt.meta
├── component_5_EmbeddingIntentClassifier_encoded_all_intents.pkl
├── component_5_EmbeddingIntentClassifier_inv_intent_dict.pkl
├── metadata.json
└── training_data.json
... который показывает metadata.json в папке nlu .
Затем вы можете использовать полный путь к каталогу модели.
interpreter = Interpreter.load("./models/20190622-213707/nlu/")
print(interpreter.parse("hello"))
# {'intent': {'name': 'greet', 'confidence': 0.9470939636230469},
# 'entities': [],
# 'intent_ranking': [{'name': 'greet', 'confidence': 0.9470939636230469},
# {'name': 'deny', 'confidence': 0.17162932455539703},
# {'name': 'affirm', 'confidence': 0.05398404598236084},
# {'name': 'mood_great', 'confidence': 0.0},
# {'name': 'goodbye', 'confidence': 0.0},
# {'name': 'mood_unhappy', 'confidence': 0.0}],
# 'text': 'hello'}
Я не очень знаком с rasa
, но вы можете смешивать использование командной строки с "ручными" API-интерфейсами Python для написания собственных приложений для тренеров / переводчиков.
Проверьте Trainer
класс в rasa.nlu.model
. Он имеет метод persist
, который сохраняет вашу модель в каталог, но не как tar.gz . Результат Trainer
может затем использоваться Interpreter
.