cvs-health/uqlm

UQLM: Учет неопределенности для языковых моделей — это Python-пакет для обнаружения галлюцинаций LLM на основе UQ

Безопасность⭐ 1 201Pythonпоследний релиз: v0.6.6
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

UQLM — это библиотека на Python для обнаружения галлюцинаций в больших языковых моделях (LLM) с помощью методов количественной оценки неопределенности.

Зачем нужен

Инструмент помогает определить, насколько уверенно LLM сгенерировала ответ, возвращая оценку достоверности от 0 до 1. Это полезно для фильтрации ошибочных или вымышленных ответов в критически важных приложениях, где важна точность данных.

Что можно реализовать

  • Валидация ответов в системах RAG для предотвращения распространения ложной информации
  • Мониторинг качества генерации в чат-ботах и ассистентах
  • Анализ достоверности длинных текстовых ответов (claim-level detection)
  • Автоматическая оценка рисков при использовании LLM в медицинских или юридических сферах

Ключевые возможности

  • Поддержка нескольких типов скореров: Black-Box (консистентность), White-Box (вероятности токенов), LLM-as-a-Judge и Ensemble
  • Готовые решения для обнаружения галлюцинаций в длинных текстах
  • Простая интеграция через pip install uqlm и совместимость с популярными фреймворками (например, LangChain)
  • Научная обоснованность: методы опубликованы в журналах JMLR и TMLR
  • Гибкость настройки: от готовых off-the-shelf решений до тонкой настройки ансамблей для продвинутых пользователей

👤 Кому подойдёт: Разработчики LLM-приложений, инженеры по машинному обучению, исследователи в области NLP, а также технические специалисты, внедряющие LLM в продакшн-среды с высокими требованиями к надежности.

Релизы

v0.6.6patch
🕐 17 дн назад · релиз на GitHub ↗

Исправления багов в SemanticEntropy, панели и генерации, а также ограничение ресурсов при выполнении кода.

  • Fixed: Исправлено мутация конфига prompts_in_nli в SemanticEntropy.score()
  • Fixed: Защита панели от искажения агрегатов из-за сбоев судей
  • Fixed: Сохранение выравнивания промпт-ответ при ошибках top-logprobs
  • Added: Ограничение памяти, CPU и размера файла при выполнении сгенерированного кода
  • Fixed: Использование asyncio.sleep для пауз при ограничении скорости запросов
v0.6.5patch
🕐 1 мес назад · релиз на GitHub ↗

Релиз v0.6.5: оптимизация производительности NLI, добавлены синхронные версии BlackBoxUQ и LLMPanel, обновлены зависимости.

  • Added: Добавлены синхронные (не-асинхронные) варианты методов BlackBoxUQ и LLMPanel.
  • Added: Оптимизирована производительность: внедрена пакетная обработка NLI-инференса и общие экземпляры моделей.
  • Fixed: Установлено минимальное ограничение версии PyTorch >=2.6.0.
  • Обновлены зависимости: Sphinx, transformers, pytest, ipykernel и другие.
v0.6.4patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена ошибка деления на ноль, улучшен парсинг и тестирование в релизе v0.6.4.

  • Fixed: Устранена ошибка ZeroDivisionError при нормализации вероятностей кластеров.
  • Fixed: Исправлена инициализация пакета, парсинг вердиктов и пользовательские строки.
  • Fixed: В CI принудительно enforced асинхронное выполнение тестов.
  • Added: Добавлена политика использования ИИ (AI Policy).