MalenaPS/llm-systems-reliability-lab
GitHub: MalenaPS/llm-systems-reliability-lab
一个用于评估LLM流水线可靠性与安全性的可复现测试平台,支持故障注入、红队对抗测试和模型漂移监控。
Stars: 0 | Forks: 0
# LLM 系统可靠性实验室



构建可靠的 LLM 系统:评估、对抗性测试、行为漂移监控和确定性流水线。
## 快速演示
运行确定性流水线:
```
python -m llm_lab.cli demo --backend mock
```
示例输出:
```
schema_compliance_rate: 1.0
tool_success_rate: 1.0
success_rate: 1.0
```
本仓库提供了一个**用于评估基于 LLM 的流水线可靠性与安全性的可复现测试平台**。\
它模拟了一个生产环境下的 LLM 系统(RAG + 工具 + 策略),并衡量其在故障、攻击和模型变更下的行为表现。
其目标是使 **LLM 可靠性变得可衡量且可复现**。
# 为什么这很重要
LLM 系统在生产环境中失败主要有四个原因:
* **可靠性故障** —— 工具失效,输出违反约定。
* **安全漏洞** —— 提示词注入 (Prompt Injection) 或工具劫持。
* **模型漂移** —— 行为随模型更新而变化。
* **缺乏可复现性** —— 缺乏确定性产物或运行清单。
本项目提供了一个**用于测试和衡量这些风险的最小化开源实验室**。
# 功能特性
* 契约优先的 LLM 流水线(强制执行 JSON schema)
* 带白名单的工具调用
* RAG 检索(BM25)
* 工具故障注入
* 重试/恢复策略
* 红队对抗性测试
* 跨模型版本的漂移观测台
* 确定性运行清单
* 结构化产物与指标
* 完全可复现的本地设置
# 快速开始(确定性 Mock 后端)
克隆仓库:
```
git clone
cd llm-systems-reliability-lab
```
安装依赖:
```
uv venv
# macOS / Linux
source .venv/bin/activate
# Windows PowerShell
.venv\Scripts\Activate.ps1
uv pip install -e ".[dev]"
```
运行确定性演示:
```
python -m llm_lab.cli demo --backend mock
```
产物将生成在:
```
runs//
```
示例产物:
```
runs/20260305-154606-4c7281d4/
output.json
metrics.json
events.jsonl
run_manifest.json
```
# 运行评估
## 可靠性套件
模拟工具故障并衡量恢复能力。
```
python -m llm_lab.cli eval --suite reliability \
--fault-matrix configs/fault_matrix.yaml
```
输出:
```
runs//reliability_report.json
runs//metrics.json
```
指标包括:
* tool_success_rate
* tool_retry_rate
* recovery_rate
* schema_compliance_rate
## 红队对抗性测试
运行提示词注入和工具劫持攻击。
```
python -m llm_lab.cli redteam --backend mock
```
示例结果:
```
attack_success_rate: 0.0
```
流水线包含泄露检测护栏,可拦截以下机密信息:
```
LEAKED:
```
## 漂移观测台
对比不同版本间的模型行为。
```
python -m llm_lab.cli drift \
--matrix configs/drift_matrix.yaml
```
生成:
```
drift_report.json
drift_report.md
```
示例指标:
* drift_score
* answer_hash_stability_rate
* metric deltas
# 示例输出
示例 `metrics.json`:
```
{
"schema_compliance_rate": 1.0,
"tool_success_rate": 1.0,
"policy_violation_rate": 0.0,
"insufficient_evidence_rate": 0.0,
"success_rate": 1.0,
"citations_valid_rate": 1.0
}
```
示例 `drift_report.json`:
```
{
"drift_score": 0.5,
"answer_hash_stability_rate": 0.0
}
```
# 架构
流水线组件:
```
User Case
|
Eval Runner
|
SUT Pipeline
|
+-------------------+
| Tool Router |
| (JSON schema) |
+---------+---------+
|
Fault Injection
|
+---------+---------+
| Tools (mock) |
+-------------------+
|
+-------------------+
| Retriever (BM25) |
+-------------------+
|
+-------------------+
| LLM Adapter |
| (Mock / Ollama) |
+-------------------+
|
+-------------------+
| Output Validator |
| (schema + policy) |
+-------------------+
```
产物:
```
runs/
run_manifest.json
metrics.json
events.jsonl
output.json
```
# 指标
系统跟踪以下内容:
| 指标 | 描述 |
| -------------------------- | ------------------------------------- |
| schema_compliance_rate | 符合 schema 的输出 |
| tool_success_rate | 成功的工具执行 |
| recovery_rate | 从瞬时故障中恢复 |
| attack_success_rate | 绕过防御的红队攻击 |
| drift_score | 跨模型的指标差异 |
| answer_hash_stability_rate | 行为稳定性 |
# CI
GitHub Actions 流水线运行:
* ruff
* black
* pytest
* 可靠性冒烟测试
# 仓库结构
```
src/llm_lab
pipeline/
tools/
retrieval/
llm/
drift/
redteam/
evals/
configs/
data/
tests/
runs/
```
# 路线图
未来改进:
* 向量检索 (FAISS)
* 从模型输出解析工具调用
* OpenTelemetry 追踪
* 基于模型的评分
* Streamlit 仪表板
# 许可证
Apache License 2.0
Copyright (c) 2026 Malena Pérez Sevilla
根据 Apache License 2.0 版本授权。
您可以在以下位置获取许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
标签:AI安全, AI风险缓解, BM25, Chat Copilot, DLL 劫持, JSON Schema, Lerna, LLM, LLM Pipeline, MLOps, Prompt注入, Python, RAG, Tool-calling, Unmanaged PE, 可靠性测试, 大语言模型, 安全规则引擎, 密码管理, 对抗性测试, 工具劫持防御, 故障注入, 无后门, 检索增强生成, 模型漂移, 测试床, 确定性评估, 策略执行, 系统稳定性