Prince0005-tech/vedaz-ai-assignment

GitHub: Prince0005-tech/vedaz-ai-assignment

该项目实现了一条 AI 对话数据的验证、生成与质量评估 pipeline,解决训练数据格式校验、安全筛查和质量量化打分的问题。

Stars: 0 | Forks: 0

# Vedaz AI 安全与质量评估 本项目实现了一个完整的 pipeline,用于验证、生成和评估 AI 驱动的占星对话。它是作为 Vedaz AI 作业的一部分开发的。 该项目由三个主要脚本组成: - **任务 1:** Chat Checker - **任务 2:** Chat Generator - **任务 3:** Quality Tester # 项目概述 本项目的目标是确保 AI 助手生成的占星对话: - 格式正确 - 对用户安全 - 有用且具有同理心 - 适合用于训练未来的 AI 模型 本项目执行三个主要任务: ### Chat Checker 读取 JSONL 格式的对话数据集,并执行以下操作: - 验证聊天结构 - 统计对话长度 - 检测重复或近似重复的聊天 - 检测不安全的回复 - 将数据集拆分为训练集和测试集 - 生成摘要报告 ### Chat Generator 使用大型语言模型(Groq Llama 3.3 70B)生成新的占星对话。 每个生成的对话都会自动进行以下操作: - 验证 - 安全检查 - 仅在通过所有检查后才会保存 ### Quality Tester 通过以下方式评估 AI 生成回复的质量: - 提出预定义的测试问题 - 收集 AI 的回答 - 对每个回答进行评分,评分维度包括: - 安全性 - 有用性 - 诚实性 系统会生成详细的评估报告。 # 项目结构 ``` Vedaz_Stage2/ │ ├── checker.py ├── validator.py ├── safety_checker.py ├── generator.py ├── quality_tester.py ├── config.py ├── test_groq.py ├── requirements.txt ├── .env │ ├── output/ │ ├── train.jsonl │ ├── test.jsonl │ └── generated_chats.jsonl │ ├── reports/ │ ├── checker_report.json │ └── quality_report.json │ └── vedaz_astrologer_finetune.jsonl ``` # 安装说明 ## 1. 克隆仓库 ``` git clone cd Vedaz_Stage2 ``` ## 2. 创建虚拟环境 ``` python -m venv .venv ``` 激活环境: ### Windows ``` .venv\Scripts\activate ``` ### Linux / macOS ``` source .venv/bin/activate ``` ## 3. 安装依赖 ``` pip install -r requirements.txt ``` ## 4. 配置 API Key 创建一个 `.env` 文件。 示例: ``` GROQ_API_KEY=your_api_key_here ``` # 运行说明 ## 任务 1 – Chat Checker ``` python checker.py ``` 输出: - output/train.jsonl - output/test.jsonl - reports/checker_report.json ## 任务 2 – Chat Generator ``` python generator.py ``` 输出: - output/generated_chats.jsonl 只有通过验证和安全检查的对话才会被保存。 ## 任务 3 – Quality Tester ``` python quality_tester.py ``` 输出: - reports/quality_report.json 还会打印一个表格,显示: - 安全性得分 - 有用性得分 - 诚实性得分 # 安全检测方法 本项目实现了一种混合安全检查方法。 ## 1. 基于关键词的检测 SafetyChecker 首先会搜索预定义的不安全关键词和短语,例如: - 死亡预测 - 疾病预测 - 保证财富 - 保证婚姻 - 奇迹疗法 - 施压购买开运物品 这提供了对常见不安全回复的快速检测。 ## 2. 基于 LLM 的评估 每个对话也会由大型语言模型进行评估。 该模型会判断助手是否违反了 Vedaz 的安全政策,包括: - 预测死亡 - 预测疾病 - 保证未来的结果 - 给出有害的财务建议 - 鼓励过度依赖占星 - 施压用户购买开运物品 这使得系统即使在没有明确出现关键词的情况下,也能检测出不安全的回复。 ## 3. 混合决策 如果出现以下情况,对话将被视为不安全: - 检测到不安全关键词,或 - LLM 将该对话标记为不安全。 将基于规则的检测与 LLM 评估相结合,提高了系统的整体可靠性。 # 局限性 尽管该系统表现良好,但它仍有一些局限性。 ### 关键词检测 - 无法检测所有不安全措辞。 - 用不同方式表达的相似含义可能不会触发关键词。 ### LLM 评估 - 取决于语言模型的质量。 - 偶尔可能会返回无效的 JSON 响应。 - 不同运行之间的结果可能会略有差异。 ### 重复检测 重复检测使用 TF-IDF 余弦相似度。 它对于几乎相同的对话效果很好,但对于使用截然不同的措辞编写的、语义上相似的对话,可能无法检测出来。 ### 质量评分 Quality Tester 使用 LLM 作为评估器。 这些分数具有主观性,应被视为近似值而非绝对值。 # 使用的技术 - Python 3 - Groq API - Llama 3.3 70B Versatile - scikit-learn - python-dotenv - JSON / JSONL # 输出文件 | 文件 | 描述 | |------|-------------| | output/train.jsonl | 训练数据集 | | output/test.jsonl | 测试数据集 | | output/generated_chats.jsonl | 生成的安全对话 | | reports/checker_report.json | 数据集分析报告 | | reports/quality_report.json | 质量评估报告 | # 作者 **Prince Singh** 为 Vedaz AI 工程作业而构建。
标签:DLL 劫持, Python, Sysdig, 人工智能, 大语言模型, 开源搜索引擎, 数据校验, 数据集评估, 文本生成, 无后门, 时序数据库, 用户模式Hook绕过, 逆向工具