LangFair 是一个面向大型语言模型(LLM)用例级偏见与公平性评估的 Python 库。其核心出发点是:静态基准评估往往难以覆盖 LLM 在各种实际应用中的风险,若忽略用例特定提示,可能得出误导性的偏见与公平性结论。因此,LangFair 采用“自带提示(Bring Your Own Prompts, BYOP)”方式,允许用户根据自己的用例定制评估。
主要能力方面,LangFair 关注基于输出的指标,不需要访问模型内部状态,适合治理审计和真实世界测试。它支持的评估指标涵盖多个类别,包括毒性指标(Expected Maximum Toxicity、Toxicity Probability、Toxic Fraction 等)、反事实公平性指标(Strict/W Weak Counterfactual Sentiment Parity、Counterfactual Cosine Similarity Score、Counterfactual BLEU、Counterfactual ROUGE-L 等)、刻板印象指标(Stereotypical Associations、Co-occurrence Bias Score、Stereotype classifier metrics 等)、推荐公平性指标(Jaccard Similarity、Search Result Page Misinformation Score、Pairwise Ranking Accuracy Gap 等)以及分类公平性指标(Predicted Prevalence Rate Disparity、False Negative Rate Disparity、False Omission Rate Disparity、False Positive Rate Disparity、False Discovery Rate Disparity 等)。此外,还提供对抗性红队评估,用于评估最坏情况下的毒性和反事实生成。
使用方式上,用户可从 PyPI 安装最新版本,并建议使用 venv 创建虚拟环境。示例代码展示了如何通过 ResponseGenerator 类结合 LangChain 的 LLM 对象生成响应(例如每个提示生成 25 条响应,符合毒性评估惯例),再分别用 ToxicityMetrics、StereotypeMetrics、CounterfactualGenerator 和 CounterfactualMetrics 计算指标。为简化流程,AutoEval 类可用两行代码完成文本生成和摘要用例的多步评估;SelfEval 类则提供相同评估但无需 LangChain LLM,由用户自行生成响应,构造时检查提示中的受保护属性词、创建反事实提示变体,并通过 get_prompts() 暴露完整提示列表,用户按顺序生成每提示一条响应后传入 evaluate 计算指标。
适用场景包括文本生成、摘要、分类、推荐系统等 LLM 用例的偏见与公平性评估,以及需要治理审计和红队测试的场景。限制方面,官方资料未明确列出具体限制,但强调其指标基于输出,不依赖内部状态;同时评估效果依赖用户提供的提示质量与代表性。项目由 CVS Health 开发并开源,提供文档站点、示例笔记本、研究论文等资源。
分类:根据其明确用途,LangFair 属于 AI 开发平台(ai-frameworks)。