可验证推理 + GraphRAG 的企业级检索智能体
VeriRAG-Agent 是一个融合向量检索 + GraphRAG + 结构化检索的三重检索策略,并使用 Self-RAG 风格的自反思 gating 决定何时/如何检索的企业级 RAG 系统。下游通过 过程奖励模型(PRM)/Verifier 对推理与引用逐步校验,实现可追溯、可验证、抗注入的问答智能体。
- Dense 检索: FAISS/ColBERT 向量检索
- GraphRAG: 社区摘要 + 知识图谱检索
- Structured 检索: Elasticsearch BM25 / PostgreSQL FTS
- 动态决定检索策略和权重
- 基于查询特征自适应调整
- 支持启发式和学习型策略
- 原子事实提取和验证
- Best-of-N with verification
- 证据覆盖率和一致性检查
- Llama Guard 3 内容安全检查
- OWASP LLM Top-10 场景防护
- JSON Schema 强制校验
- 完整的 trace 可追溯
- RAGAS (Faithfulness, Context Precision/Recall)
- Citation Coverage
- QAFactEval / FActScore (可选)
┌─────────────────────────────────────────────────────────────┐
│ 用户查询 │
└────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 安全检查 (Llama Guard 3 + OWASP) │
└────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 自反思 Gating (检索策略决策) │
└────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 三重检索融合 │
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ Dense │ │ Graph │ │ Structured │ │
│ │ (FAISS) │ │ (GraphRAG)│ │ (BM25) │ │
│ └──────────┘ └──────────┘ └──────────────┘ │
└────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ LLM 生成 │
└────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Verifier 验证 (事实一致性) │
└────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 安全检查 + Schema 验证 │
└────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 结构化输出 │
└─────────────────────────────────────────────────────────────┘
cd verirag-agent
# 运行快速开始脚本
bash scripts/quickstart.sh脚本会自动完成:
- ✓ 检查 Python 环境
- ✓ 安装依赖
- ✓ 下载模型 (可选择轻量级或高性能)
- ✓ 创建目录结构
- ✓ 配置环境变量
- ✓ 测试安装
cd verirag-agent
# 使用安装脚本
bash scripts/install.sh
# 或手动安装
pip install -r requirements.txt使用 HF Mirror 加速 (中国大陆推荐):
# 下载所有推荐模型到 models/ 目录
bash scripts/download_models.sh模型对比:
| 方案 | Embedding | Reranker | 大小 | 性能 | 推荐场景 |
|---|---|---|---|---|---|
| 轻量级 | bge-base-zh-v1.5 | bge-reranker-v2-m3 | ~2.6GB | ⭐⭐⭐ | 资源受限 |
| 高性能 | Qwen3-Embedding-8B | Qwen3-Reranker-8B | ~32GB | ⭐⭐⭐⭐⭐ | 生产环境 (Qwen3最新) |
详见 模型配置指南
编辑 configs/app.yaml 配置文件,设置模型、检索器等参数。
# 准备数据到 data/raw/
# 运行 GraphRAG 索引
bash scripts/ingest_graph.sh data/raw/ data/processed/graphrag# 开发模式
bash scripts/run_api.sh dev
# 生产模式
bash scripts/run_api.sh prod
# Docker 模式
bash scripts/run_api.sh dockercurl -X POST http://localhost:8000/query \
-H "Content-Type: application/json" \
-d '{
"query": "什么是 GraphRAG?"
}'运行评测套件:
bash scripts/eval_all.sh configs/eval.yaml data/eval/results --reportverirag-agent/
├── apps/
│ └── rag_api/ # FastAPI 服务
├── packages/
│ ├── retrievers/ # 三重检索器
│ ├── gating/ # 自反思 Gating
│ ├── verifier/ # Verifier/PRM
│ ├── security/ # 安全模块
│ ├── orchestrator/ # LangGraph 编排
│ └── evalsuite/ # 评测套件
├── pipelines/
│ └── graphrag/ # GraphRAG 管道
├── data/
│ ├── raw/ # 原始数据
│ └── processed/ # 处理后数据
├── configs/
│ ├── app.yaml # 主配置
│ ├── schema.output.json # 输出 Schema
│ └── eval.yaml # 评测配置
├── deploy/
│ ├── docker-compose.yml # Docker 编排
│ └── Dockerfile # Docker 镜像
└── scripts/
├── ingest_graph.sh # 图谱构建
├── run_api.sh # 启动服务
└── eval_all.sh # 运行评测
retrieval:
dense:
engine: "faiss" # 或 "colbert"
topk: 8
graph:
enabled: true
topk: 6
structured:
engine: "elasticsearch" # 或 "postgres-fts"
topk: 8gating:
enabled: true
policy_model: "heuristic" # 或 "learned"
default_weights:
dense: 0.4
graph: 0.35
structured: 0.25verification:
enabled: true
candidate_n: 3 # Best-of-N
min_verifier_score: 0.62
max_iterations: 2基于内部测试数据集:
| 指标 | Naive RAG | Hybrid Search | VeriRAG (本方案) |
|---|---|---|---|
| Faithfulness | 0.65 | 0.72 | 0.85 |
| Citation Coverage | 0.58 | 0.68 | 0.82 |
| Context Precision | 0.70 | 0.75 | 0.88 |
- ✅ Llama Guard 3 内容安全分类
- ✅ OWASP LLM Top-10 场景检测
- ✅ Prompt Injection 防护
- ✅ 敏感信息泄露检测
- ✅ JSON Schema 强制校验
MIT License
欢迎提交 Issue 和 Pull Request!