# Copyright 2023-present, Argilla, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from distilabel.tasks.base import Task
from distilabel.tasks.critique.base import CritiqueTask
from distilabel.tasks.critique.prometheus import PrometheusTask
from distilabel.tasks.critique.ultracm import UltraCMTask
from distilabel.tasks.preference.complexity_scorer import ComplexityScorerTask
from distilabel.tasks.preference.judgelm import JudgeLMTask
from distilabel.tasks.preference.quality_scorer import QualityScorerTask
from distilabel.tasks.preference.ultrafeedback import UltraFeedbackTask
from distilabel.tasks.preference.ultrajudge import UltraJudgeTask
from distilabel.tasks.prompt import Prompt
from distilabel.tasks.text_generation.base import TextGenerationTask
from distilabel.tasks.text_generation.evol_complexity import EvolComplexityTask
from distilabel.tasks.text_generation.evol_instruct import EvolInstructTask
from distilabel.tasks.text_generation.evol_quality import EvolQualityTask
from distilabel.tasks.text_generation.self_instruct import SelfInstructTask

__all__ = [
    "Task",
    "CritiqueTask",
    "PrometheusTask",
    "UltraCMTask",
    "JudgeLMTask",
    "UltraFeedbackTask",
    "UltraJudgeTask",
    "Prompt",
    "TextGenerationTask",
    "SelfInstructTask",
    "EvolInstructTask",
    "EvolComplexityTask",
    "EvolQualityTask",
    "ComplexityScorerTask",
    "QualityScorerTask",
]
