Spaces:
Running
Running
| from pathlib import Path | |
| from typing import Iterator, List, Tuple | |
| import requests | |
| class GenAIBenchPrompts: | |
| def __init__(self): | |
| super().__init__() | |
| self._download_genai_bench_files() | |
| prompts_path = Path("downloads/genai_bench/prompts.txt") | |
| with open(prompts_path, "r") as f: | |
| self.prompts = [line.strip() for line in f if line.strip()] | |
| def __iter__(self) -> Iterator[Tuple[str, Path]]: | |
| for i, prompt in enumerate(self.prompts): | |
| yield prompt, Path(f"{i}.png") | |
| def _download_genai_bench_files(self) -> None: | |
| folder_name = Path("downloads/genai_bench") | |
| folder_name.mkdir(parents=True, exist_ok=True) | |
| prompts_url = "https://huggingface.co/datasets/zhiqiulin/GenAI-Bench-527/raw/main/prompts.txt" | |
| prompts_path = folder_name / "prompts.txt" | |
| if not prompts_path.exists(): | |
| response = requests.get(prompts_url) | |
| with open(prompts_path, "w") as f: | |
| f.write(response.text) | |
| def name(self) -> str: | |
| return "genai_bench" | |
| def size(self) -> int: | |
| return len(self.prompts) | |
| def metrics(self) -> List[str]: | |
| return ["vqa"] | |