跳转至

AI 建议设计

1. 功能概述

AI 建议模块基于现有的 LLM 模型,并通过 Dify 平台进行构建和部署,旨在为排课系统提供智能优化和辅助决策支持。模块通过知识库训练和流程编辑,结合用户数据和业务规则生成个性化的排课优化建议。其主要功能包括:

  • 利用 LLM 提供多维度的智能排课建议。
  • 通过知识库实现行业规则的动态学习与更新。
  • 结合用户输入生成个性化的排课调整方案。
  • 支持多模型协同(不同任务分配给不同模型)以优化处理流程。

2. 系统架构

2.1 模块划分

  1. 知识库模块

    • 存储业务规则和用户调整偏好,用于定制化模型训练。
    • 结合 Dify 的向量检索功能,提升知识的调用效率。
  2. 模型集成模块

    • 使用 Dify 平台部署不同模型(如 GPT、LLama)处理具体任务。
    • 支持多模型间任务分配与结果聚合。
  3. 优化建议生成模块

    • 基于 LLM 和上下文数据,动态生成冲突解决方案和优化建议。
    • 支持自然语言输入和多轮交互。
  4. 交互与反馈模块

    • 提供用户接口展示建议内容,并支持调整参数。
    • 收集用户反馈用于优化模型和知识库。

3. 设计目标与约束条件

3.1 设计目标

  1. 个性化:建议内容需基于用户习惯和排课历史进行定制化生成。
  2. 高效性:优化生成速度,支持快速交互和多轮次调整。
  3. 可扩展性:支持不同 LLM 模型间的协作,满足复杂任务的多样化需求。

3.2 数据与知识库约束

  1. 业务规则知识库

    • 存储内容:课程安排规则、冲突解决策略、排课优先级等。
    • 更新方式:支持用户手动上传规则或通过交互式训练动态更新。
  2. 上下文输入

    • 基于 cs_class_assignmentcs_course_library 和其他数据库表的数据作为上下文输入。
    • 输入数据结构需满足一致性(如时间格式、唯一标识符)。
  3. 数据敏感性

    • 确保用户数据和排课方案的隐私性,需对传递到模型的数据进行脱敏处理。

4. 核心功能设计

4.1 知识库集成

  • 知识库结构

    • 使用 Dify 的向量检索功能存储规则和方案。
    • 数据格式:JSON 或嵌入向量(Embeddings)。
    • 示例: json { "rule_id": "R001", "description": "实验课必须分配至实验室", "priority": "high" }
  • 训练与更新

    • 通过用户上传规则或交互式反馈,定期更新知识库。
    • 支持批量导入业务规则,自动生成嵌入向量。

4.2 模型工作流设计

  • 流程编辑

    • 使用 Dify 的流程编辑器为不同任务分配模型。
    • 示例任务分配:
      1. 冲突检测:使用轻量化模型(如 LLama)分析排课冲突。
      2. 优化建议生成:使用大模型(如 GPT-4)生成自然语言优化建议。
      3. 知识检索:通过向量检索模型调用业务规则。
  • 模型间协作

    • 模型 A:负责冲突检测并返回冲突点。
    • 模型 B:根据冲突点调用知识库生成优化建议。
    • 模型 C:整合建议并生成最终输出。

4.3 优化建议生成

  • 输入格式

    • 用户上下文(如课程、时间段、教师信息)。
    • 示例: json { "course": "计算机科学导论", "teacher": "张三", "time": "Monday 8:00-9:30", "classroom": "实验室A" }
  • 输出格式

    • 优化方案和逻辑说明。
    • 示例: json { "suggestion": "将‘计算机科学导论’调整至实验室B,时间改为 Monday 10:00-11:30。", "reason": "避免实验室A在 Monday 8:00-9:30 出现冲突。" }

5. 用户交互设计

5.1 可视化界面

  • 优化建议展示

    • 列表形式展示所有建议,按冲突优先级排序。
    • 提供每条建议的逻辑说明(如为何调整、如何优化)。
  • 多轮交互

    • 支持用户通过自然语言调整建议,例如:
      • 用户输入:将实验室换成容量更大的教室。
      • 模型响应:已将课程调整至多媒体教室C(容量 100 人)。

5.2 模拟调整

  • 支持用户选择建议并预览调整效果。
  • 提供“应用调整”和“撤销调整”功能。

6. 测试与优化

6.1 测试场景

  1. 功能测试

    • 验证知识库检索是否准确。
    • 验证生成建议是否符合业务规则。
  2. 性能测试

    • 测试不同模型协作下的响应速度。
    • 在大规模数据输入下验证模型效率。
  3. 用户反馈测试

    • 收集用户对建议合理性的评分。
    • 根据评分优化模型的生成逻辑。

6.2 优化方向

  • 基于用户反馈对知识库内容进行补充和修正。
  • 动态调整不同任务的模型分配策略(如更高效模型处理简单任务)。

7. 部署与维护

7.1 部署架构

  • Dify 平台:用于模型部署与流程管理。
  • 后端服务
    • 提供 API 接口供前端调用。
    • 使用 Redis 缓存优化知识库查询效率。
  • 数据库
    • MySQL:存储基础业务数据。
    • 向量数据库(如 Milvus):存储知识库嵌入向量。

7.2 维护计划

  • 定期更新模型版本,确保最佳性能。
  • 收集用户操作日志,优化建议生成逻辑。
  • 定期清理和更新知识库数据,删除过期规则。

8. 总结

本设计文档基于现有的 LLM 模型和 Dify 平台,详细描述了 AI 建议模块的设计架构、核心功能及交互逻辑。通过知识库与多模型协作,实现了排课系统的智能优化建议功能,有效提升排课效率和用户体验。