# DangKang-v2-Backend **Repository Path**: toyou-managent/DangKang-v2-Backend ## Basic Information - **Project Name**: DangKang-v2-Backend - **Description**: 大模型AI知识库二期项目是在一期基础上进一步扩展的系统,旨在提升知识库的权限管理、文档管理、审批流程、审计日志等功能。该项目将进一步加强大模型的运维和管理能力,并优化用户权限、文档管理与访问控制等模块的可操作性。 本系统基于 Django 后端框架,面向企业级用户提供大规模知识库管理、智能审批与权限控制等服务。 - **Primary Language**: Python - **License**: BSD-3-Clause - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-01-20 - **Last Updated**: 2025-06-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 大模型AI知识库 二期项目 ## 项目背景 大模型AI知识库二期项目是在一期基础上进一步扩展的系统,旨在提升知识库的权限管理、文档管理、审批流程、审计日志等功能。该项目将进一步加强大模型的运维和管理能力,并优化用户权限、文档管理与访问控制等模块的可操作性。 本系统基于 Django 后端框架,面向企业级用户提供大规模知识库管理、智能审批与权限控制等服务。 ## 3. 模块划分与说明 | **模块名称** | **主要功能** | **具体操作** | **潜在问题** | **解决方案** | | ---------------------- | ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | ------------------------------------- | | **1. 用户与角色管理模块** | - 管理用户和角色信息
- 配置和调整用户权限范围
- 支持角色模板和自定义角色功能 | - 添加/修改/删除用户
- 新增角色模板
- 分配和动态调整权限 | - 角色冲突:用户绑定多个角色时权限混乱
- 权限调整影响当前任务 | - 设置权限优先级,冲突时取最高权限
- 提供权限变更日志与审批流程 | | **2. 权限配置与访问控制模块** | - 精准分配文档、知识库的访问权限
- 支持临时权限功能,覆盖动态需求 | - 设置知识库、文档访问权限
- 配置临时高级权限及有效期
- 管控跨部门权限 | - 临时权限滥用:超出合理时间或范围
- 权限设置复杂度高 | - 增加权限审核流程
- 提供权限配置向导,简化操作 | | **3. 知识库与文档管理模块** | - 管理知识库分类结构
- 提供文档上传、删除和标签功能
- 提供高级搜索与筛选 | - 上传/删除文档
- 创建/修改/删除知识库
- 文档分类、标签设置
| - 文档冲突:多版本上传覆盖旧内容 | - 引入版本管理,保留历史版本
| | **4. 知识库变更管理审批模块** | - 发起知识库变更流程
- 研发确认和模型训练
- 管理变更历史与版本控制 | - 提交变更请求
- 确认变更并锁定变更范围
- 更新线上版本,查看历史版本 | - 审批流程卡顿
- 并行变更导致版本冲突 | - 自动化审批提醒
- 设置变更锁,分阶段同步变更结果 | | **5. 系统审计与日志模块** | - 记录用户操作
- 提供操作追溯和异常监控
- 支持审计与归档 | - 记录权限调整、文档操作(粒度——文档名称是否显示)、变更流程日志

- 单个用户(区分用户类型(本部门、临时权限角色))的访问行为(停留时间、提问内容)

