使用说明
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
)
}