OMCHOKSI108/pralayAI

GitHub: OMCHOKSI108/pralayAI

基于微调开源大模型构建的防御性网络安全聊天机器人,帮助用户学习安全防御知识并辅助事件响应分析。

Stars: 0 | Forks: 0

# 🛡️ PralayAI — 防御性网络安全 AI 助手
**PralayAI** 是一个全栈防御性网络安全聊天机器人,使用经过微调的开源 LLM、FastAPI 后端、PostgreSQL 聊天记录持久化以及基于 Flask 的聊天前端构建。
## 🎬 在线演示

PralayAI Chatbot Demo

## 📌 项目概述 **PralayAI** 是一个专注于网络安全的 AI 助手,旨在帮助学生、开发者和安全学习者了解防御性网络安全工作流程。该项目专注于安全且实用的安全用例,例如事件响应、日志分析、恶意软件防御、云安全、MITRE ATT&CK 解释以及网络安全意识培养。PralayAI 并非一个通用的聊天机器人,而是专门为防御性网络安全教育与分析进行训练和部署的。 该项目通过为用户提供一个统一的 AI 助手,能够解释威胁、总结防御步骤、引导事件响应思维,并以结构化的方式帮助理解安全概念,从而解决了网络安全学习资源分散和手动调查缓慢的问题。该系统包括微调模型、公开的 Hugging Face 推理部署、本地 CUDA 推理支持、生产级 FastAPI 后端、PostgreSQL 存储以及 React Gemini 克隆前端。 ## 🧠 模型架构 PralayAI 使用经过微调的指令遵循语言模型构建。 | 组件 | 详细信息 | | ----------------------- | ------------------------------------------------ | | 基础模型 | `Qwen/Qwen2.5-1.5B-Instruct` | | 微调方法 | Unsloth + QLoRA / LoRA | | Adapter 仓库 | `OMCHOKSI108/Paralay1.1` | | 合并后的模型仓库 | `OMCHOKSI108/Paralay1.1-Merged` | | 数据集 | 网络安全对话指令数据集 | | 主要任务 | 防御性网络安全助手 | | 部署 | 本地 CUDA API + Hugging Face Space CPU API | ### 模型训练流程 ``` flowchart TD A[Cybersecurity Dataset] --> B[Data Cleaning and Message Validation] B --> C[Token Length Analysis] C --> D[Base Model: Qwen2.5 1.5B Instruct] D --> E[QLoRA Fine-tuning with Unsloth] E --> F[LoRA Adapter: OMCHOKSI108/Paralay1.1] F --> G[Merge Adapter with Base Model] G --> H[Merged Model: OMCHOKSI108/Paralay1.1-Merged] H --> I[Local CUDA Inference API] H --> J[Hugging Face Space CPU Inference API] ``` 有关完整的训练详情、notebook 工作流程、数据集加载、模型训练、评估和推送过程,请参见: ``` notebook/PralayModel1_1.ipynb ``` ## 🤗 Hugging Face 详情 ### 数据集 用于模型微调的网络安全数据集: ``` https://huggingface.co/datasets/OMCHOKSI108/cybersecdata ``` ### LoRA Adapter 模型 ``` https://huggingface.co/OMCHOKSI108/Paralay1.1 ``` ### 合并后的完整模型 ``` https://huggingface.co/OMCHOKSI108/Paralay1.1-Merged ``` ### 公开推理 API ``` https://omchoksi108-pralayai-inference-api.hf.space/generate ``` ## 📊 数据集预览 该数据集包含用于微调 PralayAI 以执行防御性网络任务的网络安全隐患对话样本。

PralayAI Dataset Preview

