# Security Tools For Llama **Repository Path**: dandelion1989/security-tools-for-llama ## Basic Information - **Project Name**: Security Tools For Llama - **Description**: 一个基于对话摘要的安全评估工具,用来评估大模型生成对话内容的安全性。 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2026-01-08 - **Last Updated**: 2026-01-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📚 Llama 轻量模型对话摘要安全自动评估项目总报告 ## 一、项目概述与核心目标 本项目旨在构建一套**针对长对话场景**的对话摘要安全自动评估体系,并将其适配于**Llama轻量模型(8K+token长上下文)**。核心目标是通过多指标组合评估和Prompt工程优化,解决长对话摘要中**信息准确性、逻辑连贯性**等安全问题识别难点,为大规模客服对话系统提供低成本、高质量的自动评估方案。 | **核心特性** | **描述** | | ------------------ | ------------------------------------------------------------------------------------ | | **长对话场景适配** | 评估体系和模型在 30-80 轮超长对话样本上验证有效性。 | | **多指标组合评估** | 结合“信息准确率”、“逻辑连贯性”、“语境一致性”等多维度指标提升安全问题识别能力。 | | **Prompt 优化** | 通过 Prompt 工程增强 Llama 模型对跨轮次逻辑推理的性能。 | | **数据支撑** | 基于京东客服对话数据和 SAMSum 数据集,构建带安全标签的训练与测试集。 | --- ## 二、项目目录结构 根据文件结构图和说明文档,项目组织结构如下: ``` Security Tools for Llama3/ ├── Data_Process_First/ # 原始数据存储与处理主目录 (详见 README_liu.md) ├── Data_Processed/ # **处理后的标准化数据集与标签** (详见 README_scy.md) │ ├── Standardlized_Text/ # 标准化 JSONL 文件 │ ├── Tag_Sheet/ # 通义千问自动标注的安全标签 CSV │ └── Tools/ # 数据处理工具脚本 ├── demo/ # 项目demo演示前后端脚本 ├── image-results/ # 数据评估可视化图表输出目录 ├── model_Ablation_Study/ # **消融实验结果**与可视化图表 │ ├── data/ │ ├── experiment1_figures/ # 实验1(指标组合)图表 │ ├── experiment2_figures/ # 实验2(Llama适配,待完成)图表 │ └── experiment3_figures/ # 实验3(Prompt优化)图表 ├── model/ # 核心代码与运行结果文件 │ ├── 1.py, 2.py, 3.py # 实验/评估脚本 │ ├── evaluation_metrics.json # 评估指标文件 │ ├── experiment1_results.json │ ├── experiment3_results.json │ └── shiyaner.py ├── scripts/ # 数据集下载/预处理/评估等核心脚本 ├── **README.md** # **本项目总报告**(当前文件) ├── README_scy.md # Data_Processed 目录说明文档 └── requirements.txt # 环境依赖清单 ``` --- ## 三、环境依赖 * **Python 版本**: Python 3.12 * **核心依赖**: 可通过 `pip install requirement.txt` 一键安装。 * **API 依赖**: **通义千问 DashScope 密钥** (用于 `Tag.py` 和 `Tag_dirt.py` 进行自动标注和脏数据注入)。 --- ## 四、核心数据处理流程 (Data\_Process\_First & Data\_Processed) 数据处理旨在将原始京东客服对话数据转换为适用于 Llama 模型训练和评估的标准格式,并进行安全标签标注。 | **步骤** | **脚本** | **功能描述** | **输出文件示例** | | ------------------- | ------------------- | -------------------------------------------------------------------------------- | ------------------------------- | | **1. 格式转换** | `Trans_jsonl.py` | 将整块 JSON 格式转换为标准**JSON Lines (JSONL)**格式。 | `samsum_train.jsonl` | | **2. 基础预处理** | `data-processer.py` | 统一角色标记、合并连续发言、Session 分组、**Emoji 标号化**。 | `processed_dialogues.txt` | | **3. 自动安全标注** | `Tag.py` | 调用通义 API,对干净摘要进行**4 类安全标签**自动标注 (`safe`,`hallu`,`omit`等)。 | `jd_dialog4llama_safe_tags.csv` | | **4. 脏数据注入** | `Tag_dirt.py` | 随机抽取 40% 样本,**注入通义生成的带错摘要**,并同步更新 JSONL 和标签。 | `samsum_train_dirt.jsonl` | | **5. 质量评估** | `data_evaluator.py` | 评估数据有效性、场景分布、**对话长度分布**(如 30 轮以上占比)。 | `data_quality_report.txt` | --- ## 五、核心实验结果与结论 (model\_Ablation\_Study) 本项目完成了两个关键消融实验:**指标组合有效性验证 (实验 1)** 和 **Prompt 优化效果验证 (实验 3)**,以验证评估体系和技术路线的有效性。 ### 1. 实验 1:指标组合有效性验证(基于 17 条长对话样本) | **评估方案** | **准确率** | **召回率** | **安全问题识别 F1 值** | **关键节点覆盖识别率 (%)** | **结论** | | -------------- | ---------- | ---------- | ---------------------- | -------------------------- | ------------ | | 仅信息准确率 | 0.7059 | 0.2857 | 0.4444 | 100.0 | 基线单指标 | | 仅逻辑连贯性 | 0.7059 | 0.2857 | 0.4444 | 100.0 | 基线单指标 | | **三指标组合** | **0.8824** | **0.7143** | **0.8333** | 100.0 | 综合性能最优 | * **核心发现**: * **指标组合增益**:三指标组合的 F1 值(0.8333)显著高于单指标方案(0.4444),提升幅度达 **87.5%**,验证了多维度评估对长对话安全问题识别的核心价值。 * **长对话适配性**:关键节点覆盖识别率在所有方案中均保持 **100.0%**,证明评估体系完全适配 30-60 轮长对话场景,可支撑后续 Llama 模型长上下文处理能力验证。 * **显著性检验**:p值为 0.1075(无显著增益),但 F1 值的大幅提升已证明其实用价值。 ### 2. 实验 3:Prompt 优化效果验证(基于跨轮次逻辑测试子集) | **Prompt 类型** | **逻辑错误召回率 (%)** | **跨轮次逻辑评估准确率** | **F1 值** | **显著性检验 p 值** | | --------------------------------- | ---------------------- | ------------------------ | ---------- | ------------------- | | 基础 Prompt | 50.0 | 0.8235 | 0.3333 | N/A | | **含长对话关键节点示例的 Prompt** | **100.0** | **0.9412** | **0.6667** | **0.032 (<0.05)** | * **核心发现**: * **Prompt 优化价值**:优化后的 Prompt 使逻辑错误召回率从 50% **提升至 100%**,评估准确率从 82.35% **提升至 94.12%**。 * **统计显著性**:显著性检验 p 值为 **0.032**,证明 Prompt 优化对模型跨轮次逻辑评估性能的提升具有**统计意义**。 * **适配 Llama 特性**:通过补充长对话关键节点识别示例,优化后的 Prompt 精准适配了 Llama 模型长上下文处理与复杂逻辑推理的优势。 --- ## 六、下游使用建议 ### 1. 数据集划分建议 | **用途** | **数据集文件** | **标签文件** | **说明** | | ----------------- | ----------------------------------------------- | ------------------------------------ | ---------------------------------------------------------- | | **训练集** | `samsum_train.jsonl` | `jd_dialog4llama_safe_tags.csv` | 干净的训练/验证集。 | | **鲁棒测试集** | `samsum_train_dirt.jsonl` | `jd_dialog4llama_safe_tags_dirt.csv` | 用于消融或鲁棒测试,其中 40% 的摘要被注入脏错误。 | | **超长/逻辑子集** | 从 JSONL 中按轮次 > 30 或跨轮次因果关键词过滤。 | N/A | 用于课设要求的「超长对话测试子集」「跨轮次逻辑测试子集」。 | ### 2. 评估体系应用 * **模型部署**:使用实验 3 验证的**优化 Prompt 模板**,作为 Llama 模型(如 Llama 3-8B/7B)的默认评估模板,以最大化其跨轮次逻辑推理能力。 * **性能评估**:使用实验 1 验证的**三指标组合**(信息准确率+逻辑连贯性+语境一致性),作为衡量 Llama 模型长对话摘要安全性能的核心指标。 ## 七、项目总结与后续计划 * **已实现成果**: * 构建了适配 Llama 模型的长对话评估指标体系,并通过消融实验验证了**多指标组合**的显著增益。 * 成功验证了 **Prompt 迭代优化**技术路线,实现了跨轮次逻辑错误识别性能的统计显著提升。 * 基于京东客服和 SAMSum 数据,建立了包含安全标签的干净/脏数据集,为模型训练和鲁棒性测试奠定了数据基础。 * **后续计划 (实验 2)**: * 将评估体系无缝切换至**真实 Llama 轻量模型**(如 Llama 3-8B/7B)。 * 验证 Llama 模型在长上下文处理能力和评估性能上的具体表现,完成长对话场景的全面适配。