Langfuse — это open-source платформа, разработанная для отслеживания, версионирования и управления промтами (затравками) при работе с большими языковыми моделями (БЯМ). Она позволяет командам разработчиков контролировать эксперименты, сохранять метаданные и обеспечивает возможность воспроизводимости результатов. Langfuse поддерживает self-hosting, что важно для сохранения контроля над данными, и предоставляет инструменты для совместной работы.
Ключевые компоненты платформы включают: трейсы (представление запросов), наблюдения (логи выполнения шагов), сессии (группы трейсов, например, диалог), и оценки (результаты измерений). Langfuse поддерживает два типа промтов: текстовые (для однократных запросов) и чатовые (для диалогов с историей). Промты могут содержать переменные шаблоны, которые можно динамически подставлять при выполнении запроса. Также для организации и фильтрации данных можно использовать метки (labels) и теги.
Система позволяет логировать запросы к БЯМ, обертывая функции, взаимодействующие с моделями, декоратором
В Langfuse есть возможность сравнивать результаты различных экспериментов и аннотировать запросы вручную, что полезно для анализа. Платформа предоставляет различные типы оценки: числовой, категориальный и булевый. Langfuse также поддерживает сохранение контекста в чатах, что позволяет создавать более сложные и интерактивные приложения с БЯМ. История сообщений сохраняется и передается модели при каждом запросе, обеспечивая контекст для диалога.
Изображение носит иллюстративный характер
Ключевые компоненты платформы включают: трейсы (представление запросов), наблюдения (логи выполнения шагов), сессии (группы трейсов, например, диалог), и оценки (результаты измерений). Langfuse поддерживает два типа промтов: текстовые (для однократных запросов) и чатовые (для диалогов с историей). Промты могут содержать переменные шаблоны, которые можно динамически подставлять при выполнении запроса. Также для организации и фильтрации данных можно использовать метки (labels) и теги.
Система позволяет логировать запросы к БЯМ, обертывая функции, взаимодействующие с моделями, декоратором
@observe()
. Это автоматически отслеживает ход выполнения и отправляет информацию в Langfuse. Также можно создавать наборы данных (dataset) для тестирования промтов. Каждый элемент набора данных содержит входные параметры и ожидаемые результаты. Langfuse предоставляет функции для оценки ответов БЯМ, например, сравнение с ожидаемым результатом. Для более сложных случаев возможно подключение LLM-as-a-judge. В Langfuse есть возможность сравнивать результаты различных экспериментов и аннотировать запросы вручную, что полезно для анализа. Платформа предоставляет различные типы оценки: числовой, категориальный и булевый. Langfuse также поддерживает сохранение контекста в чатах, что позволяет создавать более сложные и интерактивные приложения с БЯМ. История сообщений сохраняется и передается модели при каждом запросе, обеспечивая контекст для диалога.