# edu-Mathchatbot **Repository Path**: tangwenzhan/edu-Mathchatbot ## Basic Information - **Project Name**: edu-Mathchatbot - **Description**: AI教育类数学出题机器人 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-10 - **Last Updated**: 2025-07-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, Vue, aigc ## README # AI-MathChatbot 知学岛 项目说明 ## 一、项目介绍 AI-MathChatbot 知学岛 是一款面向中小学生和教育工作者的智能数学学习与答题平台,致力于用人工智能技术提升学习效率和趣味性。平台集成了大模型(如百炼/DeepSeek)能力,能够根据学生年级、知识点、历史答题情况,自动生成个性化题目,并提供智能解析、学习建议和答题记录管理。 ### 项目定位 - **智能化**:AI 自动出题、智能批改、个性化学习建议。 - **数据驱动**:记录每一次答题过程,支持学习路径分析与进步追踪。 - **易用性**:界面简洁,支持多端访问,适合学生、家长、教师使用。 - **可扩展**:支持多学科、多年级,便于后续功能拓展。 ### 核心特色 - **AI 出题与答疑**:基于大模型,自动生成符合学生认知水平的题目,支持多轮对话式答题。 - **个性化学习路径**:结合历史答题数据,动态调整题目难度和知识点,实现因材施教。 - **答题记录与分析**:自动保存每次答题内容,生成学习报告和薄弱点分析。 - **多角色支持**:学生自主练习,教师可查看学生进步,家长可监督学习过程。 ### 主要功能 - 用户注册、登录与信息管理 - AI 智能出题、答题与解析 - 历史对话与答题记录管理 - 知识点自定义选择与推荐 - 答题总结、学习建议与进步可视化 ### 适用场景 - 学生日常自主练习、查漏补缺 - 教师布置个性化作业、跟踪学生进步 - 家长监督孩子学习、辅助家庭辅导 - 教育机构智能化教学平台搭建 ### 技术亮点 - 前端:Vue3 + Element Plus + Vite,响应式设计,体验流畅 - 后端:Spring Boot + MyBatis Plus + JWT,接口安全高效 - AI 服务:集成大模型 API,支持多种智能出题与分析能力 - 数据库:MySQL 8.0,结构简洁,易于维护 ### 目录结构 ``` 项目根目录/ ├── ai-server/ # 后端服务(Spring Boot) │ ├── src/main/java/cn/linkstudy/ │ │ ├── controller/ # 控制器,REST API 入口 │ │ ├── service/ # 业务接口与实现 │ │ ├── entity/ # 实体类(数据库表映射) │ │ ├── mapper/ # MyBatis Mapper │ │ ├── util/ # 工具类 │ │ └── ... │ ├── src/main/resources/ │ │ ├── application.yml # 后端配置文件 │ │ ├── static/ # 静态资源(可选) │ │ └── database/ # 数据库脚本 │ └── pom.xml # 后端依赖管理 │ ├── ai-web/ # 前端应用(Vue3) │ ├── src/ │ │ ├── api/ # 后端接口封装 │ │ ├── store/ # Pinia 状态管理 │ │ ├── components/ # 通用UI组件 │ │ ├── layouts/ # 布局组件 │ │ ├── pages/ # 页面(按功能分子目录) │ │ ├── utils/ # 工具函数 │ │ ├── router/ # 路由配置 │ │ ├── assets/ # 静态资源 │ │ ├── App.vue # 根组件 │ │ └── main.js # 入口文件 │ ├── package.json # 前端依赖管理 │ └── vite.config.js # 构建配置 └── README.md # 项目说明文档 ``` --- ## 二、项目部署流程 ### 1. 环境要求 - Node.js 16+ - npm 8+ - JDK 21 - Maven 3.6+ - MySQL 8.0 ### 2. 数据库表结构 ```sql CREATE TABLE `users` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `phone` varchar(20) DEFAULT NULL, `username` varchar(50) DEFAULT NULL, `create_time` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE `chat_record` ( `user_id` bigint(20) NOT NULL, `session_id` varchar(100) NOT NULL, `content` json DEFAULT NULL, `create_time` datetime DEFAULT CURRENT_TIMESTAMP, `grade` varchar(20) DEFAULT NULL, `knowledge_point` varchar(100) DEFAULT NULL, PRIMARY KEY (`session_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` ### 3. 后端启动 ```bash cd ai-server # 配置 application.yml 数据库信息 mvn clean package -DskipTests java -jar target/ai-educate-platform-1.0.0.jar # 默认端口 8080 ``` ### 4. 前端启动 ```bash cd ai-web npm install npm run dev # 默认端口 3000 ``` ### 5. 重要配置说明 #### 5.1 短信服务(阿里云短信)配置 - 配置位置:`ai-server/src/main/java/cn/linkstudy/service/impl/UserServiceImpl.java` - 需要替换的内容: - `appcode`:你的阿里云短信服务 AppCode - `smsSignId`、`templateId`:你的短信签名 ID 和模板 ID #### 5.2 大模型 API Key 配置 - 配置位置: - `ai-server/src/main/resources/application.yml` - 需要替换的内容: - `dashscope.api-key`:你的大模型 API Key - `dashscope.model`:模型名称(如 deepseek-v3) - 示例(application.yml): ```yaml dashscope: api-key: 你的大模型API Key model: deepseek-v3 ``` #### 5.3 数据库配置 - 配置位置: `ai-server/src/main/resources/application.yml` - 需要替换的内容: - `spring.datasource.url`:你的数据库连接地址(如本地或云数据库) - `spring.datasource.username`:你的数据库用户名 - `spring.datasource.password`:你的数据库密码 - 示例(application.yml): ```yaml spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/ai?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true username: 你的数据库用户名 password: 你的数据库密码 druid: initial-size: 5 min-idle: 5 max-active: 20 # ... 其他连接池参数 ... ``` --- ### 6. 常见问题 - 端口冲突:修改 application.yml 或 package.json 端口 - 依赖缺失:执行 npm install 或检查 Maven 依赖 - 数据库连接失败:检查数据库配置、账号、端口 --- ## 三、注意 > **⚠️ 部署前请务必完成以下配置:** > > 1. 打开 `ai-server/src/main/resources/application.yml`,填写你自己的数据库账号、密码、AI 大模型 API Key 等信息: > - `spring.datasource.username`:数据库用户名 > - `spring.datasource.password`:数据库密码 > - `jwt.secret`:JWT 密钥(建议自定义) > - `dashscope.api-key`:你的大模型 API Key > - `dashscope.model`:模型名称(如 deepseek-v3,可根据实际服务商选择) > 2. 如需短信功能,请在 `ai-server/src/main/java/cn/linkstudy/service/impl/UserServiceImpl.java` 中填写你的阿里云短信服务相关参数: > - `appcode`:你的阿里云短信服务 AppCode > - `smsSignId`:你的短信签名 ID > - `templateId`:你的短信模板 ID 如有问题请反馈。