Oh actually I think this is because you have to use model.generate according to the documentation 11.
Maybe @sshleifer can give you more information.
The input of bleu is tokenized text. An example of usage is
import nlp
bleu_metric = nlp.load_metric('bleu')
prediction = ['Hey', 'how', 'are', 'you', '?']  # tokenized input
reference=[['Hey', 'how', 'are', 'you', '?']]  # one reference for this translation but there could be more
bleu_metric.compute([prediction],[reference])