| |
| import pandas as pd |
| import os |
| from dotenv import load_dotenv |
| from huggingface_hub import login |
| from deep_convert import deep_convert |
|
|
| df = None |
|
|
| def init_dataset(): |
| global df |
| if df is not None: |
| return |
|
|
| load_dotenv() |
| hf_token = os.getenv("HF_TOKEN") |
| login(token=hf_token) |
|
|
| |
| df = pd.read_parquet("hf://datasets/WildEval/ZebraLogic/grid_mode/test-00000-of-00001.parquet") |
|
|
| def get_puzzle_by_index(idx: int): |
| """ |
| 返回 (puzzle_text, expected_solution) 二元组 |
| """ |
| global df |
| if df is None: |
| init_dataset() |
|
|
| |
| if idx < 0 or idx >= len(df): |
| return None, None |
|
|
| row = df.iloc[idx] |
| return row['puzzle'], deep_convert(row['solution']) |
|
|