def __init__(self, evaluation_api, subset:str, root: str=None, *args, **kwargs):
        """
        GPQA dataset from OpenAI (from https://github.com/openai/simple-evals/)"""
        import pandas as pd
        if root is None:
            root = platformdirs.user_cache_dir("textgrad")
            
        self.root = root
        assert subset in ["gpqa_main", "gpqa_diamond", "gpqa_extended"]
        self.subset = subset
        df = pd.read_csv(f"https://openaipublic.blob.core.windows.net/simple-evals/gpqa_{subset[5:]}.csv")
        examples = [row.to_dict() for _, row in df.iterrows()]
        rng = random.Random(0)
        self.data = [example | {"permutation": rng.sample(range(4), 4)} for example in examples]
        self._task_description = 'GPQA task' # Need to update
        self.evaluation_api = evaluation_api

        GPQA dataset from OpenAI (from https://github.com/openai/simple-evals/)
textgrad/tasks/gpqa.py