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

75 lines
2.4 KiB
Python

# Copyright (c) Alibaba, Inc. and its affiliates.
from dotenv import dotenv_values
env = dotenv_values('.env')
import unittest
from unittest import TestCase
from evalscope.config import TaskConfig
from evalscope.constants import EvalType, JudgeStrategy
from evalscope.run import run_task
from evalscope.utils.logger import get_logger
logger = get_logger()
class TestBenchmark(TestCase):
"""Benchmark evaluation test cases."""
def setUp(self):
"""Setup common test configuration."""
self.base_config = {
'model': 'qwen-plus',
'api_url': 'https://dashscope.aliyuncs.com/compatible-mode/v1',
'api_key': env.get('DASHSCOPE_API_KEY'),
'eval_type': EvalType.OPENAI_API,
'eval_batch_size': 5,
'limit': 5,
'generation_config': {
'max_tokens': 4096,
'temperature': 0.0,
'seed': 42,
'parallel_tool_calls': True
},
'judge': {
'strategy': JudgeStrategy.AUTO,
'models': {
'model_id': 'qwen-plus',
'api_url': 'https://dashscope.aliyuncs.com/compatible-mode/v1',
'api_key': env.get('DASHSCOPE_API_KEY'),
'generation_config': {
'temperature': 0.0,
'max_tokens': 4096,
}
},
},
'debug': True,
}
def _run_dataset_test(self, dataset_name, dataset_args=None, use_mock=False, **config_overrides):
"""Helper method to run test for a specific dataset."""
config = self.base_config.copy()
config['datasets'] = [dataset_name]
if not env.get('DASHSCOPE_API_KEY'):
use_mock = True
logger.warning('DASHSCOPE_API_KEY is not set. Using mock evaluation.')
if use_mock:
config['eval_type'] = EvalType.MOCK_LLM
# 应用配置覆盖
config.update(config_overrides)
if dataset_args:
config['dataset_args'] = {dataset_name: dataset_args}
task_cfg = TaskConfig(**config)
run_task(task_cfg=task_cfg)
def _run_dataset_load_test(self, dataset_name, dataset_args=None, **config_overrides):
"""Helper method to test dataset loading."""
self._run_dataset_test(dataset_name, dataset_args, use_mock=True, limit=None, **config_overrides)