Python实训-大数据分析与挖掘实战学习平台
一、项目背景
随着大数据和人工智能技术的快速发展,Python数据分析与挖掘已成为数据科学领域的核心技能。本项目旨在构建一个集代码展示、在线编辑运行、智能问答于一体的交互式教学平台,为学习者提供沉浸式的编程学习体验。
接上篇:Python实战-AI驱动的数据挖掘实战交互式学习平台开发_python数据挖掘实战王磊-CSDN博客
本文为上篇实训的进阶版本,主要改进 AI 智能助手:上篇仅调用硅基流动 API 进行知识点生成与问答功能,无上下文记忆。本文基于 Dify 平台构建了两个智能体:
- 代码专属助手(通过 API 调用,自动感知左侧代码内容,流式解释当前代码);
- 通用 Python 问答(通过 iframe 嵌入独立 Agent,可自由咨询任何 Python 问题)。
Dify 的流式输出、对话记忆和平台化能力,能实现从“单模型调用”到“多场景智能体”的升级。
二、目标
-
提供可视化的代码学习环境,支持章节式内容组织;
-
实现代码的在线编辑、运行和结果展示;
-
集成AI智能助手,提供代码解释和通用Python问答服务;
-
支持数据文件预览,方便学习者理解数据格式。
三、系统架构
3.1 技术栈
| 前端框架 | Streamlit | 快速构建数据应用,支持热重载 |
| 后端语言 | Python 3.8+ | 核心业务逻辑 |
| 数据处理 | Pandas, NumPy | 数据读取与分析 |
| 可视化 | Matplotlib | 图表生成与展示 |
| AI服务 | Dify Agent API | 智能问答与代码解释 |
| 深度学习 | TensorFlow | 支持深度学习相关代码运行 |
3.2 系统架构图

四、核心功能模块
4.1 章节与文件管理模块
自动扫描项目目录下的章节文件夹和Python文件,提供导航菜单。
通过Python的os.listdir扫描当前目录,筛选出以“第X章”或数字开头的文件夹作为章节;进入章节目录后,列出所有.py文件,用标签页展示。
4.2 代码展示与编辑模块
先是展示原始代码(只读),滚动至下方提供有可编辑的代码区域;学习者可以直接在平台上修改参数、添加打印语句,观察输出变化,加深理解。
使用Streamlit的
st.code展示语法高亮代码,并限制高度滚动。使用
st.text_area提供可编辑区域,支持用户任意修改。
4.3 代码运行引擎模块
安全执行用户编辑后的Python代码,捕获输出结果和生成的图表;点击“运行”即可看到结果,无需本地环境,运行错误也能友好提示。
使用Python内置
exec()在隔离命名空间中执行代码。重定向标准输出和错误输出,将打印内容捕获到文本框。
劫持
matplotlib.pyplot.show(),将图表保存为内存图片,再用st.image展示。
4.4 AI智能助手模块
本平台提供两个不同定位的AI助手:一是针对当前代码的即时解释助手,二是保留自由询问灵活性的通用问答助手,满足不同学习场景。其中,代码问答采用苏格拉底式问答方式,通过层层引导启发学生思考,有效帮助学生学习和掌握知识。
1. 代码专属助手:自动读取左侧当前代码,可问 “这段代码做了什么?” “如何修改实现XX功能?” 等。

2. 通用Python问答:利用Dify建立独立Agent界面(配置了章节知识库),可自由提问Python语法、数据分析算法、机器学习模型等,不依赖当前代码。


代码专属助手:通过Dify API的
/chat-messages接口,将代码内容和问题拼接后发送,使用streaming模式逐字输出,并保存conversation_id维持上下文。通用Python问答:通过iframe直接嵌入Dify Agent的网页地址,用户可在独立窗口中完成所有对话。
4.5 图表可视化模块
自动显示代码运行时生成的Matplotlib图表。主要是在代码运行引擎中捕获 plt.show() 调用,将图表转为PNG图片并集中展示在运行结果区域,能直观看到图表输出。
五、用户界面设计

六、技术亮点
6.1 创新的教学交互模式
将“代码阅读、在线编辑、一键运行、AI问答”整合在同一页面,学生无需切换工具即可完成“学习-实践-纠错”闭环。
6.2 双模式AI助手
-
快速问答模式:集成在界面内,代码专属助手自动感知当前代码内容;无需手动复制粘贴,提问即解释;
-
完整Agent模式:独立窗口,功能更丰富。
6.3 渐进式学习支持
章节化内容组织、数据文件预览、代码重置功能,方便反复尝试。
七、后续优化方向
| 1. 代码自动保存 | 用户编辑的代码自动保存到本地 |
| 2. 多语言支持 | 支持英文等语言界面 |
| 3. 代码评分系统 | 对用户代码进行自动评分和反馈 |
| 4. 学习进度追踪 | 记录学习进度和完成情况 |
| 5. 在线代码分享 | 支持分享代码片段到社区 |
八、总结
该Python交互式教学平台是一个集代码学习、在线运行、智能问答于一体的综合性教学工具。通过Streamlit框架快速构建用户界面,结合Dify Agent提供的AI能力,为学习者创造了“所见即所得”的交互式学习环境。
本平台的设计具有良好的可复用性:所有教学内容和代码文件均以标准文件夹结构组织(章节目录 + .py代码文件 + 数据文件),平台通过自动扫描机制动态生成导航,无需修改任何代码即可适配不同教材或课程。教师只需将新的章节文件夹和代码文件放入项目目录,平台便能自动识别并提供完整的交互功能。
九、平台展示视频
python大数据分析与实战网页视频
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)