evalscope 0.5.2__py3-none-any.whl → 0.5.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of evalscope might be problematic. Click here for more details.

Files changed (32) hide show
  1. evalscope/backend/opencompass/backend_manager.py +2 -0
  2. evalscope/backend/opencompass/tasks/eval_datasets.py +1 -0
  3. evalscope/backend/vlm_eval_kit/backend_manager.py +12 -7
  4. evalscope/backend/vlm_eval_kit/custom_dataset.py +47 -0
  5. evalscope/benchmarks/benchmark.py +1 -1
  6. evalscope/config.py +1 -0
  7. evalscope/evaluator/evaluator.py +3 -3
  8. evalscope/models/api/__init__.py +3 -0
  9. evalscope/models/api/openai_api.py +228 -0
  10. evalscope/models/model_adapter.py +6 -0
  11. evalscope/perf/http_client.py +5 -5
  12. evalscope/run_arena.py +5 -3
  13. evalscope/summarizer.py +10 -4
  14. evalscope/third_party/longbench_write/__init__.py +3 -0
  15. evalscope/third_party/longbench_write/eval.py +284 -0
  16. evalscope/third_party/longbench_write/infer.py +217 -0
  17. evalscope/third_party/longbench_write/longbench_write.py +88 -0
  18. evalscope/third_party/longbench_write/resources/__init__.py +1 -0
  19. evalscope/third_party/longbench_write/resources/judge.txt +31 -0
  20. evalscope/third_party/longbench_write/resources/longbench_write.jsonl +120 -0
  21. evalscope/third_party/longbench_write/resources/longbench_write_en.jsonl +60 -0
  22. evalscope/third_party/longbench_write/resources/longwrite_ruler.jsonl +48 -0
  23. evalscope/third_party/longbench_write/tools/__init__.py +1 -0
  24. evalscope/third_party/longbench_write/tools/data_etl.py +155 -0
  25. evalscope/third_party/longbench_write/utils.py +37 -0
  26. evalscope/version.py +2 -2
  27. evalscope-0.5.4.dist-info/METADATA +399 -0
  28. {evalscope-0.5.2.dist-info → evalscope-0.5.4.dist-info}/RECORD +31 -16
  29. evalscope-0.5.2.dist-info/METADATA +0 -578
  30. {evalscope-0.5.2.dist-info → evalscope-0.5.4.dist-info}/WHEEL +0 -0
  31. {evalscope-0.5.2.dist-info → evalscope-0.5.4.dist-info}/entry_points.txt +0 -0
  32. {evalscope-0.5.2.dist-info → evalscope-0.5.4.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,399 @@
1
+ Metadata-Version: 2.1
2
+ Name: evalscope
3
+ Version: 0.5.4
4
+ Summary: EvalScope: Lightweight LLMs Evaluation Framework
5
+ Home-page: https://github.com/modelscope/evalscope
6
+ Author: ModelScope team
7
+ Author-email: contact@modelscope.cn
8
+ Keywords: python,llm,evaluation
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: License :: OSI Approved :: Apache Software License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.8
14
+ Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Requires-Python: >=3.8
17
+ Description-Content-Type: text/markdown
18
+ Requires-Dist: torch
19
+ Requires-Dist: absl-py
20
+ Requires-Dist: accelerate
21
+ Requires-Dist: cachetools
22
+ Requires-Dist: datasets (<3.0.0,>=2.18.0)
23
+ Requires-Dist: editdistance
24
+ Requires-Dist: jsonlines
25
+ Requires-Dist: matplotlib
26
+ Requires-Dist: modelscope[framework]
27
+ Requires-Dist: nltk
28
+ Requires-Dist: openai
29
+ Requires-Dist: pandas
30
+ Requires-Dist: plotly
31
+ Requires-Dist: pyarrow
32
+ Requires-Dist: pympler
33
+ Requires-Dist: pyyaml
34
+ Requires-Dist: regex
35
+ Requires-Dist: requests
36
+ Requires-Dist: requests-toolbelt
37
+ Requires-Dist: rouge-score
38
+ Requires-Dist: sacrebleu
39
+ Requires-Dist: scikit-learn
40
+ Requires-Dist: seaborn
41
+ Requires-Dist: sentencepiece
42
+ Requires-Dist: simple-ddl-parser
43
+ Requires-Dist: tabulate
44
+ Requires-Dist: tiktoken
45
+ Requires-Dist: tqdm
46
+ Requires-Dist: transformers (>=4.33)
47
+ Requires-Dist: transformers-stream-generator
48
+ Requires-Dist: jieba
49
+ Requires-Dist: rouge-chinese
50
+ Provides-Extra: all
51
+ Requires-Dist: torch ; extra == 'all'
52
+ Requires-Dist: absl-py ; extra == 'all'
53
+ Requires-Dist: accelerate ; extra == 'all'
54
+ Requires-Dist: cachetools ; extra == 'all'
55
+ Requires-Dist: datasets (<3.0.0,>=2.18.0) ; extra == 'all'
56
+ Requires-Dist: editdistance ; extra == 'all'
57
+ Requires-Dist: jsonlines ; extra == 'all'
58
+ Requires-Dist: matplotlib ; extra == 'all'
59
+ Requires-Dist: modelscope[framework] ; extra == 'all'
60
+ Requires-Dist: nltk ; extra == 'all'
61
+ Requires-Dist: openai ; extra == 'all'
62
+ Requires-Dist: pandas ; extra == 'all'
63
+ Requires-Dist: plotly ; extra == 'all'
64
+ Requires-Dist: pyarrow ; extra == 'all'
65
+ Requires-Dist: pympler ; extra == 'all'
66
+ Requires-Dist: pyyaml ; extra == 'all'
67
+ Requires-Dist: regex ; extra == 'all'
68
+ Requires-Dist: requests ; extra == 'all'
69
+ Requires-Dist: requests-toolbelt ; extra == 'all'
70
+ Requires-Dist: rouge-score ; extra == 'all'
71
+ Requires-Dist: sacrebleu ; extra == 'all'
72
+ Requires-Dist: scikit-learn ; extra == 'all'
73
+ Requires-Dist: seaborn ; extra == 'all'
74
+ Requires-Dist: sentencepiece ; extra == 'all'
75
+ Requires-Dist: simple-ddl-parser ; extra == 'all'
76
+ Requires-Dist: tabulate ; extra == 'all'
77
+ Requires-Dist: tiktoken ; extra == 'all'
78
+ Requires-Dist: tqdm ; extra == 'all'
79
+ Requires-Dist: transformers (>=4.33) ; extra == 'all'
80
+ Requires-Dist: transformers-stream-generator ; extra == 'all'
81
+ Requires-Dist: jieba ; extra == 'all'
82
+ Requires-Dist: rouge-chinese ; extra == 'all'
83
+ Requires-Dist: ms-opencompass (>=0.1.0) ; extra == 'all'
84
+ Requires-Dist: ms-vlmeval (>=0.0.5) ; extra == 'all'
85
+ Provides-Extra: inner
86
+ Requires-Dist: absl-py ; extra == 'inner'
87
+ Requires-Dist: accelerate ; extra == 'inner'
88
+ Requires-Dist: alibaba-itag-sdk ; extra == 'inner'
89
+ Requires-Dist: dashscope ; extra == 'inner'
90
+ Requires-Dist: editdistance ; extra == 'inner'
91
+ Requires-Dist: jsonlines ; extra == 'inner'
92
+ Requires-Dist: nltk ; extra == 'inner'
93
+ Requires-Dist: openai ; extra == 'inner'
94
+ Requires-Dist: pandas (==1.5.3) ; extra == 'inner'
95
+ Requires-Dist: plotly ; extra == 'inner'
96
+ Requires-Dist: pyarrow ; extra == 'inner'
97
+ Requires-Dist: pyodps ; extra == 'inner'
98
+ Requires-Dist: pyyaml ; extra == 'inner'
99
+ Requires-Dist: regex ; extra == 'inner'
100
+ Requires-Dist: requests (==2.28.1) ; extra == 'inner'
101
+ Requires-Dist: requests-toolbelt (==0.10.1) ; extra == 'inner'
102
+ Requires-Dist: rouge-score ; extra == 'inner'
103
+ Requires-Dist: sacrebleu ; extra == 'inner'
104
+ Requires-Dist: scikit-learn ; extra == 'inner'
105
+ Requires-Dist: seaborn ; extra == 'inner'
106
+ Requires-Dist: simple-ddl-parser ; extra == 'inner'
107
+ Requires-Dist: streamlit ; extra == 'inner'
108
+ Requires-Dist: tqdm ; extra == 'inner'
109
+ Requires-Dist: transformers (<4.43,>=4.33) ; extra == 'inner'
110
+ Requires-Dist: transformers-stream-generator ; extra == 'inner'
111
+ Provides-Extra: opencompass
112
+ Requires-Dist: ms-opencompass (>=0.1.0) ; extra == 'opencompass'
113
+ Provides-Extra: vlmeval
114
+ Requires-Dist: ms-vlmeval (>=0.0.5) ; extra == 'vlmeval'
115
+
116
+ English | [简体中文](README_zh.md)
117
+
118
+
119
+ ![](docs/en/_static/images/evalscope_logo.png)
120
+
121
+ <p align="center">
122
+ <a href="https://badge.fury.io/py/evalscope"><img src="https://badge.fury.io/py/evalscope.svg" alt="PyPI version" height="18"></a>
123
+ <a href="https://pypi.org/project/evalscope"><img alt="PyPI - Downloads" src="https://static.pepy.tech/badge/evalscope">
124
+ </a>
125
+ <a href='https://evalscope.readthedocs.io/en/latest/?badge=latest'>
126
+ <img src='https://readthedocs.org/projects/evalscope-en/badge/?version=latest' alt='Documentation Status' />
127
+ </a>
128
+ <br>
129
+ <a href="https://evalscope.readthedocs.io/en/latest/"><span style="font-size: 16px;">📖 Documents</span></a> &nbsp | &nbsp<a href="https://evalscope.readthedocs.io/zh-cn/latest/"><span style="font-size: 16px;"> 📖 中文文档</span></a>
130
+ <p>
131
+
132
+
133
+ ## 📋 Table of Contents
134
+ - [Introduction](#introduction)
135
+ - [News](#News)
136
+ - [Installation](#installation)
137
+ - [Quick Start](#quick-start)
138
+ - [Evaluation Backend](#evaluation-backend)
139
+ - [Custom Dataset Evaluation](#custom-dataset-evaluation)
140
+ - [Offline Evaluation](#offline-evaluation)
141
+ - [Arena Mode](#arena-mode)
142
+ - [Model Serving Performance Evaluation](#Model-Serving-Performance-Evaluation)
143
+ - [Leaderboard](#leaderboard)
144
+
145
+ ## 📝 Introduction
146
+
147
+ Large Model (including Large Language Models, Multi-modal Large Language Models) evaluation has become a critical process for assessing and improving LLMs. To better support the evaluation of large models, we propose the EvalScope framework.
148
+
149
+ ### Framework Features
150
+ - **Benchmark Datasets**: Preloaded with several commonly used test benchmarks, including MMLU, CMMLU, C-Eval, GSM8K, ARC, HellaSwag, TruthfulQA, MATH, HumanEval, etc.
151
+ - **Evaluation Metrics**: Implements various commonly used evaluation metrics.
152
+ - **Model Access**: A unified model access mechanism that is compatible with the Generate and Chat interfaces of multiple model families.
153
+ - **Automated Evaluation**: Includes automatic evaluation of objective questions and complex task evaluation using expert models.
154
+ - **Evaluation Reports**: Automatically generates evaluation reports.
155
+ - **Arena Mode**: Used for comparisons between models and objective evaluation of models, supporting various evaluation modes, including:
156
+ - **Single mode**: Scoring a single model.
157
+ - **Pairwise-baseline mode**: Comparing against a baseline model.
158
+ - **Pairwise (all) mode**: Pairwise comparison among all models.
159
+ - **Visualization Tools**: Provides intuitive displays of evaluation results.
160
+ - **Model Performance Evaluation**: Offers a performance testing tool for model inference services and detailed statistics, see [Model Performance Evaluation Documentation](https://evalscope.readthedocs.io/en/latest/user_guides/stress_test.html).
161
+ - **OpenCompass Integration**: Supports OpenCompass as the evaluation backend, providing advanced encapsulation and task simplification, allowing for easier task submission for evaluation.
162
+ - **VLMEvalKit Integration**: Supports VLMEvalKit as the evaluation backend, facilitating the initiation of multi-modal evaluation tasks, supporting various multi-modal models and datasets.
163
+ - **Full-Link Support**: Through seamless integration with the [ms-swift](https://github.com/modelscope/ms-swift) training framework, provides a one-stop development process for model training, model deployment, model evaluation, and report viewing, enhancing user development efficiency.
164
+
165
+
166
+ <details><summary>Overall Architecture</summary>
167
+
168
+ <p align="center">
169
+ <img src="docs/en/_static/images/evalscope_framework.png" width="70%">
170
+ <br>Fig 1. EvalScope Framework.
171
+ </p>
172
+
173
+ The architecture includes the following modules:
174
+ 1. **Model Adapter**: The model adapter is used to convert the outputs of specific models into the format required by the framework, supporting both API call models and locally run models.
175
+ 2. **Data Adapter**: The data adapter is responsible for converting and processing input data to meet various evaluation needs and formats.
176
+ 3. **Evaluation Backend**:
177
+ - **Native**: EvalScope’s own **default evaluation framework**, supporting various evaluation modes, including single model evaluation, arena mode, baseline model comparison mode, etc.
178
+ - **OpenCompass**: Supports [OpenCompass](https://github.com/open-compass/opencompass) as the evaluation backend, providing advanced encapsulation and task simplification, allowing you to submit tasks for evaluation more easily.
179
+ - **VLMEvalKit**: Supports [VLMEvalKit](https://github.com/open-compass/VLMEvalKit) as the evaluation backend, enabling easy initiation of multi-modal evaluation tasks, supporting various multi-modal models and datasets.
180
+ - **ThirdParty**: Other third-party evaluation tasks, such as ToolBench.
181
+ 4. **Performance Evaluator**: Model performance evaluation, responsible for measuring model inference service performance, including performance testing, stress testing, performance report generation, and visualization.
182
+ 5. **Evaluation Report**: The final generated evaluation report summarizes the model's performance, which can be used for decision-making and further model optimization.
183
+ 6. **Visualization**: Visualization results help users intuitively understand evaluation results, facilitating analysis and comparison of different model performances.
184
+ </details>
185
+
186
+
187
+ ## 🎉 News
188
+ - 🔥 **[2024.09.18]** Our documentation has been updated to include a blog module, featuring some technical research and discussions related to evaluations. We invite you to [📖 read it](https://evalscope.readthedocs.io/en/refact_readme/blog/index.html).
189
+ - 🔥 **[2024.09.12]** Support for LongWriter evaluation, which supports 10,000+ word generation. You can use the benchmark [LongBench-Write](evalscope/third_party/longbench_write/README.md) to measure the long output quality as well as the output length.
190
+ - 🔥 **[2024.08.30]** Support for custom dataset evaluations, including text datasets and multimodal image-text datasets.
191
+ - 🔥 **[2024.08.20]** Updated the official documentation, including getting started guides, best practices, and FAQs. Feel free to [📖read it here](https://evalscope.readthedocs.io/en/latest/)!
192
+ - 🔥 **[2024.08.09]** Simplified the installation process, allowing for pypi installation of vlmeval dependencies; optimized the multimodal model evaluation experience, achieving up to 10x acceleration based on the OpenAI API evaluation chain.
193
+ - 🔥 **[2024.07.31]** Important change: The package name `llmuses` has been changed to `evalscope`. Please update your code accordingly.
194
+ - 🔥 **[2024.07.26]** Support for **VLMEvalKit** as a third-party evaluation framework to initiate multimodal model evaluation tasks.
195
+ - 🔥 **[2024.06.29]** Support for **OpenCompass** as a third-party evaluation framework, which we have encapsulated at a higher level, supporting pip installation and simplifying evaluation task configuration.
196
+ - 🔥 **[2024.06.13]** EvalScope seamlessly integrates with the fine-tuning framework SWIFT, providing full-chain support from LLM training to evaluation.
197
+ - 🔥 **[2024.06.13]** Integrated the Agent evaluation dataset ToolBench.
198
+
199
+
200
+
201
+ ## 🛠️ Installation
202
+ ### Method 1: Install Using pip
203
+ We recommend using conda to manage your environment and installing dependencies with pip:
204
+
205
+ 1. Create a conda environment (optional)
206
+ ```shell
207
+ # It is recommended to use Python 3.10
208
+ conda create -n evalscope python=3.10
209
+ # Activate the conda environment
210
+ conda activate evalscope
211
+ ```
212
+
213
+ 2. Install dependencies using pip
214
+ ```shell
215
+ pip install evalscope # Install Native backend (default)
216
+ # Additional options
217
+ pip install evalscope[opencompass] # Install OpenCompass backend
218
+ pip install evalscope[vlmeval] # Install VLMEvalKit backend
219
+ pip install evalscope[all] # Install all backends (Native, OpenCompass, VLMEvalKit)
220
+ ```
221
+
222
+ > [!WARNING]
223
+ > As the project has been renamed to `evalscope`, for versions `v0.4.3` or earlier, you can install using the following command:
224
+ > ```shell
225
+ > pip install llmuses<=0.4.3
226
+ > ```
227
+ > To import relevant dependencies using `llmuses`:
228
+ > ``` python
229
+ > from llmuses import ...
230
+ > ```
231
+
232
+ ### Method 2: Install from Source
233
+ 1. Download the source code
234
+ ```shell
235
+ git clone https://github.com/modelscope/evalscope.git
236
+ ```
237
+
238
+ 2. Install dependencies
239
+ ```shell
240
+ cd evalscope/
241
+ pip install -e . # Install Native backend
242
+ # Additional options
243
+ pip install -e '.[opencompass]' # Install OpenCompass backend
244
+ pip install -e '.[vlmeval]' # Install VLMEvalKit backend
245
+ pip install -e '.[all]' # Install all backends (Native, OpenCompass, VLMEvalKit)
246
+ ```
247
+
248
+
249
+ ## 🚀 Quick Start
250
+
251
+ ### 1. Simple Evaluation
252
+ To evaluate a model using default settings on specified datasets, follow the process below:
253
+
254
+ #### Install using pip
255
+ You can execute this command from any directory:
256
+ ```bash
257
+ python -m evalscope.run \
258
+ --model qwen/Qwen2-0.5B-Instruct \
259
+ --template-type qwen \
260
+ --datasets arc
261
+ ```
262
+
263
+ #### Install from source
264
+ Execute this command in the `evalscope` directory:
265
+ ```bash
266
+ python evalscope/run.py \
267
+ --model qwen/Qwen2-0.5B-Instruct \
268
+ --template-type qwen \
269
+ --datasets arc
270
+ ```
271
+
272
+ If prompted with `Do you wish to run the custom code? [y/N]`, please type `y`.
273
+
274
+
275
+ #### Basic Parameter Descriptions
276
+ - `--model`: Specifies the `model_id` of the model on [ModelScope](https://modelscope.cn/), allowing automatic download. For example, see the [Qwen2-0.5B-Instruct model link](https://modelscope.cn/models/qwen/Qwen2-0.5B-Instruct/summary); you can also use a local path, such as `/path/to/model`.
277
+ - `--template-type`: Specifies the template type corresponding to the model. Refer to the `Default Template` field in the [template table](https://swift.readthedocs.io/en/latest/Instruction/Supported-models-datasets.html#llm) for filling in this field.
278
+ - `--datasets`: The dataset name, allowing multiple datasets to be specified, separated by spaces; these datasets will be automatically downloaded. Refer to the [supported datasets list](https://evalscope.readthedocs.io/en/latest/get_started/supported_dataset.html) for available options.
279
+
280
+ ### 2. Parameterized Evaluation
281
+ If you wish to conduct a more customized evaluation, such as modifying model parameters or dataset parameters, you can use the following commands:
282
+
283
+ **Example 1:**
284
+ ```shell
285
+ python evalscope/run.py \
286
+ --model qwen/Qwen2-0.5B-Instruct \
287
+ --template-type qwen \
288
+ --model-args revision=master,precision=torch.float16,device_map=auto \
289
+ --datasets gsm8k ceval \
290
+ --use-cache true \
291
+ --limit 10
292
+ ```
293
+
294
+ **Example 2:**
295
+ ```shell
296
+ python evalscope/run.py \
297
+ --model qwen/Qwen2-0.5B-Instruct \
298
+ --template-type qwen \
299
+ --generation-config do_sample=false,temperature=0.0 \
300
+ --datasets ceval \
301
+ --dataset-args '{"ceval": {"few_shot_num": 0, "few_shot_random": false}}' \
302
+ --limit 10
303
+ ```
304
+
305
+ #### Parameter Descriptions
306
+ In addition to the three [basic parameters](#basic-parameter-descriptions), the other parameters are as follows:
307
+ - `--model-args`: Model loading parameters, separated by commas, in `key=value` format.
308
+ - `--generation-config`: Generation parameters, separated by commas, in `key=value` format.
309
+ - `do_sample`: Whether to use sampling, default is `false`.
310
+ - `max_new_tokens`: Maximum generation length, default is 1024.
311
+ - `temperature`: Sampling temperature.
312
+ - `top_p`: Sampling threshold.
313
+ - `top_k`: Sampling threshold.
314
+ - `--use-cache`: Whether to use local cache, default is `false`. If set to `true`, previously evaluated model and dataset combinations will not be evaluated again, and will be read directly from the local cache.
315
+ - `--dataset-args`: Evaluation dataset configuration parameters, provided in JSON format, where the key is the dataset name and the value is the parameter; note that these must correspond one-to-one with the values in `--datasets`.
316
+ - `--few_shot_num`: Number of few-shot examples.
317
+ - `--few_shot_random`: Whether to randomly sample few-shot data; if not specified, defaults to `true`.
318
+ - `--limit`: Maximum number of evaluation samples per dataset; if not specified, all will be evaluated, which is useful for quick validation.
319
+
320
+ ### 3. Use the run_task Function to Submit an Evaluation Task
321
+ Using the `run_task` function to submit an evaluation task requires the same parameters as the command line. You need to pass a dictionary as the parameter, which includes the following fields:
322
+
323
+ #### 1. Configuration Task Dictionary Parameters
324
+ ```python
325
+ import torch
326
+ from evalscope.constants import DEFAULT_ROOT_CACHE_DIR
327
+
328
+ # Example
329
+ your_task_cfg = {
330
+ 'model_args': {'revision': None, 'precision': torch.float16, 'device_map': 'auto'},
331
+ 'generation_config': {'do_sample': False, 'repetition_penalty': 1.0, 'max_new_tokens': 512},
332
+ 'dataset_args': {},
333
+ 'dry_run': False,
334
+ 'model': 'qwen/Qwen2-0.5B-Instruct',
335
+ 'template_type': 'qwen',
336
+ 'datasets': ['arc', 'hellaswag'],
337
+ 'work_dir': DEFAULT_ROOT_CACHE_DIR,
338
+ 'outputs': DEFAULT_ROOT_CACHE_DIR,
339
+ 'mem_cache': False,
340
+ 'dataset_hub': 'ModelScope',
341
+ 'dataset_dir': DEFAULT_ROOT_CACHE_DIR,
342
+ 'limit': 10,
343
+ 'debug': False
344
+ }
345
+ ```
346
+ Here, `DEFAULT_ROOT_CACHE_DIR` is set to `'~/.cache/evalscope'`.
347
+
348
+ #### 2. Execute Task with run_task
349
+ ```python
350
+ from evalscope.run import run_task
351
+ run_task(task_cfg=your_task_cfg)
352
+ ```
353
+
354
+
355
+ ## Evaluation Backend
356
+ EvalScope supports using third-party evaluation frameworks to initiate evaluation tasks, which we call Evaluation Backend. Currently supported Evaluation Backend includes:
357
+ - **Native**: EvalScope's own **default evaluation framework**, supporting various evaluation modes including single model evaluation, arena mode, and baseline model comparison mode.
358
+ - [OpenCompass](https://github.com/open-compass/opencompass): Initiate OpenCompass evaluation tasks through EvalScope. Lightweight, easy to customize, supports seamless integration with the LLM fine-tuning framework ms-swift. [📖 User Guide](https://evalscope.readthedocs.io/en/latest/user_guides/opencompass_backend.html)
359
+ - [VLMEvalKit](https://github.com/open-compass/VLMEvalKit): Initiate VLMEvalKit multimodal evaluation tasks through EvalScope. Supports various multimodal models and datasets, and offers seamless integration with the LLM fine-tuning framework ms-swift. [📖 User Guide](https://evalscope.readthedocs.io/en/latest/user_guides/vlmevalkit_backend.html)
360
+ - **ThirdParty**: The third-party task, e.g. [ToolBench](https://evalscope.readthedocs.io/en/latest/third_party/toolbench.html), you can contribute your own evaluation task to EvalScope as third-party backend.
361
+
362
+ ## Custom Dataset Evaluation
363
+ EvalScope supports custom dataset evaluation. For detailed information, please refer to the Custom Dataset Evaluation [📖User Guide](https://evalscope.readthedocs.io/en/latest/advanced_guides/custom_dataset.html)
364
+
365
+ ## Offline Evaluation
366
+ You can use local dataset to evaluate the model without internet connection.
367
+
368
+ Refer to: Offline Evaluation [📖 User Guide](https://evalscope.readthedocs.io/en/latest/user_guides/offline_evaluation.html)
369
+
370
+
371
+ ## Arena Mode
372
+ The Arena mode allows multiple candidate models to be evaluated through pairwise battles, and can choose to use the AI Enhanced Auto-Reviewer (AAR) automatic evaluation process or manual evaluation to obtain the evaluation report.
373
+
374
+ Refer to: Arena Mode [📖 User Guide](https://evalscope.readthedocs.io/en/latest/user_guides/arena.html)
375
+
376
+ ## Model Serving Performance Evaluation
377
+ A stress testing tool that focuses on large language models and can be customized to support various data set formats and different API protocol formats.
378
+
379
+ Refer to : Model Serving Performance Evaluation [📖 User Guide](https://evalscope.readthedocs.io/en/latest/user_guides/stress_test.html)
380
+
381
+
382
+ ## Leaderboard
383
+ The LLM Leaderboard aims to provide an objective and comprehensive evaluation standard and platform to help researchers and developers understand and compare the performance of models on various tasks on ModelScope.
384
+
385
+ Refer to : [Leaderboard](https://modelscope.cn/leaderboard/58/ranking?type=free)
386
+
387
+
388
+ ## TO-DO List
389
+ - [x] Agents evaluation
390
+ - [x] vLLM
391
+ - [ ] Distributed evaluating
392
+ - [x] Multi-modal evaluation
393
+ - [ ] Benchmarks
394
+ - [ ] GAIA
395
+ - [ ] GPQA
396
+ - [x] MBPP
397
+ - [ ] Auto-reviewer
398
+ - [ ] Qwen-max
399
+
@@ -1,24 +1,25 @@
1
1
  evalscope/__init__.py,sha256=3eLMMrjkAIAs3vGluXNZn5-xTSbO_vfba9yNPbkVtg8,105
2
2
  evalscope/cache.py,sha256=zpGjL9JMosqjk_dkODVwvIGiUC0WAMmMTHDNJOvBQU8,3288
3
- evalscope/config.py,sha256=LfVLET3k7UvZ5nISZJ0uigZetZlvKvaYPfj04dGDblQ,6916
3
+ evalscope/config.py,sha256=G_rpSn5Kd1aPlFJO6asnZu5FUggZmwcYdAxxpuq0yDs,6972
4
4
  evalscope/constants.py,sha256=g8lGYlpA4Wk88HwtqId1-jJX_z8Lr2k02gWLsyofyj0,2670
5
5
  evalscope/run.py,sha256=T-2zoJpBx6YxLnLJH-iFF3UxUGYTU36PMV_DQ9e8tSM,18484
6
- evalscope/run_arena.py,sha256=_LL8fqeKUEMUg985TENYzcnH5_Q8sqPxM68eZk-jhLA,8793
6
+ evalscope/run_arena.py,sha256=BCWCAiX0BQ9pLMIq08svEcd-IoFr75gFShpV88robIY,8963
7
7
  evalscope/run_ms.py,sha256=UtJoGnah64SXigTawJQWTi_TEGjr7Td0rjCTaO-htL8,6028
8
- evalscope/summarizer.py,sha256=Ie1kwPETpz3x2yROLMGqC0UwEj6OKJuKwEcUqxUx5fM,6358
9
- evalscope/version.py,sha256=Bo14bi3CEm4GSQOqlmyUKrRQLg4TS8hCNrE-bnYDI28,118
8
+ evalscope/summarizer.py,sha256=rIyML8HpjQxIpXg8KvQ0CzOS6xMS-JHZh6kUZzkaRsk,6640
9
+ evalscope/version.py,sha256=yeILiwZ11YPUOCKr-BHfiOuKFIWppiHTIqg22wbfo_g,118
10
10
  evalscope/backend/__init__.py,sha256=UP_TW5KBq6V_Nvqkeb7PGvGGX3rVYussT43npwCwDgE,135
11
11
  evalscope/backend/base.py,sha256=5BLrDNNwxsGp35zorD-kphmN15tlBbkuuqwkz8jWZq0,876
12
12
  evalscope/backend/opencompass/__init__.py,sha256=UP_TW5KBq6V_Nvqkeb7PGvGGX3rVYussT43npwCwDgE,135
13
13
  evalscope/backend/opencompass/api_meta_template.py,sha256=sBW0XbVDOKeJ7mVUDLhmcG4e0yClw3eluazdp_8wtgQ,1753
14
- evalscope/backend/opencompass/backend_manager.py,sha256=Rr8eFFDUXTxI8AMcrbFW9LZuSQVZ7tsgHcZ1veNhfWM,10190
14
+ evalscope/backend/opencompass/backend_manager.py,sha256=_eg82FLAVxQ6t5e1OqlyuxZcngqD8rxvI5EijLUh_zI,10294
15
15
  evalscope/backend/opencompass/tasks/__init__.py,sha256=I_ANdxdcIHpkIzIXc1yKOlWwzb4oY0FwTPq1kYtgzQw,50
16
16
  evalscope/backend/opencompass/tasks/eval_api.py,sha256=12lrgDpMzZ1XBRboq5TEOovDPCMDwwGCJoRT78Ox_yo,1108
17
- evalscope/backend/opencompass/tasks/eval_datasets.py,sha256=DWwKcQGGSkkh65H1d-oKN8Jow0Q0cHJJzDC75inycFM,5186
17
+ evalscope/backend/opencompass/tasks/eval_datasets.py,sha256=EizugDMt-ontWsTOaM61XGLUkx-S9rzdLf2Ssfmw3Yc,5263
18
18
  evalscope/backend/vlm_eval_kit/__init__.py,sha256=xTgHM95lWzh4s0W7zxLwYkgUbPAZfAb0UoGGmyyBXrs,83
19
- evalscope/backend/vlm_eval_kit/backend_manager.py,sha256=PQ9n2jdfPj7s5Ma6_5nNuOMM4La9JBdxKbLf4Oa17NI,6055
19
+ evalscope/backend/vlm_eval_kit/backend_manager.py,sha256=k52qTUqkp1kJivKn8bVrKoF8cng4xYTQLUmjnH_CWPM,6080
20
+ evalscope/backend/vlm_eval_kit/custom_dataset.py,sha256=zC40Jw9bIqcGKuWS9oKPAlQdBARc-zY3sJlSiU-u-sI,1625
20
21
  evalscope/benchmarks/__init__.py,sha256=6TKP35wfKf7R_h870fsEtcIlIAgomKOcukNL9M-5I1Y,162
21
- evalscope/benchmarks/benchmark.py,sha256=e7rA8Y_vo6q5BhlUbZGWfZ1-SfJnU2IFRg62pnjQtDk,2157
22
+ evalscope/benchmarks/benchmark.py,sha256=EmwYyFdrAHBGMkSbsMZQOR_62Q0CSKl8zeLlr7xvJdQ,2159
22
23
  evalscope/benchmarks/data_adapter.py,sha256=eVQvOQYQOQbIl8UlvOEUqRThL3FP3aUD6DSlqF1bqO0,10395
23
24
  evalscope/benchmarks/arc/__init__.py,sha256=7k2jFDUCHpEKDdQZ3Bmq59YmImFg9RyIfZQIsGebhE8,314
24
25
  evalscope/benchmarks/arc/ai2_arc.py,sha256=Wim8JsH094og7d0eLCEI0kUwDP_0x7AT117oTRPdiAI,5608
@@ -90,7 +91,7 @@ evalscope/cli/cli.py,sha256=uZ-qC8WBsLd5-Hn94d43sSGg0UC_12RebSD4ToKjypg,844
90
91
  evalscope/cli/start_perf.py,sha256=TL6bMXYl3ln-tfs5uBmzb9x94uxz6f3PBFIt1l7g3VA,994
91
92
  evalscope/cli/start_server.py,sha256=ATGLP2TE0aImJNicpehdzBuFlNb50F7KhyL4A_ZSoGU,3885
92
93
  evalscope/evaluator/__init__.py,sha256=S6MU1O_iiNAaKxNIhO9MEmdW-BSNf_YH2l6NQ9lxVNo,103
93
- evalscope/evaluator/evaluator.py,sha256=sWaJ2zkPFkSNuRAGdfhTqgF8nbtL1y55NQYHeBK8MG0,30715
94
+ evalscope/evaluator/evaluator.py,sha256=gB408byOpu269Psh6MjYC9-a_uv9GvThoT7t07Oqh6w,30712
94
95
  evalscope/evaluator/rating_eval.py,sha256=cJbkyXIuwFUZoe7ZJZM6eUskNd9zlORgndckuon2OQ8,5768
95
96
  evalscope/evaluator/reviewer/__init__.py,sha256=I_ANdxdcIHpkIzIXc1yKOlWwzb4oY0FwTPq1kYtgzQw,50
96
97
  evalscope/evaluator/reviewer/auto_reviewer.py,sha256=JycPYti9h1j_8DRcu_rc5U0wkEASHYg-XBqrUUoiO-Q,17054
@@ -104,9 +105,11 @@ evalscope/metrics/bundled_rouge_score/rouge_scorer.py,sha256=xSLis-zx1hnHuj_9JI7
104
105
  evalscope/models/__init__.py,sha256=zG27J2HSeKPGiAIUE7QLPHEPLyXLsfaDwYI_TDXjpCg,145
105
106
  evalscope/models/dummy_chat_model.py,sha256=xE8wcFVSCkvizEJ-B8ojX0Ir01Q5KrN5mapjMQaQtbg,1325
106
107
  evalscope/models/model.py,sha256=ZzzVzZHVzuzdt5F1r-rEBT44ZfW9B7R1spsrV-T8nSw,3020
107
- evalscope/models/model_adapter.py,sha256=_Q3_0d1dMBnS1HxaAjpz-Q7gnzSRQH1hklB608DNct8,22488
108
+ evalscope/models/model_adapter.py,sha256=Cgs68ajRwTETEo1eU-OhFiFGuSx4eS1p7-JT3jOpcOk,22740
108
109
  evalscope/models/openai_model.py,sha256=PoQS1FIiWIxp1xBJPV7Bq81LFD9FIT3vAHUvNa22DCc,3452
109
110
  evalscope/models/template.py,sha256=Yk7-QnvjiLD0zchSZcaDSLmpW8onIeFpngSwtUOYVPk,56035
111
+ evalscope/models/api/__init__.py,sha256=0c75K78O1KaV02BqqtEp-hhtSSClXLawb8E0c2iqN_A,105
112
+ evalscope/models/api/openai_api.py,sha256=o-FVJFSvfk5mFJm4egXcKfR5ya1fduo5b-uqTkeRu9A,7871
110
113
  evalscope/models/custom/__init__.py,sha256=K4Ewo7Qrs73-jBuPq4ffxd8hMnttKhic-Zj0amH3wiU,103
111
114
  evalscope/models/custom/custom_model.py,sha256=2ivxfGQs5V5HDnQEhTBi5v8KNBxJDbzPVJdNOGo3iSg,1566
112
115
  evalscope/perf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -116,7 +119,7 @@ evalscope/perf/custom_api.py,sha256=H2IgM-LMjqXxVhbrtkXuiREb-p14zwMmllgl26a-jgw,
116
119
  evalscope/perf/dashscope_api.py,sha256=_XUF3czkYdPdVgtP7nqzRxROKxlqDjWs4DQnTyocNvM,3410
117
120
  evalscope/perf/dataset_plugin_base.py,sha256=6veUTyZ38W1Iig65vxNV9SfmqrsR8ID_UHgNiUO9Bv4,1814
118
121
  evalscope/perf/how_to_analysis_result.py,sha256=UVd_aYJ_7N5hl_wK9oIZig1vSwfgzodxW7XC6IWqbdg,1044
119
- evalscope/perf/http_client.py,sha256=y5t_LPqrxtYS315iz43-4Wu8wZgkftRgC3UlseSVKR0,34540
122
+ evalscope/perf/http_client.py,sha256=WYHuGY_BCeeh8vHi1fm9zrAndOKpVQp4h21j1kKnM64,34535
120
123
  evalscope/perf/openai_api.py,sha256=XrH6jg8VlO9Wu0vGwZna_bHq65XMAlCfCEyqMjs8w1c,5970
121
124
  evalscope/perf/plugin_registry.py,sha256=D2MG2AXDBScjuKxB4g_Hg026pSRO752dBimonYtaAzM,782
122
125
  evalscope/perf/query_parameters.py,sha256=HfGRZJSzRMVfPezWTvbWhYeprCetGNPX_M_paoDtuOY,1346
@@ -141,6 +144,18 @@ evalscope/registry/tasks/gsm8k.yaml,sha256=KYLK-xtv_3qtgCZiwwP4-rP_ftc_qUmtsl1Tf
141
144
  evalscope/registry/tasks/mmlu.yaml,sha256=504yhHVfi9pvUBk_SGPs-Yx7R2hx_2_-nAFiGIiFGx4,726
142
145
  evalscope/registry/tasks/mmlu_mini.yaml,sha256=wVbosZ5Tm9pwLG5nCphalezXilIjcq5j33nz3MR7_BE,778
143
146
  evalscope/third_party/__init__.py,sha256=I_ANdxdcIHpkIzIXc1yKOlWwzb4oY0FwTPq1kYtgzQw,50
147
+ evalscope/third_party/longbench_write/__init__.py,sha256=GNbBDc7HAh_V2Hfy5HhND_u7z6OI79czoBlP8lX4PVo,126
148
+ evalscope/third_party/longbench_write/eval.py,sha256=_fwV3f-Yq0qrkuZ6LBXvBiXnM6lpz6sOqd7BfYxEU80,11163
149
+ evalscope/third_party/longbench_write/infer.py,sha256=MB0MdSM1qDx15FyrPSU6BXPbSGnBjxuTWqrcHAgbj9o,8318
150
+ evalscope/third_party/longbench_write/longbench_write.py,sha256=MQzlIzv3sGlNgxgX0FPHtDIuAmgwThfBkMeKNcsR3U8,3926
151
+ evalscope/third_party/longbench_write/utils.py,sha256=l6q9cNZLFVRvG9qYbxFxobuQkcMyteU9Y6NxyMU4tmQ,816
152
+ evalscope/third_party/longbench_write/resources/__init__.py,sha256=I_ANdxdcIHpkIzIXc1yKOlWwzb4oY0FwTPq1kYtgzQw,50
153
+ evalscope/third_party/longbench_write/resources/judge.txt,sha256=LEI86IoOtqYUgvQnmXo8A8S8Ef6GEQKJXcrEWSauHVc,1884
154
+ evalscope/third_party/longbench_write/resources/longbench_write.jsonl,sha256=H26ZSXzCTWWJTWXgFAYvOYupRuvdJUt_izOeSNOrV3k,54155
155
+ evalscope/third_party/longbench_write/resources/longbench_write_en.jsonl,sha256=h4AJJ3YfNA5IiZ5N9dR_tyEa1JNqY0INv6l5ZgQUJZ8,24235
156
+ evalscope/third_party/longbench_write/resources/longwrite_ruler.jsonl,sha256=odTr8N8PoWAFZ2kdEcmlLeMDfEo3KXDtLo9S8oieCmI,5718
157
+ evalscope/third_party/longbench_write/tools/__init__.py,sha256=I_ANdxdcIHpkIzIXc1yKOlWwzb4oY0FwTPq1kYtgzQw,50
158
+ evalscope/third_party/longbench_write/tools/data_etl.py,sha256=fSc4iT7_bdTvW20TbjlWme-k1pLqj_e2wXV8z831_Yw,5963
144
159
  evalscope/third_party/toolbench_static/__init__.py,sha256=BO936RxwodHr4OEpV6W3S_keC91OfOd41_msIJ2d0fs,128
145
160
  evalscope/third_party/toolbench_static/eval.py,sha256=TqjMuuYePnD3bGRhQe1_9bIOlAW41kiFSztaEuppRLM,8237
146
161
  evalscope/third_party/toolbench_static/infer.py,sha256=WogwVXqDabdcsJ4uftZxAwR2wncp6HYpkS-fACEvjT4,9331
@@ -158,8 +173,8 @@ evalscope/utils/logger.py,sha256=Ycd0W17Z_oiByPuPX3_umNrOCHjT9O_e_Kws7ZWUSvU,185
158
173
  evalscope/utils/task_cfg_parser.py,sha256=LiNQ2X8lbZU0cODpaY_PbKyUhNoxZIC495UsLJigX64,138
159
174
  evalscope/utils/task_utils.py,sha256=Mv_u_f4Z91zcUeko6acZCmnOAPRfk61kf_dliLzG5Yk,459
160
175
  evalscope/utils/utils.py,sha256=zHo9hfxGBUVKE2xNMR7lDoEvfRnk4V4946DEfXQhlq4,20509
161
- evalscope-0.5.2.dist-info/METADATA,sha256=F0YWg7gyenErvz-Kq1X5Z2Ngr1TYh3H-KpCX5zBLnog,27866
162
- evalscope-0.5.2.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
163
- evalscope-0.5.2.dist-info/entry_points.txt,sha256=Qr4oTgGhg_K-iUtKwVH6lWUhFHDUiH9trIqydHGTEug,56
164
- evalscope-0.5.2.dist-info/top_level.txt,sha256=jNR-HMn3TR8Atolq7_4rW8IWVX6GhvYV5_1Y_KbJKlY,10
165
- evalscope-0.5.2.dist-info/RECORD,,
176
+ evalscope-0.5.4.dist-info/METADATA,sha256=WRfHi_dmJzaF5WXqB2vPz_HhciWfNZ8Su5j_dxbiKQE,20705
177
+ evalscope-0.5.4.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
178
+ evalscope-0.5.4.dist-info/entry_points.txt,sha256=Qr4oTgGhg_K-iUtKwVH6lWUhFHDUiH9trIqydHGTEug,56
179
+ evalscope-0.5.4.dist-info/top_level.txt,sha256=jNR-HMn3TR8Atolq7_4rW8IWVX6GhvYV5_1Y_KbJKlY,10
180
+ evalscope-0.5.4.dist-info/RECORD,,