对话漂移量化工具

SecMCP是一个通过潜在多面体量化多轮对话中风险漂移的AI安全分析工具,支持金融问答、多跳推理等场景的风险检测。

  • by ICLR18556
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ICLR18556/SecMCP

使用说明

SecMCP:通过潜在多面体量化MCP中的对话漂移

🗂️ 多数据集支持

  • FinQA:财务问答数据集
  • HotpotQA:多跳推理QA数据集
  • 马可女士:Microsoft搜索排名数据集

系统架构

SecMCP/
├── activations/           
│   ├── generate.py       # Main activation generation script
├── data/           
│   ├── FinQA/
│   ├── HotpotQA/
│   ├── Msmarco/
├── config/             
│   └── models.py         # Model configurations
├── models/               
│   └── model.py          # Base model class
├── training/             
│   ├── dataset.py        # Dataset loaders
│   ├── train_linear_model.py  # Linear classifier training
└── utils/               
    ├── activations.py   # Activation processing utilities

安装和环境设置

使用Conda进行安装

# Create and activate environment
conda env create -f environment.yml
conda activate secmcp

关键依赖关系

  • PyTorch>=1.12.0
  • 变压器>=4.20.0
  • FAISS>=1.7.2
  • scikit学习>=1.1.0
  • NumPy,熊猫,tqdm

快速开始

1.配置风险类型

编辑 SecMCP/CONFIG.py 设置当前分析风险类型:

current_risk = sub_risk[0]  # Options: Data Exfiltration, Hijacking, Misleading

2.生成激活

cd SecMCP/activations
python generate.py --model_name llama3_8b --model_path /path/to/model

3.列车检测器

cd SecMCP/training
python train_linear_model.py

支持的型号

  • LLaMA 3:8B版本
  • 米斯特拉尔:7B版本
  • 无:7B版本

配置选项

模型配置

在中配置模型参数 SecMCP/config/models.py:

models = {
    "llama3_8b": Model(
        name="meta-llama/Meta-Llama-3-8B-Instruct",
        output_dir="/path/to/output",
        data={...},
        subset="train",
        torch_dtype=torch.float16
    )
}