1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3device = "cuda"
4model = AutoModelForCausalLM.from_pretrained(
5 "MOYER/FengZheng-7B-Chat",
6 torch_dtype="auto",
7 device_map="auto"
8)
9tokenizer = AutoTokenizer.from_pretrained("MOYER/FengZheng-7B-Chat")
10prompt = "神舟十七号的宇航员是谁?"
11messages = [
12 {"role": "user", "content": prompt}
13]
14text = tokenizer.apply_chat_template(
15 messages,
16 tokenize=False,
17 add_generation_prompt=True
18)
19model_inputs = tokenizer([text], return_tensors="pt").to(device)
20generated_ids = model.generate(
21 model_inputs.input_ids,
22 max_new_tokens=512
23)
24generated_ids = [
25 output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
26]
27response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
评测者首先提出一个航天科普问题,评测系统将返回由FengZheng-7B-Chat、gpt-3.5-turbo以及gpt-4-1106-preview生成的三个回复。回复文本的顺序被打乱,对应的模型名称也被隐藏,评测者将对三个回复分别给与1~5分的综合评价分数。评价维度包括事实性、丰富性和科普性等。
我们共收集了100条人工打分记录,具体结果如下:
1@misc{FengZheng,
2 author = {HIT-SCIR-TG},
3 title = {FengZheng: An Open-Source Aerospace Science Popularization Assistant},
4 year = {2024},
5 publisher = {GitHub},
6 journal = {GitHub repository},
7 howpublished = {\url{https://github.com/maojinyang/FengZheng}}
8}