Repolode
cvs-health

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. 1

    PyPI에서 uqlm을 설치합니다

    pip install uqlm
  2. 2

    LangChain 채팅 모델(예: ChatOpenAI)을 만들고 BlackBoxUQ로 래핑해 응답의 점수를 매깁니다

사용 전 알아둘 점

  • 블랙박스 및 심판형 스코어러는 LLM을 여러 번 호출하므로 비용과 지연 시간이 눈에 띄게 늘어납니다.
  • 화이트박스 스코어러는 토큰 확률에 접근해야 하지만, 많은 호스팅 API에서 이를 제공하지 않습니다.

포함된 컬렉션

토픽

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

자주 묻는 질문

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 통계는 매일 갱신됩니다.

관련 프로젝트