1
stars
9
commits
1
linked in READMEs
May 26, 2026
updated
Omni-Bench is an evaluation benchmark for unified multimodal reasoning. It contains 800 samples spanning 4 Uni-Tasks:
Each example contains the following fields:
image (string): the image encoded as a Base64 string.question (string): the input question/prompt for the model.answer (string): the ground-truth answer.Images are stored as base64 strings for easy serialization and distribution.
To use the image, decode the base64 string back into bytes and then load it as an image.
from datasets import load_dataset
ds = load_dataset("ModalityDance/Omni-Bench", split="train")
print(ds[0].keys()) # dict_keys(['image', 'question', 'answer'])
# image is a list of base64 strings
print(type(ds[0]["image"])) # <class 'list'>
print(len(ds[0]["image"])) # number of images in this sample
image (Base64) to a PIL imageimport base64
from io import BytesIO
from PIL import Image
from datasets import load_dataset
ds = load_dataset("ModalityDance/Omni-Bench", split="train")
ex = ds[0]
b64_list = ex["image"] # list of base64 strings
question = ex["question"]
answer = ex["answer"]
images = []
for b64 in b64_list:
# If the string includes a data-URI prefix, strip it:
if isinstance(b64, str) and b64.startswith("data:"):
b64 = b64.split(",", 1)[-1]
img_bytes = base64.b64decode(b64)
img = Image.open(BytesIO(img_bytes)).convert("RGB")
images.append(img)
print("Q:", question)
print("GT:", answer)
print("Number of images:", len(images))
images[0].show()
@misc{cheng2026omnir1unifiedgenerativeparadigm,
title={Omni-R1: Towards the Unified Generative Paradigm for Multimodal Reasoning},
author={Dongjie Cheng and Yongqi Li and Zhixin Ma and Hongru Cai and Yupeng Hu and Wenjie Wang and Liqiang Nie and Wenjie Li},
year={2026},
eprint={2601.09536},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2601.09536},
}
1
stars
9
commits
1
linked in READMEs
May 26, 2026
updated
Omni-Bench is an evaluation benchmark for unified multimodal reasoning. It contains 800 samples spanning 4 Uni-Tasks:
Each example contains the following fields:
image (string): the image encoded as a Base64 string.question (string): the input question/prompt for the model.answer (string): the ground-truth answer.Images are stored as base64 strings for easy serialization and distribution.
To use the image, decode the base64 string back into bytes and then load it as an image.
from datasets import load_dataset
ds = load_dataset("ModalityDance/Omni-Bench", split="train")
print(ds[0].keys()) # dict_keys(['image', 'question', 'answer'])
# image is a list of base64 strings
print(type(ds[0]["image"])) # <class 'list'>
print(len(ds[0]["image"])) # number of images in this sample
image (Base64) to a PIL imageimport base64
from io import BytesIO
from PIL import Image
from datasets import load_dataset
ds = load_dataset("ModalityDance/Omni-Bench", split="train")
ex = ds[0]
b64_list = ex["image"] # list of base64 strings
question = ex["question"]
answer = ex["answer"]
images = []
for b64 in b64_list:
# If the string includes a data-URI prefix, strip it:
if isinstance(b64, str) and b64.startswith("data:"):
b64 = b64.split(",", 1)[-1]
img_bytes = base64.b64decode(b64)
img = Image.open(BytesIO(img_bytes)).convert("RGB")
images.append(img)
print("Q:", question)
print("GT:", answer)
print("Number of images:", len(images))
images[0].show()
@misc{cheng2026omnir1unifiedgenerativeparadigm,
title={Omni-R1: Towards the Unified Generative Paradigm for Multimodal Reasoning},
author={Dongjie Cheng and Yongqi Li and Zhixin Ma and Hongru Cai and Yupeng Hu and Wenjie Wang and Liqiang Nie and Wenjie Li},
year={2026},
eprint={2601.09536},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2601.09536},
}