SuperAPI AI 工具集

uqlm

UQLM 是 CVS Health 开源的 Python 库,用于通过不确定性量化(UQ)检测大语言模型(LLM)输出中的幻觉。它提供响应级、声明级的多种置信度评分器,覆盖黑盒(一致性)、白盒(token 概率)、LLM 评审和集成等类别,支持任意 LangChain 聊天模型,并提供长文本与代码生成场景的专用接口。评分在 0 到 1 之间,越高表示出错或幻觉的可能性越低。该库发布于 PyPI,相关论文发表于 JMLR、TMLR 与 EMNLP。

访问官网

工具介绍

UQLM 是一个用于大语言模型(LLM)幻觉检测的 Python 库,基于不确定性量化(Uncertainty Quantification)技术。它面向需要评估 LLM 输出可靠性的开发者与研究者,提供一套响应级置信度评分器,每个评分器返回 0 到 1 之间的置信度分数,分数越高表示输出出错或幻觉的可能性越低。最新版本可从 PyPI 安装。

【主要能力】 UQLM 将评分器分为若干类型:

  1. 黑盒评分器(基于一致性):通过衡量同一提示多次生成结果之间的一致性来评估不确定性。兼容任意 LLM,无需访问模型内部状态或 token 概率。可用评分器包括:离散语义熵、语义集合数量、非矛盾概率、蕴含概率、精确匹配、BERTScore、余弦相似度,以及通过 CodeGenUQ 提供的代码适配评分器。
  2. 白盒评分器(基于 token 概率):利用 token 概率估计不确定性,支持单次生成评分,比黑盒方法更快、成本更低,但需要访问 LLM 内部概率,因此并非兼容所有 LLM/API。单次生成评分器包括:最小 token 概率、长度归一化序列概率、序列概率、平均 Top-K token 负熵、最小 Top-K token 负熵、概率边际。自反思评分器:P(True)。多次生成评分器:蒙特卡洛序列概率、一致性置信度(CoCoA)、语义熵、语义密度。
  3. LLM-as-a-Judge 评分器:使用一个或多个 LLM 评估原始 LLM 响应的可靠性,可通过提示工程和选择评审 LLM 实现高度定制。包括:分类式 LLM 评审、连续式 LLM 评审、李克特量表 LLM 评审、LLM 评审团(Panel)。
  4. 集成评分器:通过加权平均组合多个单独评分器,产生更稳健的不确定性估计。可固定权重直接使用(无监督),也可训练以获得最优性能(有监督),例如 BS Detector 与有监督 UQ 集成。
  5. 长文本评分器(声明级):以细粒度方式在声明或句子级别评分。它采样同一提示的多个响应,将原始响应分解为声明或句子,评估每个原始声明/句子与采样响应的一致性。评分后可移除置信度低于指定阈值的声明并重建响应,从而提升长文本生成的事实精确度。包括 LUQ 评分器、基于图的评分器、广义长文本语义熵。
  6. 代码生成 UQ:提供 CodeGenUQ 专用接口,用于在不执行代码的情况下预测 LLM 生成代码是否功能正确。包含白盒评分器、基于功能等价性的代码适配黑盒评分器,以及反思式自评估评分器;白盒方法与 WhiteBoxUQ 中基于 token 概率的评分器相同。

【使用方式】 UQLM 提供 BlackBoxUQ、WhiteBoxUQ、LLMPanel、UQEnsemble、LongTextUQ、CodeGenUQ 等类。示例中可使用 ChatOpenAI、ChatVertexAI、ChatOllama、AzureChatOpenAI 等任意 LangChain Chat Model。例如 BlackBoxUQ 的 use_best=True 可启用缓解措施,选择不确定性最小的响应。长文本评分中,response 与 entailment 反映原始响应及其响应级置信度,refined_response 与 refined_entailment 是响应精炼后的对应值,claims_data 列包含每条响应的细粒度数据(声明、声明级置信度、是否在精炼中保留)。

【示例与文档】 UQLM 附带完整的示例笔记本和教程,涵盖:黑盒与白盒不确定性量化、单次与多次生成方法、LLM-as-a-Judge 技术、集成方法、语义熵与语义密度等前沿技术、多模态不确定性量化、分数校准。每个笔记本都包含详细说明与可适配的代码示例。官方文档站点提供 API 参考与详细使用说明。

【适用场景】 适用于对 LLM 输出进行幻觉检测、为生成结果提供置信度评分、在长文本生成中做声明级事实性精炼、在代码生成中预测功能正确性,以及构建可定制的多评审集成评估流程。

【限制与依赖】 黑盒评分器需要多次生成,成本与延迟较高(多次生成白盒评分器同样如此);白盒评分器需要访问模型内部概率,并非兼容所有 LLM/API;部分评分器需要多次额外生成。具体安装命令、完整 API、演示与论文引用信息以官方文档与仓库为准,部分细节暂未提供。