首页/新闻资讯/正文详情

LazyLLM端到端实战:用RAG+Agent实现自动出题与学习计划的个性化学习助手智能体

发布时间:2026/11/14 2:48:33 来源:云帆数科 栏目:资讯中心
LazyLLM端到端实战:用RAG+Agent实现自动出题与学习计划的个性化学习助手智能体
LazyLLM端到端实战用RAGAgent实现自动出题与学习计划的个性化学习助手智能体引言从“学什么”到“怎么学”你有没有遇到过这样的困境想学一门新知识但面对海量资料不知从何下手或者学完一章后想检测自己掌握程度却找不到合适的题目传统的学习方式往往是“一刀切”——同样的教材、同样的练习完全忽略了个体差异。今天我们将用LazyLLM框架搭建一个RAG检索增强生成Agent智能体的个性化学习助手。它能根据你的知识水平自动生成练习题并动态调整学习计划。整个过程只需不到100行代码就能实现端到端的工作流。—## 技术栈概览LazyLLM的核心能力LazyLLM 是一个轻量级的 LLM 应用框架它封装了 RAG、Agent、工具调用等常见模式。我们主要用到以下组件-RAG从本地文档库检索最相关的知识点片段-Agent根据用户反馈动态调整出题难度和学习路径-Memory记录用户的历史学习记录实现个性化—## 实战一搭建RAG知识库自动出题的数据基础### 1.1 准备工作首先我们需要一个知识库。假设我们有一本《Python入门》的教材将其拆分为章节片断。LazyLLM 支持直接加载 Markdown 文件。python# 安装依赖pip install lazyllmfrom lazyllm import RAG, Document# 加载本地文档支持PDF、Markdown等doc Document(python_basics.md, chunk_size500, chunk_overlap50)# 构建RAG引擎rag RAG(doc, embed_modelBAAI/bge-small-zh-v1.5, llm_modelQwen/Qwen2-7B-Instruct)# 测试检索query Python中的列表推导式是什么results rag.retrieve(query, top_k3)print(检索到的相关知识片段)for i, result in enumerate(results): print(f{i1}. {result[content][:100]}...)代码解析-chunk_size500将文档按500字符切块避免超出LLM上下文窗口-embed_model使用中文嵌入模型将文本转为向量-retrieve返回与问题最相关的3个文档片段### 1.2 自动出题的核心逻辑有了RAG我们可以根据用户当前学习的章节自动生成选择题或简答题。这里我们用Agent来判断出题类型。pythonfrom lazyllm import Agent# 定义出题Agentquestion_agent Agent( tools[rag], # 将RAG作为工具注入 system_prompt你是一位出题老师。请根据用户当前学习的内容生成一道选择题包含4个选项和一道简答题。 要求选择题的难度要适中简答题要能检验理解深度。 输出格式 ## 选择题 题目 A. B. C. D. 答案 ## 简答题 题目 参考答案)# 用户当前学习的内容假设是RAG检索到的user_topic 列表推导式与生成器question_result question_agent.run(f基于以下内容出题{user_topic})print(question_result)输出示例## 选择题题目下列哪个表达式返回的是生成器对象A. (x*2 for x in range(10))B. [x*2 for x in range(10)]C. {x*2 for x in range(10)}D. {x: x*2 for x in range(10)}答案A## 简答题题目请比较列表推导式和生成器表达式在内存使用上的区别并说明何时应该使用生成器。参考答案列表推导式一次性生成所有元素并存储在内存中适合数据量小的场景生成器是惰性求值每次迭代才生成下一个元素适合处理大数据流或无限序列。—## 实战二用Agent实现动态学习计划### 2.1 用户行为感知与计划调整单纯的出题还不够我们还要根据用户答题的正确率来调整学习计划。比如如果某类题目总是错就增加该知识点的复习次数。pythonclass LearningPlanner: def __init__(self, knowledge_graph): self.knowledge knowledge_graph # 知识点图谱 self.mistakes {} # 记录错误知识点 def analyze_errors(self, questions, answers): 分析用户错误更新知识点权重 for q, a in zip(questions, answers): if a[is_correct] False: topic q[topic] self.mistakes[topic] self.mistakes.get(topic, 0) 1 # 增加该知识点的复习权重 self.knowledge[topic][review_weight] min(1.0, self.knowledge[topic].get(review_weight, 0.1) 0.2) def generate_plan(self, user_id, days7): 生成未来7天的学习计划 plan [] # 按错误频率排序优先安排薄弱环节 weak_topics sorted(self.mistakes.items(), keylambda x: x[1], reverseTrue) for i in range(days): day_plan {day: i1, topics: []} for topic, _ in weak_topics[:3]: # 每天复习3个薄弱点 day_plan[topics].append(topic) # 穿插新知识 new_topic self._get_next_new_topic() if new_topic: day_plan[topics].append(new_topic) plan.append(day_plan) return plan# 初始化学习规划器planner LearningPlanner({ 列表推导式: {mastery: 0.3, review_weight: 0.1}, 生成器: {mastery: 0.1, review_weight: 0.1}, 装饰器: {mastery: 0.6, review_weight: 0.1}})# 模拟用户答题记录questions [ {topic: 列表推导式, correct: True}, {topic: 生成器, correct: False}, # 错误 {topic: 装饰器, correct: True}]answers [{is_correct: q[correct]} for q in questions]planner.analyze_errors(questions, answers)plan planner.generate_plan(user123, days3)print(个性化学习计划)for day in plan: print(f第{day[day]}天复习 {, .join(day[topics])})输出示例个性化学习计划第1天复习 生成器, 列表推导式第2天复习 生成器, 列表推导式, 装饰器第3天复习 生成器, 列表推导式, 新章节异常处理### 2.2 集成到LazyLLM Agent中我们将上述逻辑封装成LazyLLM的工具让Agent可以自动调用。pythonfrom lazyllm import Tool# 将学习规划器封装成工具plan_tool Tool( namegenerate_learning_plan, funcplanner.generate_plan, description根据用户错误记录生成学习计划参数user_id和天数)# 创建主Agentmain_agent Agent( tools[rag, plan_tool], system_prompt你是一个个性化学习助手。你的工作流程 1. 先通过RAG检索用户当前学习内容 2. 自动生成练习题 3. 分析用户答题结果调用学习规划器调整计划 4. 以友好自然语言输出建议)# 交互示例user_input 我刚刚学完函数和装饰器但感觉生成器有点难response main_agent.run(user_input)print(response)Agent输出我注意到你对生成器有困惑。先做一道题检验一下选择题下列代码输出什么def gen(): yield 1 yield 2g gen()print(next(g), next(g))A. 1 2 B. 2 1 C. 报错 D. None None答案A如果你答对了说明基础概念已掌握。根据你的学习记录建议未来3天重点复习生成器和列表推导式每天花15分钟做一道综合题。需要我为你生成详细计划吗—## 总结从代码到智能学习助手通过不到100行的核心代码我们实现了1.RAG知识库让AI能精准检索教材内容2.自动出题Agent根据知识点生成带答案的练习题3.动态学习计划根据用户错误模式自动调整复习权重关键收获- LazyLLM 的AgentTool模式让复杂的多步骤任务变得像搭积木一样简单- RAG 解决了LLM“知识幻觉”问题确保出题内容严格基于教材- 个性化不是靠魔法而是靠mistakes字典这样的简单数据结构未来优化方向- 加入知识图谱让计划更了解知识点间的依赖关系- 集成语音交互实现“对话式学习”- 使用强化学习动态调整出题难度现在你可以把这份代码部署到自己的学习场景中。无论是学编程、历史还是外语只需替换知识库文档就能得到一个专属的AI学习导师。动手试试吧

