测试领域和数据文件是否有错误
要验证错领域文件、NLU数据或故事数据中是否有任何错误,运行验证脚本,可以使用下面命令运行它:
rasa data validate
上面脚本会验证你的所有文件,以下是脚本的选项列表:
usage: rasa data validate [-h] [-v] [-vv] [--quiet] [--fail-on-warnings]
[-d DOMAIN] [--data DATA]
optional arguments:
-h, --help show this help message and exit
--fail-on-warnings Fail validation on warnings and errors. If omitted
only errors will result in a non zero exit code.
(default: False)
-d DOMAIN, --domain DOMAIN
Domain specification (yml file). (default: domain.yml)
--data DATA Path to the file or directory containing Rasa data.
(default: data)
Python Logging Options:
-v, --verbose Be verbose. Sets logging level to INFO. (default:
None)
-vv, --debug Print lots of debugging statements. Sets logging level
to DEBUG. (default: None)
--quiet Be quiet! Sets logging level to WARNING. (default:
None)
您还可以通过Python API导入Validator类来运行这些验证,该类具有以下方法:
from_files(): 根据字符串路径创建必要的文件。
verify_intents(): 检查domain文件中的意图列表是否于NLU数据里的一致。
verify_intents_in_stories(): 验证故事中的意图是否可用。
verify_utterances(): 检查领域文件中的会话模板和action中的会话是否一致。
verify_utterances_in_stories(): 检查故事中的会话是否可用。
verify_all(): 包含上面所有的验证。
要使用这些函数,必须创建验证器对象并初始化记录器。看下面的代码:
import loggingfrom rasa import utilsfrom 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()