RagGuard 是面向 JVM 的 RAG 质量保障框架:把 RAG 评估写成单元测试,质量回退直接挡住合并。Java 生态只有"搭 RAG"的框架,RagGuard 补上"验证 RAG"这一层。
核心功能:
四个核心指标(Ragas 论文定义,0~1 计分):忠实度(幻觉检测)、答案相关性(是否答非所问)、上下文召回率(检索漏没漏)、上下文精确率(排序质量)。
LLM-as-Judge:温度 0 + JSON 结构化输出,按原子论断逐条判定,可选多数投票,分数可下钻到单条理由;严格区分低分(质量回退)与 JUDGE_FAILED(环境问题),CI 质量门才可信。
JUnit 5 扩展:@RagTest 声明被测链路与 judge,RagAssertions 一行写质量门,失败信息带逐条下钻。
Spring Boot Starter:有 Spring AI ChatModel 即自动装配,用户只需定义 RagChain Bean;ragguard.* 配置测试集、指标子集、并行度、报告目录。
HTML 报告:单文件自包含,每题得分 + 下钻,与上次运行 diff,跨运行趋势图。
测试集生成:从文档自动生成 QA 候选,两级去重(文本 + embedding),人工确认后直接用。
Judge 缓存:按(模型、prompt 版本、输入哈希)缓存判定响应,未变化条目成本归零。
双生态适配:Spring AI 与 langchain4j 共用 prompt 与解析器,分数可跨生态比较。
GitHub Action:PR 自动评估,回退拦合并,评论指标摘要。
无框架核心:core 仅依赖 SnakeYAML,引擎并发 4,结果保持测试集顺序。
点击空白处退出提示









评论