Repolode
cvs-health

cvs-health/uqlm

基于不确定性量化检测大语言模型幻觉的 Python 库,提供多类置信度评分器。

Star
1,217
Fork
140
未关闭 Issue
26
最近提交
25天前

这是什么?

UQLM 是一个用于检测大语言模型输出幻觉的 Python 库。每个评分器返回 0 到 1 之间的置信度,数值越高表示回答出错的可能性越低,开发者可以借此标记不可靠的回答。

评分器按信号来源分为几类。黑盒评分器对同一提示生成多个回答并比较一致性,适用于任何 LLM。白盒评分器基于单次生成的 token 概率计算,成本更低,但需要能获取这些概率。LLM 作为裁判的评分器让一个或多个模型评估回答,集成评分器则通过加权平均组合多个评分器。

此外,长文本评分器可以对长回答中的单条断言逐一打分,并移除置信度低的断言来优化输出;CodeGenUQ 则可在不执行代码的情况下预测生成代码的功能正确性。模型通过 LangChain Chat Model 接口接入。

核心功能

  • 01黑盒评分器通过比较多次采样回答的一致性来衡量不确定性。
  • 02白盒评分器基于单次生成的 token 概率计算置信度。
  • 03LLM 裁判评分器支持单个或多个裁判模型,包括裁判小组模式。
  • 04集成评分器可组合多个评分器,支持开箱即用或调优权重。
  • 05长文本评分器对回答中的单条断言打分,并可移除低置信度断言来优化回答。
  • 06兼容任何 LangChain Chat Model。

适用场景

  • 在生产环境的问答系统中标记可能不可靠的 LLM 回答。
  • 通过移除低置信度断言来筛选或优化长篇生成文本。
  • 在运行前预测 LLM 生成代码的功能正确性。
  • 基于自有提示和标注答案比较不同的幻觉检测方法。

快速上手

  1. 1

    从 PyPI 安装 uqlm

    pip install uqlm
  2. 2

    创建 LangChain 聊天模型(例如 ChatOpenAI),并用 BlackBoxUQ 包装以对回复评分

使用前须知

  • 黑盒和评审类评分器需要多次调用 LLM,会带来明显的成本和延迟。
  • 白盒评分器需要获取 token 概率,许多托管 API 并不提供该数据。

收录于专题

标签

#hallucination-detection#uncertainty-quantification#llm-evaluation#confidence-estimation#llm-safety#python#ai-evaluation#ai-safety#confidence-score#hallucination

常见问题

uqlm 是什么?
基于不确定性量化检测大语言模型幻觉的 Python 库,提供多类置信度评分器。 UQLM 是一个用于检测大语言模型输出幻觉的 Python 库。每个评分器返回 0 到 1 之间的置信度,数值越高表示回答出错的可能性越低,开发者可以借此标记不可靠的回答。
uqlm 可以免费使用吗?用的什么许可证?
uqlm 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
uqlm 还在维护吗?
活跃维护中。uqlm 最近一次提交是在 2026年10月13日。
uqlm 适合用来做什么?
在生产环境的问答系统中标记可能不可靠的 LLM 回答。 通过移除低置信度断言来筛选或优化长篇生成文本。 在运行前预测 LLM 生成代码的功能正确性。 基于自有提示和标注答案比较不同的幻觉检测方法。
uqlm 怎么安装和运行?
从 PyPI 安装 uqlm: pip install uqlm 创建 LangChain 聊天模型(例如 ChatOpenAI),并用 BlackBoxUQ 包装以对回复评分
在哪里获取 uqlm?
源代码和安装说明在 GitHub 上:https://github.com/cvs-health/uqlm

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目