Repository: open-compass/opencompass
Issue: [Bug] Using ZeroRetriever and PPLInferecer will raise an error for cmmlu and ceval.
Root cause: Interface Contract Mismatch

### Prerequisite

- [X] I have searched [Issues](https://github.com/InternLM/opencompass/issues/) and [Discussions](https://github.com/InternLM/opencompass/discussions) but cannot get the expected help.
- [X] The bug has not been fixed in the [latest version](https://github.com/InternLM/opencompass).

### Type

I'm evaluating with the officially supported tasks/models/datasets.

### Environment

followed official guide

### Reproduces the problem - code/configuration sample

```python
from opencompass.openicl.icl_retriever import ZeroRetriever
```
I just changed the retriever to ZeroRetriever in opencompass/configs/datasets/cmmlu/cmmlu_ppl_8b9c76.py. When I am trying to test baichuan-13b-base model,:
```python
from mmengine.config import read_base
#from opencompass.partitioners import SizePartitioner, NaivePartitioner
#from opencompass.runners import LocalRunner
#from opencompass.tasks import OpenICLInferTask
with read_base():
    # choose a list of datasets
    #from .datasets.anli.anli_ppl import anli_datasets
    #from .datasets.ceval.ceval_ppl import ceval_datasets
    from .datasets.cmmlu.cmmlu_gen import cmmlu_datasets
    # choose a model of interest
    from .models.hf_baichuan_13b_base import models
    #from summarizers.groups.ceval import ceval_summary_groups
    # and output the results in a choosen format
    #from .summarizers.example import summarizer
datasets = [*cmmlu_datasets]
```


### Reproduces the problem - command or script

python run.py configs/eval_baichuan.py -w outputs/ceval --debug --max-partition-size 10000

### Reproduces the problem - error message

08/31 19:46:48 - OpenCompass - DEBUG - An `HuggingFaceCausalLM` instance is built from registry, and its implementation can be found in opencompass.models.huggingface
08/31 19:46:52 - OpenCompass - DEBUG - Modules of opencompass's load_dataset registry have been automatically imported from opencompass.datasets
08/31 19:46:52 - OpenCompass - DEBUG - Get class `CEvalDataset` from "load_dataset" registry in "opencompass"
08/31 19:46:55 - OpenCompass - DEBUG - An `CEvalDataset` instance is built from registry, and its implementation can be found in opencompass.datasets.ceval
08/31 19:46:55 - OpenCompass - INFO - Start inferencing [baichuan-13b-base/ceval-college_economics]
08/31 19:46:55 - OpenCompass - DEBUG - Modules of opencompass's icl_prompt_templates registry have been automatically imported from opencompass.openicl.icl_prompt_template
08/31 19:46:55 - OpenCompass - DEBUG - Get class `PromptTemplate` from "icl_prompt_templates" registry in "opencompass"
08/31 19:46:55 - OpenCompass - DEBUG - An `PromptTemplate` instance is built from registry, and its implementation can be found in opencompass.openicl.icl_prompt_template
08/31 19:46:55 - OpenCompass - DEBUG - Modules of opencompass's icl_retrievers registry have been automatically imported from opencompass.openicl.icl_retriever
08/31 19:46:55 - OpenCompass - DEBUG - Get class `ZeroRetriever` from "icl_retrievers" registry in "opencompass"
08/31 19:46:55 - OpenCompass - DEBUG - An `ZeroRetriever` instance is built from registry, and its implementation can be found in opencompass.openicl.icl_retriever.icl_zero_retriever
08/31 19:46:55 - OpenCompass - DEBUG - Modules of opencompass's icl_inferencers registry have been automatically imported from opencompass.openicl.icl_inferencer
08/31 19:46:55 - OpenCompass - DEBUG - Get class `PPLInferencer` from "icl_inferencers" registry in "opencompass"
08/31 19:46:55 - OpenCompass - DEBUG - An `PPLInferencer` instance is built from registry, and its implementation can be found in opencompass.openicl.icl_inferencer.icl_ppl_inferencer
Traceback (most recent call last):
  File "run.py", line 378, in <module>
    main()
  File "run.py", line 231, in main
    exec_infer_runner(tasks, args, cfg)
  File "run.py", line 348, in exec_infer_runner
    runner(tasks)
  File "/data/share_user/zyzhuang/opencompass/opencompass/runners/base.py", line 38, in __call__
    status = self.launch(tasks)
  File "/data/share_user/zyzhuang/opencompass/opencompass/runners/local.py", line 62, in launch
    task.run()
  File "/data/share_user/zyzhuang/opencompass/opencompass/tasks/openicl_infer.py", line 76, in run
    self._inference()
  File "/data/share_user/zyzhuang/opencompass/opencompass/tasks/openicl_infer.py", line 124, in _inference
    inferencer.inference(retriever,
  File "/data/share_user/zyzhuang/opencompass/opencompass/openicl/icl_inferencer/icl_ppl_inferencer.py", line 79, in inference
    ice_idx_list = retriever.retrieve(self.fix_id_list)
TypeError: retrieve() takes 1 positional argument but 2 were given

### Other information

_No response_

Try to remove the `fix_id_list` variable.

```python
        retriever=dict(type=ZeroRetriever),
        inferencer=dict(type=PPLInferencer),
```

Thank you. Remove fix_id_list would avoid this error