当前位置: 首页 > news >正文

拾学AI:基于 Django + Vue3 + LLM 的智能学习辅助平台开发实录

1. 项目背景

在考研和升学的漫漫长路上,信息不对称、错题整理效率低、缺乏科学规划是困扰许多学生的痛点。为了解决这些问题,拾学AI (ShiXue AI)应运而生。

“拾学”,寓意“重拾学习的热情,拾起遗漏的知识”。这是一个融合了DjangoVue 3大语言模型 (LLM)技术的全栈项目,致力于通过 AI 技术让学习变得更简单、高效。

2. 技术架构概览

本项目采用主流的前后端分离架构,并深度集成了多种 AI 服务。

前端 (Frontend)

核心框架: Vue 3 (Composition API) + TypeScript

构建工具: Vite

UI 组件库: Element Plus

状态管理: Pinia

路由管理: Vue Router

后端 (Backend)

Web 框架: Django 5.2

API 框架: Django REST Framework (DRF)

数据库: MySQL

身份认证: JWT (JSON Web Token)

任务调度: Celery (可选扩展)

AI 与第三方服务集成

LLM 基座: Moonshot AI (Kimi) - 提供智能对话与逻辑推理。

OCR 识别: Aliyun Dashscope (Qwen-VL) - 实现图片转文字,用于错题录入。

语音交互: Baidu AI Cloud - 支持语音输入,提升交互便捷性。

工作流编排: Dify - 编排复杂的 AI 智能流,处理长上下文与多步推理。

基础设施: SMTP 邮件服务 (验证码)、Python-pptx (自动化生成报告)。

3. 核心功能亮点

3.1 智能问答助手 (Smart QA)

不仅仅是简单的聊天机器人。我们利用Streaming Response (流式响应)技术,实现了类似 ChatGPT 的打字机效果,大幅降低了用户的等待焦虑。支持语音输入,让提问像聊天一样自然。

3.2 智能错题本

传统的错题整理需要手抄或剪贴,效率极低。拾学AI 支持上传错题图片,后台自动调用 OCR 识别文字,并结合 LLM 分析错题原因、生成解析,一键保存至云端。

3.3 激励型用户中心

除了基础的个人资料管理,我们特别设计了可视化打卡系统。后端采用 JSON 字段存储打卡日期,前端通过自定义`el-calendar`组件展示,让每一天的坚持都清晰可见。

3.4 模考与择校

模考中心支持上传试题文件,AI 自动解析并模拟考试环境。基于模考分数,系统会生成多维度的择校报告,帮助用户精准定位目标院校。

4. 开发挑战与解决方案 (Troubleshooting)

在开发过程中,我们遇到并解决了许多实际问题,以下是几个典型案例:

挑战一:Token 认证与文件下载

问题:模考中心的“下载附件”功能是通过点击链接触发的 GET 请求,无法像 AJAX 请求那样自动在 Header 中携带 JWT Token,导致下载被拦截。

解决

1.后端改造:修改`JwtAuthMiddleware`,使其支持从 URL 查询参数 (`?token=xxx`) 中提取 Token。

2.前端适配:在生成下载链接时,自动将当前的 Token 拼接到 URL 后面,确保权限验证通过。

挑战二:全栈功能的落地

问题:初期只有前端界面,邮箱注册和打卡功能均未对接后端。

解决

邮箱:实现了`SendEmailCodeView`,集成 SMTP 服务,利用 Django 缓存系统处理验证码的存储与过期校验。

打卡:设计了轻量级的 JSON 数据结构存储打卡记录,避免了创建冗余的关联表,同时保证了查询效率。

挑战三:环境配置冲突

问题:前后端联调时,经常遇到 8000/5173 端口被占用。

解决:编写了自动化检测脚本,配合 Vite 的自动端口切换配置,并熟练使用`taskkill`清理僵尸进程,保证了开发环境的稳定性。

5. 总结与展望

“拾学AI”是一个典型的 AI Native 应用探索。它证明了即使是小团队,利用现有的开源框架 (Django/Vue) 和强大的 AI API,也能快速构建出解决实际痛点的产品。

未来,我们将继续探索:

更深度的 AI Agent:让 AI 主动规划学习路径。

社区化功能:通过错题共享和经验交流,打造更有温度的学习社区。

http://www.cnnetsun.cn/news/111059.html

相关文章:

  • 数据驱动,智能化决策-安科瑞能碳管理平台助企业绿色转型
  • NetBox拓扑视图插件终极指南:5分钟构建专业级网络可视化方案
  • 九尾狐AI获客系统架构解析:如何用伪代码实现单场培训1000单转化?
  • 直流微电网仿真手记:从光伏到异步电机的全链路踩坑实录
  • 如何快速掌握Awesomplete:新手必备的完整指南
  • 学习笔记:循环神经网络(RNN)
  • Q#调用Python变量总是失败?90%开发者忽略的2个关键细节
  • ImageOptim跨平台图像优化:macOS全版本兼容实战指南
  • 方达炬〖宣介写书计划〗:《在利润端尊严生活》《在成本端计划生活》
  • 配置丢失不再怕,VSCode量子开发环境备份实战经验分享
  • 深度解密:大模型DPO训练中隐藏的置信度衰减效应与优化策略
  • ConvertX性能优化终极指南:5个快速提升文件转换速度的秘诀
  • 2026直播运营新玩法:购买直播源码+直播系统搭建完成,这样推广实现快速盈利
  • FanControl步进速率深度优化终极指南
  • 终极指南:用lidR快速掌握激光雷达林业分析的10个技巧
  • 【量子计算开发进阶】:为什么顶尖团队都在用VSCode自动生成Q#文档?
  • 技术职业突破的3大实战路径:从执行者到价值创造者的加速转型
  • 【CentOS7】CentOS 7 编译安装 Python 3.11.9
  • 揭秘MS-720 Teams Agent消息机制:5大关键配置让你避开90%的部署陷阱
  • 仅限本周公开:微软资深工程师亲授AZ-500云Agent访问控制秘技(内部培训资料流出)
  • Mac触控条革命:5个必学的BetterTouchTool预设配置技巧
  • 如何在30分钟内完成Docker与Vercel AI SDK的API对接?高效集成秘诀公开
  • 20、设计帧缓冲接口:从基础程序到图形库应用
  • macOS iSCSI启动器完全指南:从安装到实战应用
  • LiteIDE终极指南:2025年Go开发者的免费完整解决方案
  • Docker部署智能Agent常见坑点,99%新手都会忽略的3个关键细节
  • 31、运行时访问(RTA)库全面解析
  • LrcApi歌词API服务:为音乐应用注入灵魂的完整解决方案 [特殊字符]
  • (Q#编程避坑指南):轻松搞定VSCode测试报告中的常见错误
  • React Big Calendar完全攻略:从零构建企业级日程管理系统