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"] | |