ICML 2024 TrustLLM 벤치마크 기반 오픈 리서치 툴킷으로, CLI와 Python을 통해 LLM의 신뢰성을 6가지 차원에서 평가합니다.
cvs-health/uqlm
불확실성 정량화를 통해 LLM 응답의 환각 가능성을 평가하는 Python 라이브러리로, 블랙박스·화이트박스·심판·앙상블 스코어러를 제공합니다.
- 스타
- 1,217
- 포크
- 140
- 열린 이슈
- 26
- 마지막 커밋
- 25일 전
어떤 프로젝트인가요?
UQLM은 LLM 출력의 환각을 감지하는 Python 라이브러리입니다. 각 스코어러는 0에서 1 사이의 신뢰도 점수를 반환하며, 값이 높을수록 응답에 오류가 있을 가능성이 낮습니다. 모든 프롬프트에 정답 레퍼런스가 없어도 개발자가 신뢰하기 어려운 답변을 표시할 수 있습니다.
이 패키지는 신호를 얻는 방식에 따라 스코어러를 분류합니다. 블랙박스 스코어러는 같은 프롬프트에 대해 여러 응답을 샘플링한 뒤 응답 간 일관성을 측정하므로 어떤 LLM과도 사용할 수 있습니다. 화이트박스 스코어러는 한 번의 생성에서 토큰 확률을 확인합니다. 비용은 더 적게 들지만 해당 확률에 대한 API 접근 권한이 필요합니다. LLM-as-a-judge 스코어러는 하나 이상의 모델에 응답 평가를 요청하며, 앙상블 스코어러는 여러 스코어러의 결과를 가중 평균으로 결합합니다.
UQLM에는 긴 응답의 개별 주장을 평가하고 신뢰도가 낮은 주장을 제거해 출력을 다듬을 수 있는 long-text 스코어러도 포함되어 있습니다. 또한 코드를 실행하지 않고 생성된 코드가 기능적으로 올바를지 예측하는 CodeGenUQ 인터페이스를 제공합니다. 모델은 LangChain Chat Model 통합을 통해 사용합니다.
핵심 기능
- 01블랙박스 스코어러는 여러 응답을 샘플링해 일관성을 측정합니다.
- 02화이트박스 스코어러는 한 번의 생성에서 얻은 토큰 확률을 바탕으로 신뢰도를 계산합니다.
- 03LLM-as-a-judge 스코어러는 하나 이상의 심판 모델을 사용하며, 여러 심판으로 구성된 패널도 지원합니다.
- 04앙상블 스코어러는 여러 스코어러를 결합하며, 기본 제공 가중치나 조정한 가중치를 사용할 수 있습니다.
- 05long-text 스코어러는 개별 주장을 평가하고 신뢰도가 낮은 주장을 제거해 응답을 다듬을 수 있습니다.
- 06모든 LangChain Chat Model과 함께 사용할 수 있습니다.
활용 사례
- 프로덕션 질의응답 파이프라인에서 신뢰하기 어려운 LLM 답변을 표시합니다.
- 신뢰도가 낮은 주장을 제거해 긴 생성 문서를 필터링하거나 다듬습니다.
- 실행 전에 LLM이 생성한 코드가 기능적으로 올바를 가능성을 추정합니다.
- 자체 프롬프트와 레이블이 지정된 답변을 사용해 환각 감지 방법을 비교합니다.
빠른 시작
- 1
PyPI에서 uqlm을 설치합니다
pip install uqlm - 2
LangChain 채팅 모델(예: ChatOpenAI)을 만들고 BlackBoxUQ로 래핑해 응답의 점수를 매깁니다
사용 전 알아둘 점
- 블랙박스 및 심판형 스코어러는 LLM을 여러 번 호출하므로 비용과 지연 시간이 눈에 띄게 늘어납니다.
- 화이트박스 스코어러는 토큰 확률에 접근해야 하지만, 많은 호스팅 API에서 이를 제공하지 않습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- uqlm은(는) 무엇인가요?
- 불확실성 정량화를 통해 LLM 응답의 환각 가능성을 평가하는 Python 라이브러리로, 블랙박스·화이트박스·심판·앙상블 스코어러를 제공합니다. UQLM은 LLM 출력의 환각을 감지하는 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
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
AI 에이전트가 역할을 벗어나지 않고, 조작에 저항하며, 사실을 지어내지 않는지 61개 검사 항목으로 감사하는 Python CLI입니다.
LLM 시스템과 AI 에이전트를 레드팀 테스트하고, 공격을 시뮬레이션해 취약점을 찾으며 프로덕션 가드레일을 제공하는 오픈소스 Python 프레임워크입니다.
반복 루프와 언어 이탈 같은 LLM 디코딩 오류를 감지해 잘못된 토큰이 사용자에게 보이기 전에 중단하는 numpy 전용 Python 가드입니다.
호스팅 환경이나 로컬에서 실행되는 Jev 스타일 의사결정 모델로 에이전트 평가와 가드레일을 수행하며, 한 트레이스의 모든 검사를 한 번의 요청으로 처리하는 Python 라이브러리입니다.