相关推荐

沉浸式数字化招商解决方案:三维建模与实时渲染技术应用
沉浸式数字化招商解决方案:三维建模与实时渲染技术应用

1. 项目概述:当招商遇上沉浸式体验四维轻云本质上是一套数字化招商解决方案,它通过三维建模、实时渲染、虚拟漫游等技术手段,将传统招商场景从二维平面升级为可交互的立体空间。想象一下,投资人无需亲临现场,戴上VR设备… · 2026/10/29 17:08:18

麒麟V10服务器解决kk-fileview文件描述符内存错误
麒麟V10服务器解决kk-fileview文件描述符内存错误

1. 问题现象与背景分析最近在麒麟V10 x86架构服务器上部署kk-fileview文档预览服务时,遇到了一个棘手的错误:"unable to allocate file descriptor table - out of memoryAborted"。这个错误直接导致容器启动失败,影响了整个文档预… · 2026/10/27 22:43:08

CentOS 7离线安装GCC完整指南与依赖处理
CentOS 7离线安装GCC完整指南与依赖处理

1. 项目背景与核心需求在CentOS 7环境下进行离线安装GCC编译器时,最令人头疼的就是处理依赖关系。不同于在线安装能自动解决依赖,离线环境需要手动下载所有依赖包并按正确顺序安装。我曾在一个没有外网连接的客户现场部署环境,花了整整两天时… · 2026/11/2 22:19:48

