11天学会AI Agent开发,第10天:用Zigent框架打造智能出题助手,解放教师的双手!
在日常教学和培训中,出题是一项既重要又耗时的工作。如何快速生成高质量的考卷,一直是教育工作者面临的挑战。今天,我们就来手把手教你用Zigent框架打造一个智能出题助手,让AI帮你轻松搞定考卷设计!
在日常教学和培训中,出题是一项既重要又耗时的工作。如何快速生成高质量的考卷,一直是教育工作者面临的挑战。今天,我们就来手把手教你用Zigent框架打造一个智能出题助手,让AI帮你轻松搞定考卷设计!
一、智能出题助手能做什么?
这个智能助手可不简单,它能够:
-
自动读取知识库:从指定目录加载Markdown文件作为出题素材
-
智能组卷:根据受众群体和考察目的自动生成考卷
-
题型丰富:支持单选题、多选题、填空题等多种题型
-
自动保存:将生成的考卷保存为Markdown文件,方便后续使用
二、核心设计思路
我们的智能出题助手主要包含三个核心模块:
-
题目生成模块:利用大语言模型,根据Markdown内容智能生成题目
-
文件保存模块:将生成的考卷自动保存为Markdown文件
-
流程控制模块:协调各个模块的工作,确保出题流程顺畅
三、代码实现详解
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 审计法基础知识测试卷
五、未来展望
这个智能出题助手还有很多可以改进的地方:
-
支持更多题型:如简答题等
-
增加难度控制:根据受众水平自动调整题目难度
-
实现自动阅卷:对客观题进行自动评分
-
增加题目解析:为每道题提供详细解析
相信随着技术的进步,这个智能出题助手会越来越强大,成为教育工作者的得力助手!
AI大模型学习路线
如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!
扫描下方csdn官方合作二维码获取哦!
这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
100套AI大模型商业化落地方案
大模型全套视频教程
200本大模型PDF书籍
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
LLM面试题合集
大模型产品经理资源合集
大模型项目实战合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

更多推荐
所有评论(0)