evalstone/evalscope/docs/en/benchmarks/bhasha_bench_multi_ayur.md
sora 13274243a0 Bump vendored EvalScope and add K3-ready DPV4 configs.
Keep K3 suite selection and report-schema scoring in bash, merge K3/vision dataset_args into dpv4 yamls, and pin EvalScope at 735d920ee911 with local patches.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 07:30:48 +00:00

5.3 KiB

BhashaBench-Multi (Ayurveda)

Overview

BhashaBench-Multi (Ayurveda) is a domain-specific multiple-choice benchmark evaluating LLM knowledge of Ayurvedic medicine across 22 Indic languages. Each question originates in English and is machine translated (with LLM-judged translation quality scores) into the target language; this adapter uses the translated question/choices.

Task Description

  • Task Type: Domain-Specific Multiple-Choice Question Answering
  • Input: A Ayurvedic medicine question with 4 answer choices, in one of 22 Indic languages
  • Output: Correct answer letter
  • Languages: Assamese, Bengali, Bodo, Dogri, Gujarati, Hindi, Kannada, Kashmiri, Konkani, Maithili, Malayalam, Manipuri, Marathi, Nepali, Oriya, Punjabi, Sanskrit, Santhali, Sindhi, Tamil, Telugu, Urdu

Key Features

  • ~14,963 questions per language across 22 Indic languages per domain (~330k total per domain)
  • Machine-translated from English with LLM-judged translation quality scores
  • 22 scheduled languages of India, all in native script; no English split
  • Four domains available as separate benchmarks: Ayurveda, Finance, Krishi, Legal

Evaluation Notes

  • Default configuration uses 0-shot evaluation (test split, the only split available)
  • Use subset_list to evaluate specific languages (e.g., ['Hindi', 'Tamil']), or limit to cap sample count — each domain is ~14,963 questions per language across 22 languages (~330k total), so evaluating every language's full split is a large run
  • No English split exists for this dataset

Properties

Property Value
Benchmark Name bhasha_bench_multi_ayur
Dataset ID bharatgenai/BhashaBench-Multi
Paper N/A
Tags Knowledge, MCQ, MultiLingual
Metrics accuracy
Default Shots 0-shot
Evaluation Split test

Data Statistics

Metric Value
Total Samples 329,186
Prompt Length (Mean) 317.8 chars
Prompt Length (Min/Max) 220 / 8370 chars

Per-Subset Statistics:

Subset Samples Prompt Mean Prompt Min Prompt Max
Assamese 14,963 325.76 229 4447
Bengali 14,963 313.28 231 1933
Bodo 14,963 315.55 222 1795
Dogri 14,963 308.39 225 1974
Gujarati 14,963 313.22 227 1526
Hindi 14,963 313.66 230 2018
Kannada 14,963 316.92 230 8305
Kashmiri 14,963 339.03 243 2102
Konkani 14,963 307.78 227 1819
Maithili 14,963 305.52 225 2142
Malayalam 14,963 330.73 236 1862
Manipuri 14,963 332.17 234 2247
Marathi 14,963 312.05 229 8370
Nepali 14,963 312.62 229 1825
Oriya 14,963 312.36 226 4092
Punjabi 14,963 309.98 220 926
Sanskrit 14,963 312.86 225 1232
Santhali 14,963 334.48 234 2283
Sindhi 14,963 309.44 226 852
Tamil 14,963 331.24 236 1031
Telugu 14,963 319.9 232 911
Urdu 14,963 314.71 227 921

Sample Example

Subset: Assamese

{
  "input": [
    {
      "id": "4ac474ca",
      "content": "Answer the following multiple choice question. The entire content of your response should be of the following format: 'ANSWER: [LETTER]' (without quotes) where [LETTER] is one of A,B,C,D.\n\nইমিউনজনিত বিকাৰসমূহৰ ভিতৰত আছে .....\n\nA) অতিরিক্ত সংবেদনশীলতা\nB) স্বয়ং-প্রতিরোধ ক্ষমতা জনিত ৰোগ\nC) রোগ প্রতিরোধ ক্ষমতাৰ অভাৱ\nD) এই সকলোবোৰ।"
    }
  ],
  "choices": [
    "অতিরিক্ত সংবেদনশীলতা",
    "স্বয়ং-প্রতিরোধ ক্ষমতা জনিত ৰোগ",
    "রোগ প্রতিরোধ ক্ষমতাৰ অভাৱ",
    "এই সকলোবোৰ।"
  ],
  "target": "D",
  "id": 0,
  "group_id": 0,
  "metadata": {
    "language": "Assamese",
    "topic": "Kayachikitsa"
  }
}

Prompt Template

Prompt Template:

Answer the following multiple choice question. The entire content of your response should be of the following format: 'ANSWER: [LETTER]' (without quotes) where [LETTER] is one of {letters}.

{question}

{choices}

Usage

Using CLI

evalscope eval \
    --model YOUR_MODEL \
    --api-url OPENAI_API_COMPAT_URL \
    --api-key EMPTY_TOKEN \
    --datasets bhasha_bench_multi_ayur \
    --limit 10  # Remove this line for formal evaluation

Using Python

from evalscope import run_task
from evalscope.config import TaskConfig

task_cfg = TaskConfig(
    model='YOUR_MODEL',
    api_url='OPENAI_API_COMPAT_URL',
    api_key='EMPTY_TOKEN',
    datasets=['bhasha_bench_multi_ayur'],
    dataset_args={
        'bhasha_bench_multi_ayur': {
            # subset_list: ['Assamese', 'Bengali', 'Bodo']  # optional, evaluate specific subsets
        }
    },
    limit=10,  # Remove this line for formal evaluation
)

run_task(task_cfg=task_cfg)