中级电工证三年在哪考能转过来?外省证书怎么处理
中级电工证三年在哪考能转过来?外省证书怎么处理

中级电工证三年在哪考能转过来?外省证书怎么处理 之前考的证在外省能不能转过来?这几乎是每个想转岗、想考证的人最关心的问题。特别是像你这样已经在洛阳涧西区工作的朋友,如果手上有一个外地的中级电工证,是否还能继续使用?其实, 中级电工证三年… · 2026/11/14 2:47:38

持加拿大电工证找工作官方回应:工地太忙根本没时间复习考试怎么办
持加拿大电工证找工作官方回应:工地太忙根本没时间复习考试怎么办

持加拿大电工证找工作官方回应:工地太忙根本没时间复习考试怎么办 工地太忙根本没时间复习考试,这是很多一线电工的真实写照,特别是那些在平顶山房建工程一线奋战的工友,一边要赶工期,一边还要为考证发愁。最近,不少持加拿大电工证的朋友问:“持加拿大… · 2026/11/14 2:47:38

买个电工证在哪里买全国通用的实操考试怎么过
买个电工证在哪里买全国通用的实操考试怎么过

买个电工证在哪里买全国通用的实操考试怎么过 实操考试心里没底怕挂科,尤其是像你这种第一次报考电工证的郑州人,面对高压电工、低压电工这些操作性强的项目,真的不知道从哪儿下手。别急,这篇文章就是为你量身定制的,帮你理清【买个电工证在哪里买】的流… · 2026/11/14 2:47:38

工地太忙根本没时间复习考试 附近办电工证便宜在哪考最靠谱
工地太忙根本没时间复习考试 附近办电工证便宜在哪考最靠谱

工地太忙根本没时间复习考试 附近办电工证便宜在哪考最靠谱 工地太忙根本没时间复习考试,这几乎是每个施工人员的真实写照。尤其是对于一线工人和基层管理人员来说,日常任务已经压得喘不过气,更别提抽时间去准备考试了。但如果你是从事电工作业、焊接作业… · 2026/11/14 2:47:38

滕州免费电工证怎么考?工地太忙也能上岗必备
滕州免费电工证怎么考?工地太忙也能上岗必备

滕州免费电工证怎么考?工地太忙也能上岗必备 工地太忙根本没时间复习考试,这不是个别现象,很多一线工人和刚入行的应届毕业生都面临这个问题。尤其是在滕州,施工项目密集,时间紧迫,很多人连最基本的考试复习都安排不过来,更别提准备【滕州免费电工证】… · 2026/11/14 2:47:38

铁路电工证在哪查2026河南最新政策怎么应对实操考试
铁路电工证在哪查2026河南最新政策怎么应对实操考试

铁路电工证在哪查2026河南最新政策怎么应对实操考试 实操考试心里没底怕挂科?这事儿真不少见。尤其是像你这样在平顶山干建筑的工友,想考铁路电工证,但对考试流程、政策变化一知半解,搞不好就白忙活一场。2026河南最新政策对电工证报考、考试、复… · 2026/11/14 2:46:38

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/13 22:30:50

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/13 5:40:45

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/12 23:27:43

有初级电工证怎么工作 2026河南最新政策怎么应对
有初级电工证怎么工作 2026河南最新政策怎么应对

有初级电工证怎么工作 2026河南最新政策怎么应对 之前考的证在外省能不能转过来?这个问题我每天被问上百次。2026年河南最新政策对证书跨省转移有了明确说明,特别是南阳市的从业者,需要特别关注。… · 2026/11/14 0:00:31

电工证过期了不知道怎么复审?考电工证自学书+官方报名入口全攻略
电工证过期了不知道怎么复审?考电工证自学书+官方报名入口全攻略

电工证过期了不知道怎么复审?考电工证自学书+官方报名入口全攻略 证书过期了不知道怎么复审延期?很多人遇到这种情况,要么是工作太忙没时间处理,要么是不知道具体流程,导致证书失效,影响工作和项目进展。其实复审并不难,关键是要找准官方报名入口,掌… · 2026/11/14 0:00:31

为什么要低压电工证实操考试考什么
为什么要低压电工证实操考试考什么

为什么低压电工证值不值得考?别再被中介骗了 你是不是也经常看到网上有人在问“低压电工证到底值不值得考”?或者在找报名点时,担心被中间人骗钱?这些问题,我懂,我也经历过。作为一名在应急管理行业摸爬滚打多年的从业者,我深知低压电工证不仅是一个从… · 2026/11/14 0:00:31

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:12:21

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:11:51

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 22:31:30

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码