# python第2组AI内容审核系统 **Repository Path**: three-gorges-university_11/python2_AI ## Basic Information - **Project Name**: python第2组AI内容审核系统 - **Description**: python第2组AI内容审核系统 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-12 - **Last Updated**: 2026-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 内容审核系统 一个面向内容平台、运营审核和人工辅助复审场景的 AI 内容审核系统。项目采用 **FastAPI 后端 + React/Vite 前端** 架构,支持文本、图片、视频审核、批量审核、实时监测、人工复审、审核记忆、复审撤回、合规报表导出和内置 AI 小助手。 > 正式前端目录为 `Front/jinitaimei/`,后端目录为 `AI/`。 --- ## 1. 功能亮点 ### 内容审核能力 - **文本审核**:输入文本后返回风险等级、标签、置信度和处置建议。 - **图片审核**:支持图片上传,结合 YOLO 分类/检测与 OCR 文本识别进行联合审核。 - **视频审核**:支持视频上传,后端异步任务处理并返回整体风险结果。 - **批量审核**:支持多图片、多视频批量处理,展示任务进度和结果表格。 - **实时监测**:支持配置网页 API,后端自动识别 JSON 中的标题、正文、描述等内容,并通过 SSE 流式审核。 ### 人工复审能力 - **AI 人工复审工作台**:AI 置信度不足或判定不确定的内容进入人工复审队列。 - **违规类型选择**:人工标记违规时可选择涉政、色情、暴恐等违规类型。 - **复审原因修改**:审核员可填写/修改人工复审原因。 - **审核记忆**:人工复审过的文本、图片、视频会被记录;下次遇到完全相同的文件或相似文本时可自动复用结论。 - **复审撤回**:如果人工复审误判,可在合规报表管理页撤回复审,让内容重新进入人工复审队列。 - **训练数据导出**:支持导出人工复审后的图片/视频路径与标签,用于后续模型训练。 ### 内置 AI 小助手 前端右下角内置 AI 小助手悬浮球,点击后打开对话框。 小助手可以帮助使用者: - 了解当前页面的用途。 - 询问某个功能怎么使用。 - 解释审核结果、风险等级、人工复审、报表导出等操作。 - 根据用户所在页面提供快捷问题和更符合实际页面功能的回答。 小助手使用 **DeepSeek API**。如果用户希望启用该功能,需要在前端 `.env` 中配置自己的 DeepSeek API Key。 --- ## 2. 技术栈 ### 后端 - Python 3.10+ - FastAPI - Uvicorn - SQLAlchemy - SQLite - Pydantic - Ultralytics YOLO - OpenCV - Pillow - 智谱 AI SDK ### 前端 - React 19 - Vite - Ant Design 6 - React Router - Zustand - Recharts / ECharts - Framer Motion - DeepSeek Chat API --- ## 3. 项目目录结构 ```text AI Content rewiev system/ ├── AI/ # FastAPI 后端 ├── Front/ │ └── jinitaimei/ # 正式前端工程 ├── YOLOTraining/ # YOLO 训练脚本与说明 ├── TECHNICAL_DOCUMENTATION.md # 完整技术文档 ├── README.md # 使用说明 └── .gitignore ``` 完整架构、数据模型、接口和部署说明请查看: ```text TECHNICAL_DOCUMENTATION.md ``` --- ## 4. 如何从 Gitee 下载项目 ### 4.1 安装 Git 如果本机未安装 Git,请先安装: - Windows: [https://git-scm.com/download/win](https://git-scm.com/download/win) - macOS: [https://git-scm.com/download/mac](https://git-scm.com/download/mac) - Linux: 使用系统包管理器安装,例如 `sudo apt install git` ### 4.2 克隆项目 ```powershell git clone https://gitee.com/go-to-acai-after-work/jinitaimei.git cd jinitaimei ``` 如果项目功能在 `feature/fullstack-current-project` 分支,请执行: ```powershell git checkout feature/fullstack-current-project git pull ``` --- ## 5. 环境准备 请先安装以下环境: | 环境 | 推荐版本 | 用途 | |---|---|---| | Python | 3.10+ | 运行 FastAPI 后端 | | Node.js | 20+ | 运行前端 Vite 项目 | | npm | Node.js 自带 | 安装前端依赖 | | Git | 最新稳定版 | 下载和更新项目 | 查看版本: ```powershell python --version node -v npm -v git --version ``` Windows 上如果有多个 Python 版本,推荐使用: ```powershell py -3.10 --version ``` --- ## 6. 后端环境配置与启动 ### 6.1 进入后端目录 ```powershell cd "你的项目路径\jinitaimei\AI" ``` 例如: ```powershell cd "D:\AI Content rewiev system\AI" ``` ### 6.2 创建虚拟环境(推荐) ```powershell py -3.10 -m venv .venv .\.venv\Scripts\activate ``` ### 6.3 安装后端依赖 ```powershell py -3.10 -m pip install --upgrade pip py -3.10 -m pip install -r requirements.txt ``` 如果需要 OCR 相关能力,可继续安装: ```powershell py -3.10 -m pip install -r requirements-ocr.txt ``` ### 6.4 配置后端环境变量 复制示例配置: ```powershell copy .env.example .env ``` 编辑 `AI/.env`: ```env APP_NAME=AI内容审核系统 APP_VERSION=1.0.0 API_PREFIX=/api/v1 DATABASE_URL=sqlite:///./storage/audit.db ZHIPUAI_API_KEY=你的智谱AI密钥 ZHIPUAI_MODEL=glm-4-flash YOLO_MODEL_PATH=./models/yolo/weights/yolov8n.pt YOLO_CONFIDENCE_THRESHOLD=0.35 DEBUG=true ``` 说明: - `DATABASE_URL` 默认使用 SQLite,本地启动无需额外安装数据库。 - `ZHIPUAI_API_KEY` 用于文本审核大模型能力;如果不配置,文本大模型能力可能无法正常调用。 - `YOLO_MODEL_PATH` 指向图片/视频审核模型权重。项目不会提交大模型权重,用户需要根据实际需要自行放入权重文件。 ### 6.5 模型权重准备 默认模型路径: ```text AI/models/yolo/weights/yolov8n.pt ``` 如果你有自己的训练权重,请放到: ```text AI/models/yolo/weights/ ``` 然后在 `AI/.env` 中修改: ```env YOLO_MODEL_PATH=./models/yolo/weights/你的模型.pt ``` 注意:模型权重文件通常较大,仓库默认不会上传 `.pt`、`.onnx`、`.engine` 文件。 ### 6.6 启动后端 ```powershell py -3.10 -m uvicorn app.main:app --host 127.0.0.1 --port 8000 --reload ``` 启动成功后访问: ```text 接口文档:http://127.0.0.1:8000/docs 健康检查:http://127.0.0.1:8000/health ``` 健康检查返回: ```json { "status": "ok", "message": "服务运行正常" } ``` --- ## 7. 前端环境配置与启动 ### 7.1 进入前端目录 ```powershell cd "你的项目路径\jinitaimei\Front\jinitaimei" ``` 例如: ```powershell cd "D:\AI Content rewiev system\Front\jinitaimei" ``` ### 7.2 安装前端依赖 ```powershell npm install ``` ### 7.3 配置前端环境变量 复制示例配置: ```powershell copy .env.example .env ``` 编辑 `Front/jinitaimei/.env`: ```env VITE_API_BASE_URL=http://127.0.0.1:8000 VITE_DEEPSEEK_API_KEY=你的DeepSeek_API_Key ``` #### 是否必须配置 DeepSeek API Key? 不是所有功能都必须配置。 | 配置项 | 是否必需 | 影响 | |---|---|---| | `VITE_API_BASE_URL` | 必需 | 前端请求后端 API,需要正确配置 | | `VITE_DEEPSEEK_API_KEY` | 可选,但启用 AI 小助手时需要 | 不配置时,右下角 AI 小助手无法正常回答问题 | 也就是说: - 如果只使用文本/图片/视频审核、人工复审、报表等系统功能,必须配置 `VITE_API_BASE_URL`。 - 如果想使用右下角内置 AI 小助手,需要额外配置自己的 DeepSeek API Key。 DeepSeek API Key 需要用户自行到 DeepSeek 平台申请。 ### 7.4 启动前端开发服务 ```powershell npm run dev ``` 启动后访问: ```text http://localhost:5173 ``` 如果 Vite 使用了其他端口,请以终端输出为准。 ### 7.5 前端生产构建 ```powershell npm run build ``` 构建产物位于: ```text Front/jinitaimei/dist/ ``` 本仓库默认不提交 `dist`。 --- ## 8. 推荐启动顺序 建议先启动后端,再启动前端。 ### 第一步:启动后端 ```powershell cd "D:\AI Content rewiev system\AI" .\.venv\Scripts\activate py -3.10 -m uvicorn app.main:app --host 127.0.0.1 --port 8000 --reload ``` ### 第二步:启动前端 另开一个终端: ```powershell cd "D:\AI Content rewiev system\Front\jinitaimei" npm run dev ``` ### 第三步:打开浏览器 ```text http://localhost:5173 ``` --- ## 9. 首次使用流程 1. 打开前端页面。 2. 登录系统。 3. 进入“审核总览看板”查看总体状态。 4. 进入“文本审核”“图像审核”或“视频审核”上传内容。 5. 如果内容进入待复审,进入“AI 人工复审工作台”处理。 6. 如果人工复审误判,进入“合规报表管理”撤回复审。 7. 需要存档时,在“合规报表管理”下载 CSV 报表。 8. 如果不知道某个页面怎么用,点击右下角 AI 小助手进行询问。 --- ## 10. 页面功能说明 ### 审核总览看板 展示审核总量、风险分布、审核趋势、最新审核记录和效率指标。 ### 文本审核 用于单条文本内容审核。输入文本后点击开始审核,系统返回风险等级、标签、置信度和原因说明。 ### 图像审核 用于图片上传审核。系统会展示原图、标注图、风险等级、置信度、检测标签和 OCR 识别风险。 ### 视频审核 用于视频上传审核。视频会创建后台任务,处理完成后返回审核结论。 ### 批量任务管理 用于批量上传图片或视频。支持查看处理进度、成功数、失败数和结果表格。 ### 实时监测 用于接入外部网页 API,后端自动识别可审核文本内容,并进行实时流式审核。 ### 审核规则配置 用于配置 AI 审核阈值、敏感词和不同风险等级对应的处置策略。 ### 多语言审核设置 用于选择系统支持的语言类型。 ### AI 人工复审工作台 用于处理 AI 判断不确定的内容。支持查看详情、标记违规、判定正常、选择违规类型、修改复审原因、批量复审和自动写入审核记忆。 ### 合规报表管理 用于查看所有审核记录,支持查看详情、下载 CSV 报表和撤回错误的人工复审结论。 ### 内置 AI 小助手 右下角圆球即 AI 小助手。点击后可打开对话框。 小助手能力: - 识别用户当前所在页面。 - 根据页面功能回答“这个页面是干什么的”。 - 回答“这个功能怎么用”。 - 解释风险等级、复审流程、撤回功能、报表导出等问题。 - 提供当前页面快捷提问。 需要配置: ```env VITE_DEEPSEEK_API_KEY=你的DeepSeek_API_Key ``` 如果不配置 DeepSeek API Key,小助手界面仍会显示,但发送问题后无法正常获得 AI 回复。 --- ## 11. 后端 API 概览 | 方法 | 路径 | 说明 | |---|---|---| | GET | `/health` | 健康检查 | | GET | `/api/v1/stats/overview` | 统计概览 | | GET | `/api/v1/contents` | 审核记录列表 | | GET | `/api/v1/contents/{id}` | 审核记录详情 | | POST | `/api/v1/audit/text` | 文本审核 | | POST | `/api/v1/audit/batch/text-file` | 文本文件批量审核 | | POST | `/api/v1/audit/image` | 图片审核 | | POST | `/api/v1/audit/video` | 视频审核 | | GET | `/api/v1/reviews/pending` | 待人工复审列表 | | POST | `/api/v1/reviews/{content_id}` | 提交人工复审 | | DELETE | `/api/v1/reviews/{content_id}` | 撤回人工复审 | | GET | `/api/v1/reviews/training-data` | 导出训练数据 | | GET | `/api/v1/reports/export.csv` | 导出 CSV 报表 | 更多接口和字段说明请访问: ```text http://127.0.0.1:8000/docs ``` --- ## 12. 运行数据和文件存储 后端运行时会生成: ```text AI/storage/ ├── audit.db # SQLite 数据库 ├── uploads/ # 用户上传文件 ├── annotated/ # 标注图片 └── reports/ # 报表文件 ``` 该目录默认不会提交到 Git。 图片、视频访问通过后端静态资源路径: ```text /storage/... ``` --- ## 13. 模型和训练说明 项目包含 `YOLOTraining/` 目录,用于模型训练脚本管理。 包含: - 数据集准备脚本 - 数据增强脚本 - 分类预测脚本 - 训练启动脚本 - 训练依赖清单 不包含: - 大体积模型权重 - 训练输出 `runs` - 中间日志文件 这些内容已通过 `.gitignore` 排除。 如果需要训练或替换模型,请参考: ```text YOLOTraining/README.md TECHNICAL_DOCUMENTATION.md ``` --- ## 14. 常见问题 ### 下载后启动失败,提示找不到依赖 后端请确认已经执行: ```powershell py -3.10 -m pip install -r requirements.txt ``` 前端请确认已经执行: ```powershell npm install ``` ### 前端请求失败 检查: - 后端是否启动。 - 后端地址是否为 `http://127.0.0.1:8000`。 - 前端 `.env` 中 `VITE_API_BASE_URL` 是否正确。 ### AI 小助手不能回答 检查: - 是否配置 `VITE_DEEPSEEK_API_KEY`。 - DeepSeek API Key 是否有效。 - 浏览器是否能访问 DeepSeek API。 - 修改 `.env` 后是否重启了前端服务。 ### 文本审核不能调用大模型 检查后端 `AI/.env`: ```env ZHIPUAI_API_KEY=你的智谱AI密钥 ``` 没有配置或 Key 无效时,大模型文本审核可能失败。 ### 图片或视频审核模型找不到 检查 `AI/.env`: ```env YOLO_MODEL_PATH=./models/yolo/weights/你的模型.pt ``` 并确认该文件真实存在。 ### 前端页面没有显示新功能 请重新启动前端并强制刷新浏览器: ```powershell npm run dev ``` 浏览器执行: ```text Ctrl + F5 ``` --- ## 15. Git 提交说明 仓库不会提交以下内容: - `.env` 密钥文件 - `node_modules` - `dist` - `AI/storage` - 数据库文件 - 上传文件 - 大模型权重 - 训练输出 - 日志文件 这可以避免泄露 API Key、用户数据或提交超大文件。 --- ## 16. 推荐阅读顺序 如果你是使用者: 1. 阅读本 README。 2. 按“环境准备”“后端启动”“前端启动”完成本地运行。 3. 访问前端页面开始使用。 4. 遇到不会用的功能,点击右下角 AI 小助手提问。 如果你是开发者: 1. 阅读 `TECHNICAL_DOCUMENTATION.md`。 2. 查看 `AI/app/api` 和 `AI/app/services`。 3. 查看 `Front/jinitaimei/src/pages`。 4. 根据需要扩展模型、规则或页面。 ## 许可证 本项目当前未单独声明许可证,如需开源或对外分发,请先补充许可证文件。