diff --git a/src/transformers/pipelines/text_generation.py b/src/transformers/pipelines/text_generation.py index 2ac4cdeaf511..c560e3b2087a 100644 --- a/src/transformers/pipelines/text_generation.py +++ b/src/transformers/pipelines/text_generation.py @@ -130,6 +130,8 @@ def _sanitize_parameters( postprocess_params = {} if return_full_text is not None and return_type is None: + if return_text is not None: + raise ValueError("`return_text` is mutually exclusive with `return_full_text`") return_type = ReturnType.FULL_TEXT if return_full_text else ReturnType.NEW_TEXT if return_tensors is not None and return_type is None: return_type = ReturnType.TENSORS diff --git a/tests/pipelines/test_pipelines_text_generation.py b/tests/pipelines/test_pipelines_text_generation.py index ca0e10115845..479624110991 100644 --- a/tests/pipelines/test_pipelines_text_generation.py +++ b/tests/pipelines/test_pipelines_text_generation.py @@ -201,6 +201,9 @@ def run_pipeline_test(self, text_generator, _): ], ) + with self.assertRaises(ValueError): + outputs = text_generator("test", return_full_text=True, return_text=True) + # Empty prompt is slighly special # it requires BOS token to exist. # Special case for Pegasus which will always append EOS so will