Python generators are a type of function that allows you to generate a sequence of values on-the-fly, rather than generating them all at once and storing them in memory. 

When you call a generator function, it returns an iterator object that you can use to iterate over the sequence of values. Each time you call the iterator's `next()` method, the generator function resumes execution from where it left off and generates the next value in the sequence.

Generators are useful for working with large datasets or infinite sequences, as they allow you to generate only the values that are needed at any given time, rather than generating everything upfront and potentially running out of memory. They also allow for more efficient processing of data by enabling lazy evaluation.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence