山东大学软件学院项目实训团队博客:基于AI大模型的智能考研助手(一)
本周的任务是完成开发的前期准备工作,包含配置前端,后端,数据库和中间件的基本环境,以及设计最基本的开发路线和项目的总体的架构,确定之后的开发方向。我们进行了分组,每人各司其职
一.前端环境基本配置
前端开发由王睿负责,他这周负责配置前端的基本环境,基本架构如下:
其完成了基本的用户端和管理员端前端概念的开发:
二.后端基本环境配置:
王浩和我负责后端的开发,我们配置了基本的后端环境,采用Spring框架搭建,并且创建了gitee,项目代码架构如下:
代码仓库如下:
三.AI模块开发
AI模块由邢越负责,主要完成了以下内容
- 微服务架构设计文档与技术选型讨论
- 搭建Python 3.10 + FastAPI + LangChain的开发环境,解决依赖冲突
- 协助配置RabbitMQ容器化部署与网络规则
- 定义RabbitMQ Topic规划与消息体JSON Schema,完成Pydantic/DTO契约对齐
对知识图谱进行了简单思索:
# 知识图谱生成伪代码 async def generate_knowledge_graph(user_id: int) -> dict: # 1. 查询用户错题 error_topics = await get_user_error_topics(user_id) # 2. 提取知识点标签 knowledge_points = await extract_knowledge_points(error_topics) # 3. 构建图谱节点与边 nodes = [] edges = [] for point in knowledge_points: nodes.append({ "id": point.id, "label": point.name, "mastery": calculate_mastery(user_id, point.id), "category": point.category }) # 添加知识点间的关联边 for relation in point.relations: edges.append({ "source": point.id, "target": relation.target_id, "type": relation.type }) return {"nodes": nodes, "edges": edges}四.总体架构设计与中间件配置
我负责设计项目的总体架构如下:
技术架构:
项目功能模块架构:
以及在阿里云服务器中进行了数据库与中间件的配置:
#开放Mysql连接端口 sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload #开放Redis连接端口 sudo firewall-cmd --permanent --add-port=6379/tcp sudo firewall-cmd --reload #开放RabbitMq连接端口 sudo firewall-cmd --permanent --add-port=5672/tcp sudo firewall-cmd --reload #开放RabbitMq管理端连接窗口 sudo firewall-cmd --permanent --add-port=15672/tcp sudo firewall-cmd --reload五.总结
本周我们小组完成了各自工作的基本的配置,并且设计了技术架构和项目功能模块,为之后的开发打下了坚实的基础。
