我的这段代码会产生错误“ValueError:文件 ./data/data.yml 的数据格式未知”:
它应该是我用于训练数据的 rasa 管道。
from rasa_nlu.training_data import load_data
from rasa_nlu.model import Trainer
from rasa_nlu import config
from rasa_nlu.model import Interpreter
def train_metaversebot(data_yml, config_file, model_dir):
training_data = load_data(data_yml, language='en')
trainer = Trainer(config.load(config_file))
trainer.train(training_data)
model_directory = trainer.persist(model_dir, fixed_model_name='metaversebot')
def predict_intent(text):
interpreter = Interpreter.load('./models/nlu/default/metaversebot')
print(interpreter.parse(text))
train_metaversebot('./data/data.yml', 'config.yml', './models/nlu')
返回的错误是:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[12], line 1
----> 1 train_metaversebot('./data/data.yml', 'config.yml', './models/nlu')
Cell In[10], line 2, in train_metaversebot(data_yml, config_file, model_dir)
1 def train_metaversebot(data_yml, config_file, model_dir):
----> 2 training_data = load_data(data_yml, language='en')
3 trainer = Trainer(config.load(config_file))
4 trainer.train(training_data)
File /opt/anaconda3/lib/python3.11/site-packages/rasa_nlu/training_data/loading.py:54, in load_data(resource_name, language)
49 """Load training data from disk.
50
51 Merges them if loaded from disk and multiple files are found."""
53 files = utils.list_files(resource_name)
---> 54 data_sets = [_load(f, language) for f in files]
55 data_sets = [ds for ds in data_sets if ds]
56 if len(data_sets) == 0:
File /opt/anaconda3/lib/python3.11/site-packages/rasa_nlu/training_data/loading.py:54, in <listcomp>(.0)
49 """Load training data from disk.
50
51 Merges them if loaded from disk and multiple files are found."""
53 files = utils.list_files(resource_name)
---> 54 data_sets = [_load(f, language) for f in files]
55 data_sets = [ds for ds in data_sets if ds]
56 if len(data_sets) == 0:
File /opt/anaconda3/lib/python3.11/site-packages/rasa_nlu/training_data/loading.py:102, in _load(filename, language)
100 fformat = _guess_format(filename)
101 if fformat == UNK:
--> 102 raise ValueError("Unknown data format for file {}".format(filename))
104 logger.info("Training data format of {} is {}".format(filename, fformat))
105 reader = _reader_factory(fformat)
ValueError: Unknown data format for file ./data/data.yml
虽然我可以确认我的 data.yml 的格式正确:
nlu:
- intent: ask_name
examples: |
- May I please know your Name
- intent: ask_mobile_number
examples: |
- Please do share your 10 digit Mobile no. Incase you are overseas please enter your mobile number with country code
最后是我的config.yml
pipeline: "tensorflow_embedding"
path: "./models/nlu"
data: "./data/data.yml"
我似乎无法解决该错误。 ValueError:文件 ./data/data.yml 的数据格式未知
去他妈的所有投反对票而不是回答的人。