Что такое Langfuse?
Langfuse — это платформа для LLM-инжиниринга с открытым исходным кодом, которая помогает командам совместно отлаживать, анализировать и развивать свои LLM-приложения. Она является частью экосистемы ClickHouse и использует ClickHouse в качестве основы, предоставляя масштабируемый высокопроизводительный бэкенд для обсервабилити.
Благодаря столбцовому хранению ClickHouse и его высокой скорости аналитической обработки Langfuse может обрабатывать миллиарды трейсов и событий с низкой задержкой, что делает его подходящим для высоконагруженных production-сред.
Почему Langfuse?
- С открытым исходным кодом: Полностью с открытым исходным кодом, с публичным API для пользовательских интеграций
- Оптимизирован для production: Разработан с минимальным влиянием на производительность
- Лучшие в своем классе SDKs: Нативные SDK для Python и JavaScript
- Поддержка фреймворков: Интегрирован с популярными фреймворками, такими как OpenAI SDK, LangChain и LlamaIndex
- Мультимодальность: Поддерживает трассировку текста, изображений и других модальностей
- Полноценная платформа: Набор инструментов для всего жизненного цикла разработки LLM-приложений
Варианты развертывания
Langfuse предлагает гибкие варианты развертывания для различных требований к безопасности и инфраструктуре.
Langfuse Cloud — это полностью управляемый сервис на базе управляемого кластера ClickHouse для оптимальной производительности. Он сертифицирован по стандартам SOC 2 Type II и ISO 27001, соответствует требованиям GDPR и доступен в регионах США (AWS us-west-2) и ЕС (AWS eu-west-1).
Самоуправляемый Langfuse имеет полностью открытый исходный код (лицензия MIT) и может быть бесплатно развернут в собственной инфраструктуре с помощью Docker или Kubernetes. Вы используете собственный экземпляр ClickHouse (или ClickHouse Cloud) для хранения данных обсервабилити, что обеспечивает полный контроль над вашими данными.
Архитектура
Langfuse использует только компоненты с открытым исходным кодом и может быть развернут локально, в облачной инфраструктуре или в собственной инфраструктуре:
- ClickHouse: Хранит большие объемы данных обсервабилити (трейсы, спаны, генерации, оценки). Обеспечивает быструю агрегацию и аналитику для панелей мониторинга.
- Postgres: Хранит транзакционные данные, такие как учетные записи пользователей, конфигурации проектов и определения промптов.
- Redis: Отвечает за постановку событий в очередь и кэширование.
- S3/Blob Storage: Хранит крупные полезные нагрузки и необработанные данные событий.
flowchart TB
User["UI, API, SDKs"]
subgraph vpc["VPC"]
Web["Web Server<br/>(langfuse/langfuse)"]
Worker["Async Worker<br/>(langfuse/worker)"]
Postgres@{ img: "https://langfuse.com/images/logos/postgres_icon.svg", label: "Postgres - OLTP\n(Transactional Data)", pos: "b", w: 60, h: 60, constraint: "on" }
Cache@{ img: "https://langfuse.com/images/logos/redis_icon.png", label: "Redis\n(Cache, Queue)", pos: "b", w: 60, h: 60, constraint: "on" }
ClickHouse@{ img: "https://langfuse.com/images/logos/clickhouse_icon.svg", label: "ClickHouse - OLAP\n(Observability Data)", pos: "b", w: 60, h: 60, constraint: "on" }
S3@{ img: "https://langfuse.com/images/logos/s3_icon.svg", label: "S3 / Blob Storage\n(Raw events, multi-modal attachments)", pos: "b", w: 60, h: 60, constraint: "on" }
end
LLM["LLM API/Gateway<br/>(optional; BYO; can be same VPC or VPC-peered)"]
User --> Web
Web --> S3
Web --> Postgres
Web --> Cache
Web --> ClickHouse
Web -..->|"optional for playground"| LLM
Cache --> Worker
Worker --> ClickHouse
Worker --> Postgres
Worker --> S3
Worker -..->|"optional for evals"| LLM
Возможности
Обсервабилити
Обсервабилити необходима для понимания и отладки LLM-приложений. В отличие от традиционного ПО, LLM-приложения включают сложные, недетерминированные взаимодействия, которые бывает трудно отслеживать и отлаживать. Langfuse предоставляет широкие возможности трассировки, которые помогают точно понять, что происходит в вашем приложении.
📹 Хотите узнать больше? Посмотрите полный обзор обсервабилити Langfuse и того, как интегрировать её с вашим приложением.
Трассировки позволяют отслеживать каждый вызов LLM и другую связанную логику в вашем приложении.
Сеансы позволяют отслеживать многошаговые диалоги или агентные процессы.
Отлаживайте проблемы с задержками, анализируя представление временной шкалы.
Добавьте собственный userId, чтобы отслеживать затраты и использование для каждого пользователя. При необходимости создайте deep link на это представление в ваших системах.
LLM-агентов можно визуализировать в виде графа, чтобы показать ход сложных агентных процессов.
Просматривайте метрики качества, затрат и задержки на панели мониторинга, чтобы отслеживать работу вашего LLM-приложения.
Управление промптами
Управление промптами играет ключевую роль в создании эффективных LLM-приложений. Langfuse предоставляет инструменты, которые помогают управлять, версионировать и оптимизировать промпты на протяжении всего жизненного цикла разработки.
📹 Хотите узнать больше? Посмотрите сквозной обзор Langfuse управление промптами и его интеграции с вашим приложением.
Создайте новый промпт через интерфейс, SDKs или API.
Совместно версионируйте и редактируйте промпты через интерфейс, API или SDKs.
Развертывайте промпты в production или в любое другое окружение с помощью меток — без изменений в коде.
Сравнивайте задержку, стоимость и оценочные метрики для разных версий ваших промптов.
Мгновенно тестируйте свои промпты в Песочнице ClickHouse.
Связывайте промпты с трассировками, чтобы понимать, как они работают в контексте вашего LLM-приложения.
Отслеживайте изменения в своих промптах, чтобы понимать, как они меняются со временем.
Оценка и датасеты
Оценка крайне важна для обеспечения качества и надежности ваших LLM-приложений. Langfuse предоставляет гибкие инструменты оценки, которые подстраиваются под ваши задачи — будь то тестирование в среде разработки или мониторинг производительности в продакшене.
📹 Хотите узнать больше? Посмотрите полный обзор Langfuse оценка и того, как использовать его для улучшения вашего LLM-приложения.
Визуализируйте результаты оценки на панели мониторинга Langfuse.
Собирайте отзывы пользователей. Их можно получать на фронтенде через наш Browser SDK, на стороне сервера — через SDK или API. В видео также показан пример приложения.
Запускайте полностью управляемые оценки LLM-as-a-judge на трассировках из продакшена или среды разработки. Их можно применять к любому этапу вашего приложения для пошаговой оценки.
Оценивайте промпты и модели на датасетах прямо в пользовательском интерфейсе. Пользовательский код не нужен.
Постройте базовый процесс оценки на основе аннотаций, выполняемых людьми, с помощью очередей аннотаций.
Добавляйте пользовательские результаты оценки; поддерживаются числовые, логические и категориальные значения.
POST /api/public/scoresДобавляйте оценки через Python или JS SDK.
langfuse.score(
trace_id="123",
name="my_custom_evaluator",
value=0.5,
)Быстрый старт
Начните работать с Langfuse за считанные минуты. Выберите вариант, который лучше всего соответствует вашим текущим задачам: