Repository: open-compass/opencompass
Issue: 大海捞针数据集初始化报错（ Failed to get opencompass.datasets.needlebench.origin.NeedleBenchOriginDataset）
Root cause: Environment Incompatibility

### Prerequisite

- [X] I have searched [Issues](https://github.com/open-compass/opencompass/issues/) and [Discussions](https://github.com/open-compass/opencompass/discussions) but cannot get the expected help.
- [X] The bug has not been fixed in the [latest version](https://github.com/open-compass/opencompass).

### Type

I have modified the code (config is not considered code), or I'm working on my own tasks/models/datasets.

### Environment

。。

### Reproduces the problem - code/configuration sample

from mmengine.config import read_base
with read_base():
  
    from .models.qwen.vllm_qwen1_5_32b_chat import models as qwen_32b_chat
  
    from .datasets.needlebench.needlebench_4k.needlebench_single_4k import needlebench_zh_datasets, needlebench_en_datasets
    from .summarizers.needlebench import needlebench_4k_summarizer as summarizer

    
datasets = sum([v for k, v in locals().items() if ('datasets' in k)], [])

for m in qwen_32b_chat:
    m['max_seq_len'] = 32768 # Ensure InternLM2-7B model can receive the full length of long texts, adjust for other models based on their supported maximum sequence length.
    m['max_out_len'] = 2000 # Ensure complete responses from the model in multi-needle retrieval tasks.
    m["path"] = "/model_hub2/Qwen1.5-32B-Chat/"

models = qwen_32b_chat

work_dir = '/nas/nlp_share/datasets/llm_benchmark/opencompass/eval_outputs/qwen/'



### Reproduces the problem - command or script

python run.py configs/eval_needlebench.py  --slurm -p partition_name -q reserved --max-num-workers 128

### Reproduces the problem - error message

Traceback (most recent call last):
  File "/opt/conda/lib/python3.8/site-packages/mmengine/registry/registry.py", line 506, in get
    obj_cls = get_object_from_string(key)
  File "/opt/conda/lib/python3.8/site-packages/mmengine/utils/misc.py", line 520, in get_object_from_string
    module = import_module(module_name)
  File "/opt/conda/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 843, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/nas/nlp_share/datasets/llm_benchmark/opencompass/opencompass/datasets/needlebench/origin.py", line 35, in <module>
    class NeedleBenchOriginDataset(BaseDataset):
  File "/nas/nlp_share/datasets/llm_benchmark/opencompass/opencompass/datasets/needlebench/origin.py", line 43, in NeedleBenchOriginDataset
    file_list: list[str],
TypeError: 'type' object is not subscriptable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "run.py", line 4, in <module>
    main()
  File "/nas/nlp_share/datasets/llm_benchmark/opencompass/opencompass/cli/main.py", line 289, in main
    tasks = partitioner(cfg)
  File "/nas/nlp_share/datasets/llm_benchmark/opencompass/opencompass/partitioners/base.py", line 81, in __call__
    tasks = self.partition(**model_and_dataset_args,
  File "/nas/nlp_share/datasets/llm_benchmark/opencompass/opencompass/partitioners/num_worker.py", line 62, in partition
    dataset_size = self.get_size(dataset)
  File "/nas/nlp_share/datasets/llm_benchmark/opencompass/opencompass/partitioners/num_worker.py", line 134, in get_size
    dataset = build_dataset_from_cfg(dataset)
  File "/nas/nlp_share/datasets/llm_benchmark/opencompass/opencompass/utils/build.py", line 13, in build_dataset_from_cfg
    return LOAD_DATASET.build(dataset_cfg)
  File "/opt/conda/lib/python3.8/site-packages/mmengine/registry/registry.py", line 570, in build
    return self.build_func(cfg, *args, **kwargs, registry=self)
  File "/opt/conda/lib/python3.8/site-packages/mmengine/registry/build_functions.py", line 98, in build_from_cfg
    obj_cls = registry.get(obj_type)
  File "/opt/conda/lib/python3.8/site-packages/mmengine/registry/registry.py", line 508, in get
    raise RuntimeError(f'Failed to get {key}')
RuntimeError: Failed to get opencompass.datasets.needlebench.origin.NeedleBenchOriginDataset

### Other information

_No response_