king-wang123 / ZHIHUISHU-Auto-Answer-Assistant

智慧树自动答题助手基于大语言模型(LLM),旨在帮助用户在智慧树平台上快速且准确地自动完成答题任务。它通过全自动的答题机制,避免了传统题库的依赖,并利用LLM的智能生成能力,通过多次生成答案来确保答案的高准确率。
5 stars 0 forks source link

🌟 智慧树自动答题助手

📝 项目简介

这是一个基于大语言模型(Large Language Models, LLM)的智慧树自动答题脚本,旨在帮助用户快速、准确地完成智慧树平台上的自动答题任务。本项目通过全自动答题的方式,无需题库,利用 LLM 的强大能力,多次生成答案以确保答案的准确性,能够极大地解放生产力。

🌈 项目展示

项目展示视频

答题过程:

answer_example

调用大模型生成答案过程:

def get_answer(question):
    prompt = f"""
请仔细阅读以下题目并思考分析,根据题目类型,严格按照以下要求作答:

选择题(单选): 如果题目为单选题,请从选项中选择一个正确的答案,并仅输出该选项(A、B、C或D),不提供任何额外解释。
选择题(多选): 如果题目为多选题,请选择所有正确的选项,并仅输出所有正确选项的字母,用','分隔(如A,C),按字母顺序排列,不提供任何额外解释。
判断题: 如果题目为判断题,请分析题目并仅输出 "对" 或 "错",不提供任何额外解释。
请遵循以上规则直接给出你的答案。

题目:
{question}

你的答案:"""
    answer_list = []
    index = 0
    while True:
        cur_answer = model.get_response([prompt])[0][0]
        print(f'大模型第{index+1}次输出:{cur_answer}')
        if cur_answer in answer_list:
            return cur_answer
        answer_list.append(cur_answer)
        index += 1

让大模型多次生成答案, 将最先出现两次的答案作为最终答案, 确保答案的准确性。(即使这样也无法保证百分百的准确性, 这是现有大模型本身的局限性, 作者用三个大模型来答题正确率也是一般般。如果可以拿到题库做数据集,然后用 RAG 可能会提高正确率。)

🚀 功能特点

🐞 已知问题与优化方向

🛠️ 安装与使用

环境要求

安装步骤

  1. 克隆项目到本地:

    git clone https://github.com/jason-king123/ZHIHUISHU-Auto-Answer-Assistant.git
    cd ZHIHUISHU-Auto-Answer-Assistant
  2. 安装依赖库:

    pip install -r requirements.txt

使用说明

注意:在运行代码之后需要输入 api_key 和对应的页面 url,打开网页之后需要自行登录,按回车键开始答题。每答完一个测试的题目需要点击提交,输入回车键后继续

运行脚本:

因为要加载 OCR 库,所以需要等待一段时间代码才会运行

1. 输入答题页面 url,一次完成单测试答题

python onepage.py

code_usage

2. 输入答题列表页面 url,顺序完成所有测试答题

python auto_answer_question.py

code_usage

🤝 贡献与反馈


🌈 希望这份 README 能够帮助你更好地展示和使用你的智慧树自动答题系统项目!如果有任何需要调整的地方,请随时告诉我。🚀🌟