在日常教学和培训中,出题是一项既重要又耗时的工作。如何快速生成高质量的考卷,一直是教育工作者面临的挑战。今天,我们就来手把手教你用Zigent框架打造一个智能出题助手,让AI帮你轻松搞定考卷设计!

一、智能出题助手能做什么?

这个智能助手可不简单,它能够:

  1. 自动读取知识库:从指定目录加载Markdown文件作为出题素材

  2. 智能组卷:根据受众群体和考察目的自动生成考卷

  3. 题型丰富:支持单选题、多选题、填空题等多种题型

  4. 自动保存:将生成的考卷保存为Markdown文件,方便后续使用

二、核心设计思路

我们的智能出题助手主要包含三个核心模块:

  1. 题目生成模块:利用大语言模型,根据Markdown内容智能生成题目

  2. 文件保存模块:将生成的考卷自动保存为Markdown文件

  3. 流程控制模块:协调各个模块的工作,确保出题流程顺畅

三、代码实现详解

1. 题目生成模块

class QuizGenerationAction(BaseAction):       def __call__(self, **kwargs):           # 构建提示词           prompt = f"""           你是一个辅助设计考卷的机器人,全程使用中文。           你的任务是帮助用户快速创建、设计考卷...           """          prompt += f"\n请根据以下内容生成考卷:\n{content}"             # 调用大模型生成题目           quiz_content = self.llm.run(prompt)           return {               "quiz_content": quiz_content,               "audience": audience,               "purpose": purpose,               "question_types": question_types           }   

这个模块的核心是构建合适的提示词(prompt),指导大模型生成符合要求的题目。我们通过设置受众群体、考察目的等参数,确保生成的题目既专业又贴合实际需求。

2. 文件保存模块

class SaveQuizAction(BaseAction):       def __call__(self, **kwargs):           # 创建输出目录           output_dir = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")           os.makedirs(output_dir, exist_ok=True)                      # 保存考卷文件           output_file = os.path.join(output_dir, f"{quiz_title}.md")           with open(output_file, 'w', encoding='utf-8') as f:               f.write(quiz_content)                          return {               "file_path": output_file,               "quiz_url": f"/{output_file}"           }   

这个模块负责将生成的考卷保存为Markdown文件。我们采用"年-月-日_时-分-秒"的格式创建目录,确保每次生成的考卷都能被妥善保存。

3. 流程控制模块

class QuizGeneratorAgent(BaseAgent):       def __call__(self, task: TaskPackage):           # 解析任务参数           params = json.loads(task.instruction)                      # 加载Markdown内容           content = self._load_markdown_content()                      # 生成考卷           quiz_result = self.quiz_action(               content=content,               question_types=question_types,               audience=audience,               purpose=purpose           )                      # 保存考卷           save_result = self.save_action(               quiz_content=quiz_result["quiz_content"],               quiz_title="generated_quiz"           )                      # 返回结果           task.answer = {               "quiz_content": quiz_result["quiz_content"],               "quiz_url": save_result["quiz_url"]           }           return task   

这个模块是整个系统的"大脑",它负责协调各个模块的工作,确保出题流程顺畅进行。

四、使用示例

from dotenv import load_dotenv   load_dotenv()      api_key = os.getenv('ZISHU_API_KEY')   base_url = "http://192.168.12.10:8000/v1"   chat_model = "Qwen2.5-32B-Instruct-AWQ"      llm = LLM(api_key=api_key, base_url=base_url, model_name=chat_model)      # 创建出题智能体   markdown_dir = "./docs"# 指定包含Markdown文件的目录   agent = QuizGeneratorAgent(llm=llm, markdown_dir=markdown_dir)      # 定义考卷参数   quiz_params = {       "audience": "零基础", # 受众群体       "purpose": "测试基础知识掌握情况", # 考察目的       "question_types": ["单选题","多选题","判断题"] # 需要包含的题型   }      # 生成考卷   task = TaskPackage(instruction=json.dumps(quiz_params))   result = agent(task)      print("生成的考卷内容:")   print(result.answer["quiz_content"])   print(f"考卷路径: {result.answer['quiz_url']}")   

1.设置目录和文件

在docs目录下分别放《审计法》和“注册会计师考试审计部分考试题”的markdown文本,运行这段代码,你就能分别得到一份专业的考卷啦!

《审计法》文本内容:

注册会计师考试的审计内容考试题:

2.生成的考试题如下:

2.1 审计基础测试卷

2.2 审计法基础知识测试卷

五、未来展望

这个智能出题助手还有很多可以改进的地方:

  1. 支持更多题型:如简答题等

  2. 增加难度控制:根据受众水平自动调整题目难度

  3. 实现自动阅卷:对客观题进行自动评分

  4. 增加题目解析:为每道题提供详细解析

相信随着技术的进步,这个智能出题助手会越来越强大,成为教育工作者的得力助手!


AI大模型学习路线

如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!

扫描下方csdn官方合作二维码获取哦!

在这里插入图片描述

这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!

请添加图片描述
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

100套AI大模型商业化落地方案

请添加图片描述

大模型全套视频教程

请添加图片描述

200本大模型PDF书籍

请添加图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

LLM面试题合集

请添加图片描述

大模型产品经理资源合集

请添加图片描述

大模型项目实战合集

请添加图片描述

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