Перейти к содержанию

Langfuse: наблюдаемость LLM-приложений

MLOps / LLMOps · Наблюдаемость
Не изучено

Добавлено 2026-10-29.

Проблема

Ответ модели плохой, а почему — неизвестно: какой промпт ушёл, сколько стоил запрос, на каком шаге цепочки всё сломалось. Обычные логи этого не показывают.

Решение

Self-hosted Langfuse: трейсы запросов (в том числе по OpenTelemetry), токены и стоимость, датасеты и оценки качества. С LiteLLM подключается одной строкой.

Пример

Запуск — docker compose up из репозитория. Перед этим:

  • заменить все значения с пометкой # CHANGEME в docker-compose.yml: пароли баз, SALT, ENCRYPTION_KEY (openssl rand -hex 32);
  • поменять публикацию веб-интерфейса 3000:3000 на 127.0.0.1:3000:3000 — иначе на VPS порт откроется наружу в обход firewall; снаружи — только через Nginx с TLS.

Отправка трейсов из LiteLLM:

litellm_settings:
  success_callback: ["langfuse"]

Для приложений с OpenTelemetry — эндпоинт /api/public/otel/v1/traces.

Когда применять

Когда LLM-приложение в проде и нужно разбирать плохие ответы и расходы.

Ограничения

Нужны Postgres, ClickHouse, Redis и S3-совместимое хранилище — тяжело для маленького VPS. Трейсы содержат промпты и ответы: настроить срок хранения и доступ. Каталоги ee/ — под отдельной лицензией.

Источник

Как применить у себя

  1. Поднять на тестовой машине с заменёнными секретами и портом на 127.0.0.1.
  2. Отправить трейсы из LiteLLM.
  3. Настроить срок хранения и проверить удаление старых трейсов.
  4. Отметить «Изучено», когда по трейсу можно разобрать реальный плохой ответ.