验证数据
测试域和数据文件的错误
要验证域文件,NLU数据或故事数据中是否存在任何错误,请运行验证脚本。你可以使用以下命令运行它:
rasa data validate
上面的命令运行会验证所有的问及那。以下是命令的一次选项:
用法: rasa data validate [-h] [-v] [-vv] [--quiet] [-d DOMAIN] [--data DATA]
可选参数:
-h, --help 显示帮助消息并退出。
-d DOMAIN, --domain DOMAIN
域规范(yml文件)。(默认:domain.yml)
--data DATA 包含Rasa数据的文件或目录。(默认:data)
Python日志选项:
-v, --verbose 详细输出。将日志记录级别设置为INFO。(默认:None)
-vv, --debug 打印大量的调试语句。设置日志记录级别为 DEBUG。(默认:None)
--quiet 将日志记录级别设置为WARNING。(默认:None)
```
你还可以通过python API导入Validator类来运行这些验证,该类具有以下方法:
**from_files()**:根据必要的文件字符串路径创建实例。
**verify_intents()**:检查域文件中列出的意图是否与NLU数据一致。
**verify_intents_in_stories()**:验证故事中的意图,检查它们是否有效。
**verify_utterances()**:检查域文件在话语模板和操作下列出的话语之间的一致性。
**verify_utterances_in_stories()**:验证故事中的话语,检查它们是否有效。
**verify_all()**:运行上面的所有验证。
要使用这些函数,必须创建Validator对象并初始化记录器。请参阅以下代码:
```python
import logging
from rasa import utils
from rasa.core.validator import Validator
logger = logging.getLogger(__name__)
utils.configure_colored_logging('DEBUG')
validator = Validator.from_files(domain_file='domain.yml',
nlu_data='data/nlu_data.md',
stories='data/stories.md')
validator.verify_all()