
OpenCompass
Shanghai Artificial Intelligence Laboratory 推出的大模型开放评测体系
围绕C-Eval,C-Eval是适用于大语言模型的多层次多学科中文评估套件,由上海交通大学、清华大学和爱丁堡大学研究人员在2023年5月份联合推出,包含13948个多项选择题,涵盖52个不同的学科和四个难度级别,用在评测大模型中文理解能力。通过零样本(zero-shot)和少样本(few-shot)测试,C-Eval 能评估模型在未见过的任务上的适应性和泛化能力。

from datasets import load_dataset
dataset = load_dataset("ceval/ceval-exam", name="computer_network")
wget https://huggingface.co/datasets/ceval/ceval-exam/resolve/main/ceval-exam.zipunzip ceval-exam.zip
from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "your-model-name"tokenizer = AutoTokenizer.from_pretrained(model_name)model = AutoModelForCausalLM.from_pretrained(model_name)
围绕C-Eval,以下是中国关于{科目}考试的单项选择题,请选出其中的正确答案。
{测试题目}
A. {选项A}
B. {选项B}
C. {选项C}
D. {选项D}
答案:
围绕C-Eval,以下是中国关于{科目}考试的单项选择题,请选出其中的正确答案。
{题目1}
A. {选项A}
B. {选项B}
C. {选项C}
D. {选项D}
答案:A
[k-shot 示例]
{测试题目}
A. {选项A}
B. {选项B}
C. {选项C}
D. {选项D}
答案:
inputs = tokenizer(prompt, return_tensors="pt")outputs = model.generate(**inputs)response = tokenizer.decode(outputs[0], skip_special_tokens=True)answer = extract_answer(response) # 自定义函数,提取答案选项
val),直接计算准确率。test围绕C-Eval,),需要将结果提交到 C-Eval 官方平台获取评分。from sklearn.metrics import accuracy_score# 假设 `predictions` 是模型的预测结果,`labels` 是真实答案accuracy = accuracy_score(labels, predictions)print(f"Validation Accuracy: {accuracy:.2f}")
{ "chinese_language_and_literature": { "0": "A", "1": "B",
... },
...}