## 🏗️ 完整项目架构 ``` flowchart TD A[React Gemini Clone Frontend] --> B[Main FastAPI Backend] B --> C[PostgreSQL Database] B --> D[Inference API Client] D --> E{Inference Mode} E --> F[Local CUDA Inference API
http://localhost:5000/generate] E --> G[Hugging Face Space CPU API
hf.space/generate] F --> H[PralayAI Merged Model] G --> H[PralayAI Merged Model] H --> I[Defensive Cybersecurity Response] I --> B B --> A ``` ## 🗄️ 数据库架构 后端使用 PostgreSQL 存储对话、消息、模型运行日志和用户反馈。 ``` erDiagram CONVERSATIONS { string id PK string title datetime created_at datetime updated_at } MESSAGES { string id PK string conversation_id FK string role text content datetime created_at } MODEL_RUNS { string id PK string conversation_id FK string provider string model_name string status int latency_ms text error_message datetime created_at } FEEDBACK { string id PK string message_id FK int rating text comment datetime created_at } CONVERSATIONS ||--o{ MESSAGES : contains CONVERSATIONS ||--o{ MODEL_RUNS : logs MESSAGES ||--o{ FEEDBACK : receives ``` ## 📈 模型收敛与评估 ### 训练损失

Training Loss Curve

训练损失图展示了模型在监督微调期间的改进情况。目标是在保持响应结构化、有用且符合防御性网络安全行为的同时,尽量降低损失。 ### 模型训练摘要

Model Training Summary

此训练摘要展示了整体的微调行为和训练过程。模型使用 LoRA/QLoRA 进行训练,以便能够在不进行全量模型微调的情况下,高效地对基础模型进行适配。 ### 安全性评估分数

Model Safety Scores

安全性评估非常重要,因为本项目处于网络安全领域。PralayAI 仅专为防御性用途设计,因此模型和后端针对有害请求(如钓鱼、恶意软件创建、凭证窃取、reverse shell 和绕过指导)包含了拒绝行为和安全过滤机制。 ### 自动化 Notebook 评估 位于 `notebooks/modeleval.ipynb` 的交互式评估 notebook 会运行 8 个防御性网络安全查询(事件响应、日志分析、MITRE、供应链、云安全、恶意软件防御、IOC 提取、网络安全)和 5 个对抗性安全提示。它从 HuggingFace 加载合并后的模型,根据关键词覆盖率、结构、深度和拒绝质量对响应进行评分,并打印最终的汇总表。 ``` jupyter notebook notebooks/modeleval.ipynb ``` 选择 **PralayAI (.venv)** 作为内核。 ## ⚙️ 后端概述 后端使用 **FastAPI** 构建,并作为主要的应用层。 后端职责: * 接收来自前端的聊天消息。 * 将对话保存在 PostgreSQL 中。 * 存储用户和助手的消息。 * 应用网络安全安全过滤机制。 * 调用本地或公开的推理 API。 * 保存模型运行日志。 * 返回结构化的 JSON 响应。 * 存储反馈以供未来改进。 主要后端 endpoint: ``` POST /api/chat ``` 请求示例: ``` { "message": "Explain incident response in 5 defensive steps.", "conversation_id": null, "max_new_tokens": 300, "temperature": 0.7, "top_p": 0.9 } ``` 响应示例: ``` { "conversation_id": "uuid", "user_message_id": "uuid", "assistant_message_id": "uuid", "assistant_message": "Incident response includes identification, containment, eradication, recovery, and lessons learned...", "status": "success", "latency_seconds": 4.5, "source": "http://localhost:5000/generate" } ``` ## 🖥️ 前端概述 前端是一个位于 `frontend/` 文件夹中的 **React Gemini 克隆 UI**。 前端的作用: * 提供聊天机器人界面。 * 将用户消息发送到 FastAPI 后端。 * 渲染助手的响应。 * 维护聊天会话状态。 * 显示加载/错误状态。 * 使用 `conversation_id` 保留对话上下文。 前端应仅调用主后端: ``` http://localhost:8000/api/chat ``` 前端不应直接调用 Hugging Face 或暴露任何 Hugging Face token。 ## 🚀 推理选项

PralayAI Inference API FastAPI Docs

### 1. 本地 CUDA 推理 快速的本地推理 endpoint: ``` http://localhost:5000/generate ``` 观察到的性能: ``` ~4.5 seconds device: cuda ``` ### 2. Hugging Face Space CPU 推理 免费的公开推理 endpoint — 无需任何设置: ``` https://omchoksi108-pralayai-inference-api.hf.space/generate ``` 观察到的性能: ``` ~54 seconds device: cpu ``` Hugging Face Space 部署是免费且公开访问的,但由于在 CPU 上运行,因此速度较慢。建议在开发时使用本地 CUDA 推理,在进行公开演示时使用 HF Space。 ## 🚀 运行项目 使用提供的启动脚本一次性启动所有 3 个服务: ``` ./start.sh ``` 这将启动: | 服务 | 端口 | 描述 | | ---------------- | ----- | ----------------------------- | | 推理 API | 5000 | 合并后的模型 (CUDA/CPU) | | 后端 | 8000 | FastAPI 应用 + PostgreSQL | | 前端 | 5173 | React Vite 开发服务器 | 该脚本会自动检测 `gnome-terminal`、`tmux`,或者在后台进程中运行并将日志文件记录到 `logs/` 目录下。 ## 🔐 安全策略 PralayAI 仅适用于防御性网络安全用途。 助手应拒绝或重定向涉及以下内容的请求: * 钓鱼邮件生成 * 凭证窃取 * 键盘记录器代码 * 恶意软件创建 * 勒索软件代码 * Reverse shell payload * 绕过防病毒软件 * 绕过技术 * 未经授权的漏洞利用 * 密码提取 允许的安全用例: * 事件响应 * 日志分析 * 威胁检测 * 防御性解释 * 恶意软件防御 * 云安全最佳实践 * MITRE ATT&CK 映射 * 安全意识培养 * 安全加固指南 ## 🧪 测试命令 ### 测试公开的 Hugging Face 推理 API ``` curl -X POST https://omchoksi108-pralayai-inference-api.hf.space/generate \ -H "Content-Type: application/json" \ -d '{ "prompt": "Explain incident response in 5 defensive steps.", "max_new_tokens": 300 }' ``` ### 测试本地 CUDA 推理 API ``` curl -X POST http://localhost:5000/generate \ -H "Content-Type: application/json" \ -d '{ "prompt": "Explain incident response in 5 defensive steps.", "max_new_tokens": 300, "temperature": 0.7, "top_p": 0.9 }' ``` ### 测试主后端 ``` curl -X POST http://localhost:8000/api/chat \ -H "Content-Type: application/json" \ -d '{ "message": "Explain incident response in 5 defensive steps.", "max_new_tokens": 250 }' ``` ## 📁 项目结构 ``` PralayAI/ ├── frontend/ │ └── React Gemini clone frontend │ ├── backend/ │ ├── app/ │ │ ├── main.py │ │ ├── config.py │ │ ├── database.py │ │ ├── models/ │ │ ├── schemas/ │ │ ├── routes/ │ │ └── services/ │ ├── requirements.txt │ └── README.md │ ├── model_ops/ │ ├── MergeModel.py │ ├── deploy_space.py │ └── hf_space_inference_api/ │ ├── notebook/ │ └── PralayModel1_1.ipynb │ ├── docs/ │ ├── pralay.gif │ ├── inference_fastapi.png │ ├── dataset.png │ ├── training_loss.png │ ├── model_training.png │ └── model_safety_scores.png │ ├── .claude/ ├── CLAUDE.md ├── README.md └── .env ``` ## ✅ 已完成的工作 * 使用 QLoRA 微调了网络安全助手模型。 * 创建了 LoRA Adapter 模型。 * 将 Adapter 与基础模型合并。 * 将合并后的模型推送到了 Hugging Face。 * 构建了本地 CUDA 推理 API。 * 部署了免费的 Hugging Face Space 推理 API。 * 构建了 FastAPI 后端结构。 * 添加了用于对话和反馈的 PostgreSQL schema。 * 准备了用于后端集成的 React Gemini 克隆前端。 * 添加了 Claude 工作区说明和项目规则。 ## 🎯 我们的目标 PralayAI 的目标是成为一个实用的防御性网络安全 AI 助手,能够帮助用户安全地学习、分析和应对网络威胁。该项目旨在将模型微调、真实推理部署、后端持久化和整洁的前端结合为一个端到端的 AI 系统。 未来的改进可能包括: * 更好的安全对齐 * 更强的拒绝微调 * 结合网络安全文档的 RAG * 用户身份验证 * 管理仪表板 * 基于反馈的模型改进 * 更快的 GPU 部署 * 对话搜索 * 安全报告生成 * 更多评估指标 ## 👨‍💻 作者 **Om Choksi** 项目:**PralayAI** 领域:**AI + 网络安全 + 全栈工程**
PralayAI — 一个使用微调 LLM、FastAPI、PostgreSQL、Hugging Face 和 React 构建的防御性网络安全助手。
标签:AV绕过, BurpSuite集成, DLL 劫持, FastAPI, IaC 扫描, React, Syscalls, Vectored Exception Handling, 大语言模型, 库, 应急响应, 微调, 测试用例, 网络安全助手, 逆向工具, 防御性安全