Skip to content

1599570912/academic-planning-system

Repository files navigation

🎓 智能学业规划系统

Python FastAPI License Status

一个基于AI的全方位学业规划系统,集成了课程推荐、文献检索、培养方向规划和智能聊天等功能。

🌟 项目亮点

  • 🎯 智能推荐算法: 基于FAISS向量搜索和语义匹配
  • 📚 海量数据库: 2700+课程记录,50000+学术文献
  • 🤖 多功能集成: 5大核心功能模块一体化
  • 💬 自然语言交互: 智能聊天助手
  • 🎨 现代化界面: 响应式Web设计

🚀 功能特性

1. 🔍 智能课程搜索

  • 语义搜索: 支持自然语言查询
  • 专业筛选: 52个专业精确分类
  • 个性化推荐: 基于兴趣和职业目标
  • 详细信息: 学分、学时、课程描述

2. 📖 学术文献推荐

  • 海量文献库: 50000+高质量学术论文
  • 智能策略: 综合全面/权威优先/最新优先/引用优先
  • 多领域覆盖: 15个主要学科领域
  • 个性化配置: 自定义研究领域和推荐数量

3. 🎓 培养方向规划

  • 个性化分析: 综合考虑专业背景、兴趣、目标
  • 智能规划: 生成具体的培养路径
  • 课程建议: 推荐相关核心课程
  • 职业指导: 提供职业前景分析

4. 💬 智能聊天助手

  • 自然语言理解: 支持多轮对话
  • 上下文感知: 智能识别用户需求
  • 主动建议: 提供相关功能推荐
  • 实时响应: 即时回答学业问题

5. 👤 用户系统

  • 账户管理: 注册/登录/会话管理
  • 个人中心: 收藏、历史记录
  • 数据安全: 用户信息加密存储

🛠️ 技术架构

后端技术栈

  • Python 3.8+: 主要编程语言
  • FastAPI: 高性能Web框架
  • NumPy: 科学计算库
  • FAISS: 向量相似性搜索
  • jieba: 中文分词处理
  • 智谱AI: 大模型集成

前端技术栈

  • HTML5: 语义化标记
  • CSS3: 现代化样式
  • JavaScript: 动态交互
  • 响应式设计: 多设备适配

数据存储

  • JSON: 课程和文献数据
  • FAISS索引: 向量检索优化
  • NPY文件: 嵌入向量存储

📦 安装指南

1. 环境要求

Python >= 3.8
pip >= 21.0

2. 克隆项目

git clone https://github.com/1599570912/academic-planning-system.git
cd academic-planning-system

3. 安装依赖

pip install -r requirements.txt

4. 数据准备

确保以下数据文件存在:

  • 数据/data/用所选项目新建的文件夹/chunks.json
  • 数据/data/用所选项目新建的文件夹/embeddings.npy
  • 数据/data/用所选项目新建的文件夹/faiss_index.bin

5. 启动系统

cd 代码/算法部分
python working_app_complete.py

🎮 使用说明

1. 访问系统

打开浏览器访问:http://localhost:10009

2. 用户登录

用户名: 2107040120
密码: pxc020726

3. 功能模块

🔍 课程搜索

  1. 输入关键词(如:机器学习、数据挖掘)
  2. 选择专业筛选条件
  3. 设置返回结果数量
  4. 点击"搜索课程"

🤖 智能推荐

  1. 切换到"智能推荐"模式
  2. 添加兴趣标签
  3. 选择职业目标和当前专业
  4. 点击"获取推荐"

📖 文献推荐

  1. 切换到"文献推荐"模式
  2. 添加研究领域标签
  3. 选择推荐策略和数量
  4. 点击"获取文献"

🎓 培养方向

  1. 切换到"培养方向"模式
  2. 填写个人信息和目标
  3. 添加兴趣、目标、已修课程
  4. 点击"获取方向"

💬 智能聊天

  1. 切换到"智能聊天"模式
  2. 直接输入问题或需求
  3. 与AI助手进行对话

📊 数据统计

  • 课程数据: 2,706条记录
  • 专业覆盖: 52个专业领域
  • 文献数据: 50,000+学术论文
  • 学科领域: 15个主要方向
  • 用户会话: 安全的会话管理

🏗️ 项目结构

academic-planning-system/
├── 代码/
│   ├── 算法部分/
│   │   ├── working_app_complete.py      # 主应用程序
│   │   ├── enhanced_literature_system_v2.py  # 文献推荐系统
│   │   ├── training_direction_system_v1.py   # 培养方向系统
│   │   └── ...                          # 其他模块
│   └── static/
│       └── 用所选项目新建的文件夹/
│           ├── index.html               # 主页面
│           ├── login.html               # 登录页面
│           ├── css/styles.css           # 样式文件
│           └── js/script.js             # 脚本文件
├── 数据/
│   ├── data/
│   │   └── 用所选项目新建的文件夹/
│   │       ├── chunks.json              # 课程数据
│   │       ├── embeddings.npy           # 向量嵌入
│   │       └── faiss_index.bin          # FAISS索引
│   └── 课程数据/
│       └── *.csv                        # 原始课程数据
├── requirements.txt                     # 依赖包列表
└── README.md                           # 项目说明

🔧 配置说明

系统配置

  • 端口: 10009
  • 主机: 0.0.0.0
  • 日志级别: INFO

数据路径配置

# 在working_app_complete.py中修改数据路径
DATA_PATH = "../../数据/data/用所选项目新建的文件夹/"

📈 性能优化

  • 向量搜索: 使用FAISS索引加速检索
  • 数据缓存: 内存中缓存常用数据
  • 异步处理: FastAPI异步框架
  • 前端优化: 响应式设计和懒加载

🛡️ 安全特性

  • 会话管理: UUID会话标识
  • 数据验证: Pydantic模型验证
  • 错误处理: 完善的异常捕获
  • 日志记录: 详细的操作日志

🤝 贡献指南

  1. Fork 本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送分支 (git push origin feature/AmazingFeature)
  5. 创建 Pull Request

📝 更新日志

v1.0.0 (2025-06-20)

  • ✨ 初始版本发布
  • 🎯 完成5大核心功能模块
  • 🚀 集成所有系统组件
  • 📚 完善文档和使用指南

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

👨‍💻 作者

彭小川 - @1599570912

  • 🏫 中国石油大学(华东)
  • 📍 青岛
  • 📧 联系方式:通过GitHub

🙏 致谢

  • 感谢所有测试用户的反馈
  • 感谢开源社区提供的优秀工具
  • 特别感谢FastAPI和FAISS项目

🔗 相关链接


⭐ 如果这个项目对您有帮助,请给它一个星标!

About

🎓 智能学业规划系统 - AI驱动的全方位学业规划平台

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published