导致此错误的原因:ValueError:文件 ./data/data.yml 的数据格式未知?

问题描述 投票:0回答:1

我的这段代码会产生错误“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 的数据格式未知

python rasa anaconda3 rasa-nlu
1个回答
0
投票

去他妈的所有投反对票而不是回答的人。

© www.soinside.com 2019 - 2024. All rights reserved.