一个基于AI的全方位学业规划系统,集成了课程推荐、文献检索、培养方向规划和智能聊天等功能。
- 🎯 智能推荐算法: 基于FAISS向量搜索和语义匹配
- 📚 海量数据库: 2700+课程记录,50000+学术文献
- 🤖 多功能集成: 5大核心功能模块一体化
- 💬 自然语言交互: 智能聊天助手
- 🎨 现代化界面: 响应式Web设计
- 语义搜索: 支持自然语言查询
- 专业筛选: 52个专业精确分类
- 个性化推荐: 基于兴趣和职业目标
- 详细信息: 学分、学时、课程描述
- 海量文献库: 50000+高质量学术论文
- 智能策略: 综合全面/权威优先/最新优先/引用优先
- 多领域覆盖: 15个主要学科领域
- 个性化配置: 自定义研究领域和推荐数量
- 个性化分析: 综合考虑专业背景、兴趣、目标
- 智能规划: 生成具体的培养路径
- 课程建议: 推荐相关核心课程
- 职业指导: 提供职业前景分析
- 自然语言理解: 支持多轮对话
- 上下文感知: 智能识别用户需求
- 主动建议: 提供相关功能推荐
- 实时响应: 即时回答学业问题
- 账户管理: 注册/登录/会话管理
- 个人中心: 收藏、历史记录
- 数据安全: 用户信息加密存储
- Python 3.8+: 主要编程语言
- FastAPI: 高性能Web框架
- NumPy: 科学计算库
- FAISS: 向量相似性搜索
- jieba: 中文分词处理
- 智谱AI: 大模型集成
- HTML5: 语义化标记
- CSS3: 现代化样式
- JavaScript: 动态交互
- 响应式设计: 多设备适配
- JSON: 课程和文献数据
- FAISS索引: 向量检索优化
- NPY文件: 嵌入向量存储
Python >= 3.8
pip >= 21.0
git clone https://github.com/1599570912/academic-planning-system.git
cd academic-planning-system
pip install -r requirements.txt
确保以下数据文件存在:
数据/data/用所选项目新建的文件夹/chunks.json
数据/data/用所选项目新建的文件夹/embeddings.npy
数据/data/用所选项目新建的文件夹/faiss_index.bin
cd 代码/算法部分
python working_app_complete.py
打开浏览器访问:http://localhost:10009
用户名: 2107040120
密码: pxc020726
- 输入关键词(如:机器学习、数据挖掘)
- 选择专业筛选条件
- 设置返回结果数量
- 点击"搜索课程"
- 切换到"智能推荐"模式
- 添加兴趣标签
- 选择职业目标和当前专业
- 点击"获取推荐"
- 切换到"文献推荐"模式
- 添加研究领域标签
- 选择推荐策略和数量
- 点击"获取文献"
- 切换到"培养方向"模式
- 填写个人信息和目标
- 添加兴趣、目标、已修课程
- 点击"获取方向"
- 切换到"智能聊天"模式
- 直接输入问题或需求
- 与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模型验证
- 错误处理: 完善的异常捕获
- 日志记录: 详细的操作日志
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'Add some AmazingFeature'
) - 推送分支 (
git push origin feature/AmazingFeature
) - 创建 Pull Request
- ✨ 初始版本发布
- 🎯 完成5大核心功能模块
- 🚀 集成所有系统组件
- 📚 完善文档和使用指南
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
彭小川 - @1599570912
- 🏫 中国石油大学(华东)
- 📍 青岛
- 📧 联系方式:通过GitHub
- 感谢所有测试用户的反馈
- 感谢开源社区提供的优秀工具
- 特别感谢FastAPI和FAISS项目
⭐ 如果这个项目对您有帮助,请给它一个星标!