1、整理题库
2、请帮我写个python程序,我把很多题目在excel,逐个读取题目,上传到openAI返回答案,记录到excel中。
import openai # 导入openai模块,用于与OpenAI API进行交互
import pandas as pd # 导入pandas库,用于处理Excel文件
import re # 导入re模块,用于处理正则表达式
# 获取OpenAI的API密钥
openai.api_key = 'sk-XXX'
# def 获取回答(提示, model="gpt-3.5-turbo-0613"):
def 获取回答(提示, model="gpt-3.5-turbo"):
# 创建一个包含用户提示的消息列表
消息 = [{"role": "user", "content": 提示}]
# 通过OpenAI API获取回答
响应 = openai.ChatCompletion.create(
model=model,
messages=消息,
temperature=0, # 温度参数,控制输出结果的随机性,0表示更确定性的结果
)
原答案 = 响应.choices[0].message["content"] # 获取API响应中的第一条回应消息的内容
匹配结果 = re.search(r'\[(.*?)\]', 原答案) # 使用正则表达式提取答案的首字母
if 匹配结果 is not None:
提取答案 = 匹配结果.group(1)
print(' 提取的答案是:' + 提取答案)
else:
提取答案 = "找不到答案"
print(' ' + 提取答案)
return 原答案, 提取答案
# 读取Excel文件
题库 = pd.read_excel("正式题库2023.6.16.xlsx") # 用pandas的read_excel函数读取Excel文件,把文件内容存入题库变量
题库['原答案'] = ''
题库['提取答案'] = ''
# 遍历题库中的每一行
count = 0
for 索引, 行 in 题库.iterrows():
count +=1
print(count)
# 构建提示
提示 = f"搜索你的业余无线电知识,认真阅读题目和ABCD选项,思考哪个选项最正确,只有一个正确答案,告诉我你认为正确的选择。\n{行['题目']}\n{行['A选项']}\n{行['B选项']}\n{行['C选项']}\n{行['D选项']}"
# print(提示)
# 获取答案
原答案, 提取答案 = 获取回答(提示)
题库.loc[索引, '原答案'] = 原答案
题库.loc[索引, '提取答案'] = 提取答案
# 把题库写回到Excel文件
题库.to_excel("你的_excel_文件路径_含答案.xlsx", index=False) # 把题库的内容
3、分别跑"gpt-3.5-turbo"、"gpt-3.5-turbo-0613"看两个模型的差距
4、正确率好低哦54%
是不是prompt没写好?
说明还有进步空间
正确答案全部是A