- 单个库的访问记录
- 提供日志查询和可视化报表
- 导出 | - 日志量过大:存储和检索效率下降
- 异常行为未及时发现 | - 定期归档旧日志,压缩存储
- 配置实时告警和异常行为监控规则 | | **6. 访问统计与分析模块**(前后台) | - 提供知识库和文档访问数据
- 支持跨角色的访问行为统计与分析 | - 排行榜
- 知识库、 人
- 访问频率、**上传文档数**
- 客户端、话题、知识库(整体、部门内)
- 统计频度:月 | - 数据粒度过大:统计难以量化 | - 设置统计范围和分级视图 | | **7. 互动模块(前台)** | - 对回答进行评价,点赞或者无用;准确或者不准确 | - 用户可以在前台对知识库中的问题回答进行互动,支持点赞和标记为不准确 | - 用户评价主观性强,数据偏差 | - 提供多维度评价体系,结合数据分析优化权重 | --- ## 模块详细说明 ### 1. 用户与角色管理模块 - **功能**:管理系统中的用户和角色信息,支持自定义角色以及角色模板,能够根据实际需求调整用户的访问权限范围。 - **潜在问题**: - 角色冲突:当用户绑定多个角色时,可能出现权限冲突,导致系统误操作。 - 权限调整可能影响到正在进行中的任务。 - **解决方案**: - 设置权限优先级,冲突时优先取最高权限。 - 提供权限变更日志与审批流程,确保变更的透明度。 ### 2. 权限配置与访问控制模块 - **功能**:为用户精细化地配置访问权限,特别是在跨部门、跨角色之间,支持临时权限功能应对动态需求。 - **潜在问题**: - 临时权限滥用:临时权限超出了合理范围或有效期。 - 权限设置可能较为复杂,影响用户体验。 - **解决方案**: - 增加权限审核流程,确保临时权限使用的合理性。 - 提供权限配置向导,简化复杂的操作过程。 ### 3. 知识库与文档管理模块 - **功能**:对知识库进行分类、管理,并提供文档上传、删除和标签管理功能,支持高级搜索与筛选,方便用户快速检索所需资源。 - **潜在问题**: - 文档冲突:在上传新版本时,可能会覆盖旧的文档内容。 - **解决方案**: - 引入版本管理机制,确保历史版本得到保留,避免覆盖和丢失数据。 ### 4. 知识库变更管理审批模块 - **功能**:管理知识库的变更流程,包括变更请求的发起、研发的确认与模型训练的执行等,确保变更过程高效、可控。 - **潜在问题**: - 审批流程可能出现延迟或卡顿,影响变更的及时性。 - 多个并行变更可能会导致版本冲突。 - **解决方案**: - 设置自动审批提醒,避免因流程滞后而导致的延误。 - 设置变更锁定机制,确保变更同步且不冲突。 ### 5. 系统审计与日志模块 - **功能**:记录用户的操作行为,提供可追溯的操作日志,支持异常监控和审计归档,确保安全合规。 - **潜在问题**: - 日志量可能会非常庞大,存储和查询效率会下降。 - 异常行为未能及时发现,可能导致安全问题。 - **解决方案**: - 定期归档并压缩存储旧日志,提高查询效率。 - 配置实时告警和异常行为监控,及时发现并响应问题。 ### 6. 访问统计与分析模块 - **功能**:提供全面的访问统计数据,并支持跨角色、跨部门的访问行为分析,帮助管理层优化知识库的使用效率。 - **潜在问题**: - 数据粒度过大,可能导致统计不精准或分析困难。 - **解决方案**: - 提供灵活的统计范围配置,并使用分级视图帮助更细致的分析。 ### 7. 互动模块(前台) - **功能**:支持用户对知识库中问题的回答进行评价,能够标记为准确、不准确或者进行点赞,提供互动性反馈。 - **潜在问题**: - 用户评价具有主观性,可能导致数据不准确。 - **解决方案**: - 提供多维度的评价体系,结合数据分析进行优化,并赋予合理的评价权重。 --- ## 安装与配置 请按照以下步骤安装和配置系统: 1. 克隆本项目并进入项目根目录: ```bash git clone https://gitee.com/toyou-managent/DangKang-v2-Backend.git cd DangKang-v2-Backend ``` 2. 安装依赖: ```bash pip install -r requirements.txt ``` 3. 检查数据库及ORM变动: ```bash python manage.py makemigrations ``` 4. 配置数据库: ```bash python manage.py migrate ``` 4. 启动开发服务器: ```bash python manage.py runserver ``` 5. 打开浏览器并访问 `http://127.0.0.1:8000/` 查看系统。 --- ## 贡献 如果你希望为 本项目贡献代码,欢迎提交 PR。请遵循以下步骤: 1. Fork 本仓库。 2. 创建一个新的分支 `feature/your-feature`。 3. 提交代码更改并推送到分支。 4. 提交 Pull Request。 --- 如果有任何问题,欢迎联系项目负责人或在 Issues 中提交问题。