python - Rasa NLU 在线和训练版问题
问题描述
我读了 Sumit Raj 写的名为“使用 Python 构建聊天机器人:使用自然语言处理和机器学习”的书,并按照那里编写的代码进行操作。然后我来到了一个如何在线训练对话的示例代码,但后来我发现该代码已被弃用。这是代码:
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
import logging
from rasa_core import utils, train
from rasa_core.training import online
from rasa_core.interpreter import NaturalLanguageInterpreter
logger = logging.getLogger(__name__)
def train_agent(interpreter):
return train.train_dialog_model(domain_file="horoscope_domain.yml",
stories_file="data/stories.md", output_path="models/dialog", nlu_model_path=interpreter,
endpoints="endpoints.yml", max_history=2, kwargs={"batch_size": 50,"epochs": 200,
"max_training_samples": 300 })
if __name__ == '__main__':
utils.configure_colored_logging(loglevel="DEBUG")
nlu_model_path = "./models/nlu/default/horoscopebot" interpreter =
NaturalLanguageInterpreter.create(nlu_model_path) agent = train_agent(interpreter)
online.serve_agent(agent)
那么结果是
ImportError:无法从“rasa_core.training”导入名称“在线”</p>
请帮我看看代码在最新版本中的样子。当我检查时,我使用的是 rasa nlu 0.15.1 版本。
非常感谢您的帮助。
解决方案
我强烈建议您使用最新版本,即 2.0 版。# 在此答案时。
从您使用的版本开始,Rasa 已经从 python 库演变为 python 应用程序,并具有强大的命令行界面。
您现在可以使用以下命令从命令行训练您的机器人:
rasa train
您可以使用以下命令测试机器人:
rasa test
然后您使用以下命令与机器人交谈:
rasa shell
如果您更喜欢将 Rasa 用作库,您可以在使用 Rasa 和 Jupyter Notebook文档中找到训练、测试和聊天的方法。
推荐阅读
- ios - 如何从 iOS 的 WebView 应用程序获取 FCM 的注册 ID?
- python - Pandas - 使用 for 循环将更大的数据帧切成更小的数据帧
- pdfbox - 使用 PDFBox 替换图像不会根据图像更改 pdf 的大小
- php - php int比较“小于或等于”返回空还是null?
- firebase - Flutter 状态中的全局变量
- django - 尝试在另一个函数中使用表单输入时,Django TypeError 缺少 1 个必需的位置参数
- java - 程序类型已存在: com.google.android.gms.common.api.zzd ,无法解析
- python - 使用 Python 加载模板 excel 文件,将 DataFrame 插入特定行并另存为新文件
- csv - 将多个 CSV 行转换为单个列
- regex - 正则表达式组选择