news 2026/4/14 18:14:49

山东大学软件学院创新实训(一)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
山东大学软件学院创新实训(一)

一、引言与个人职责

由于初始项目的定位较为简单,经过小组成员的商讨后,我们对项目的功能进行了细化和创新,从而推出更具智能且个性化的考研助手。通过了协商任务后,小组讨论确认了项目初始的架构以及进一步的分工。其中我负责AI后端模块的开发,主要目标为构建智能错题分析、个性化推荐及RAG问答服务,并集成大模型API,为平台提供智能化核心能力。

二、系统架构设计

系统架构的设计上,我们采用了客户端层-服务端层-数据层的三层架构:

┌─────────────────────────────────────────────────────────────┐ │ 客户端层 │ ├──────────────────────┬──────────────────────────────────────┤ │ Web浏览器 │ 移动设备 │ │ (管理后台) │ (移动App - HBuilder打包) │ │ Vue3 + TypeScript │ Vue3 + TypeScript + UniApp │ │ Element Plus │ Vant UI组件库 │ │ Pinia状态管理 │ │ └──────────────────────┴──────────────────────────────────────┘ │ HTTPS/WSS ┌─────────────────────────▼──────────────────────────────────┐ │ 服务端层 │ ├──────────────────────┬──────────────────────────────────────┤ │ AI后端服务器 │ 业务后端服务器 │ │ Python AI服务 │ Spring Boot应用 (Java 21) │ │ (FastAPI/Flask) │ - Tomcat嵌入式容器 │ │ - RabbitMQ消费者 │ - Mapper层 (MyBatis-Plus) │ │ - LangChain框架 │ - RabbitMQ客户端 │ │ - AI模型接口 │ - Service层 (业务逻辑) │ │ - 向量数据库 │ - WebSocket服务 │ │ │ - Controller层 (REST API) │ └──────────────────────┴──────────────────────────────────────┘ │ ┌─────────────────────────▼──────────────────────────────────┐ │ 数据层 │ ├──────────────┬──────────────┬──────────────┬───────────────┤ │ MySQL数据库 │ Redis缓存 │ 阿里云OSS │ RabbitMQ │ │ - 各种数据 │ - 会话缓存 │ - 图片/PDF │ - 传递数据 │ │ │ - 消息缓存 │ │ │ │ │ - 热点数据 │ │ │ └──────────────┴──────────────┴──────────────┴───────────────┘

采用Spring Boot (业务层) + RabbitMQ (异步总线) + FastAPI/LangChain (AI层)的异构微服务架构,兼顾业务稳定性与AI技术敏捷性。

三、接口契约设计:Spec驱动与RabbitMQ消息规范

3.1 核心功能模块划分

项目包含六大核心功能模块

  1. 智能错题本系统
    • 自主组卷练习 ↔ 每日智能推题
    • 管理错题 ↔ AI分析与识别
    • 生成查看知识图谱 ↔ 图片上传(OCR识别)
    • 自定义错题标签、管理错题本
  2. 智能院校推荐
    • 查看院校详情 ↔ 查看专业排名
    • 查看分数线、查看报录比数据
    • 获取个性化推荐 ↔ 院校信息检索
  3. 考研学习社区
    • 查看个人历史、浏览信息流
    • 发布帖子(含设置标签)↔ 富文本编辑
    • 删除帖子、点赞帖子、评论帖子、收藏帖子
  4. 即时聊天与社交
    • 好友管理、分享院校信息
    • 实时消息通知 ↔ 一对一好友聊天
    • 分享错题难题
  5. 个性化AI助手
    • 学习规划建议、智能问答
    • 智能对话 ↔ RAG知识检索
    • 操作提示
  6. 管理员端功能
    • 用户管理、帖子审核(AI智能审核 + 人工审核)
    • 数据统计与可视化、AI大模型工具集成

3.2RabbitMQ Topic规划与消息体设计

ExchangeQueueRouting Key用途消息体关键字段
ai.task.exchangeai.task.error-analysistask.error.analysis下发错题分析任务task_id, user_id, question_text, user_answer, correct_answer
ai.result.exchangeai.result.analysisresult.analysis回传分析结果task_id, weak_points[], knowledge_tags[], analysis, recommended_ids[]
ai.task.exchangeai.task.rag-querytask.rag.queryRAG增强问答检索query, user_id, history[], top_k
ai.task.exchangeai.task.knowledge-graphtask.knowledge.graph知识图谱生成user_id, error_topics[]

3.3 幂等性与可靠性保障

  • 去重机制:Python消费者根据task_id查询Redis缓存,若已处理则直接ACK,避免大模型重复计费。
  • 死信队列(DLQ):解析失败或LLM连续超时3次的消息路由至ai.task.dlq,供运维人工介入。
  • RabbitMQ配置publisher confirms+mandatory flag确保消息不丢失;manual ack配合业务逻辑保障至少一次消费。

四、知识图谱生成策略

对知识图谱的可视化进行了初步思索:

# 知识图谱生成伪代码 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}

五、总结

本周以准备工作为主,目前主要完成了:

  • 微服务架构设计文档与技术选型讨论
  • 搭建Python 3.10 + FastAPI + LangChain的开发环境,解决依赖冲突
  • 协助配置RabbitMQ容器化部署与网络规则
  • 定义RabbitMQ Topic规划与消息体JSON Schema,完成Pydantic/DTO契约对齐
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 18:14:23

如何快速上手RVC:10分钟打造专属AI语音模型的终极指南

如何快速上手RVC&#xff1a;10分钟打造专属AI语音模型的终极指南 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Convers…

作者头像 李华
网站建设 2026/4/14 18:14:19

EldenRingSaveCopier:艾尔登法环存档备份与迁移的终极解决方案

EldenRingSaveCopier&#xff1a;艾尔登法环存档备份与迁移的终极解决方案 【免费下载链接】EldenRingSaveCopier 项目地址: https://gitcode.com/gh_mirrors/el/EldenRingSaveCopier 在交界地奋战数百小时后&#xff0c;你是否曾因存档损坏或设备更换而面临进度丢失的…

作者头像 李华
网站建设 2026/4/14 18:14:10

OmenSuperHub:惠普游戏本性能优化的开源解决方案

OmenSuperHub&#xff1a;惠普游戏本性能优化的开源解决方案 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度&#xff0c;自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在为惠普OMEN游戏本官方软件的臃肿体积和频…

作者头像 李华
网站建设 2026/4/14 18:13:51

RTK:用 Rust 打造的 CLI 输出 Token 压缩神器,LLM 开发成本直降 80%

在大模型辅助开发的日常场景中&#xff0c;你是否经常因为把 git log、cargo test、docker ps 等 CLI 命令输出粘贴到对话框&#xff0c;导致 Token 瞬间爆炸&#xff1f;本文介绍的 RTK&#xff08;Rust Token Killer&#xff09; 正是解决这一痛点的利器——一款基于 Rust 的…

作者头像 李华