Langfuse: платформа наблюдения и отладки с открытым исходным кодом для LLM-приложений
Общее введение
Langfuse - это инженерная платформа LLM (Large Language Model) с открытым исходным кодом. Она помогает разработчикам отслеживать, отлаживать и оптимизировать LLM-приложения, предоставляя инструменты для наблюдения за вызовами, управления подсказками, проведения экспериментов и оценки результатов. Разработанная командой Langfuse, платформа поддерживает такие фреймворки, как LangChain, OpenAI и т. д. Она находится под лицензией MIT и имеет активное сообщество. Она может быть быстро самостоятельно размещена локально или в облаке и идеально подходит для команд, совместно разрабатывающих надежные приложения ИИ. langfuse предлагает облачные сервисы (с бесплатными пакетами) и варианты самостоятельного размещения, легко развертывается и проверена в производственных средах.
Для агентов и RAG Время выполнения визуализируется и наблюдается, аналогично LangSmith.

Список функций
- Прикладное наблюдение: Отследите каждый вызов приложения LLM, записывая входы и выходы, время ожидания и стоимость.
- Управление кием: Централизованное хранение слов подсказок для поддержки контроля версий и корректировки командной работы.
- Управление набором данных: Создание тестовых наборов данных и проведение экспериментов для сравнения моделей или эффектов подсказок.
- Инструменты оценки:: Поддержка обратной связи с пользователем, ручная маркировка и автоматизированная оценка для проверки качества выпускаемой продукции.
- Поддержка отладкиПросмотр подробных журналов и сеансов пользователей для быстрого выявления проблем.
- Экспериментальная игровая площадка: Тестирование слов подсказок и конфигураций моделей для ускорения итераций разработки.
- Поддержка нескольких фреймворков: Совместимость с LangChain, OpenAI SDK, LiteLLM и другими.
- Интеграция API: Предоставляет комплексный API для настройки рабочих процессов LLMOps.
Использование помощи
Установка и развертывание
облачный сервис
- Зарегистрируйтесь для получения учетной записи:: Доступ Langfuse CloudНажмите на кнопку "Зарегистрироваться", чтобы зарегистрироваться.
- Создать проект: После входа в систему нажмите "Новый проект" и введите название проекта.
- Получить ключ:: Создается в настройках проекта
PUBLIC_KEY
ответить пениемSECRET_KEY
. - начать использовать: Не требуется установка, подключение к облачным сервисам напрямую через SDK.
Локальное развертывание (Docker Compose)
- Подготовка среды: Убедитесь, что установлены Docker и Docker Compose, которые можно загрузить с сайта Docker.
- Клонирование кода: Запуск в терминале
git clone https://github.com/langfuse/langfuse.git
Затем введите каталогcd langfuse
. - Начальные услуги: Вход
docker compose up
и дождитесь завершения запуска, по умолчанию используется адресhttp://localhost:3000
. - подтвердить (теорию): Доступ к браузеру
http://localhost:3000
Если вы видите страницу входа в систему, значит, все прошло успешно. - Настройка ключа: Генерируйте ключ в UI для SDK после регистрации.
Развертывание Kubernetes (рекомендации по производству)
- Подготовка кластера: Создайте кластер Kubernetes с помощью Minikube (для локального тестирования) или облачного сервиса, например AWS.
- Добавить штурвал: Бег
helm repo add langfuse https://langfuse.github.io/langfuse-k8s
ответить пениемhelm repo update
. - настроить: Создать
values.yaml
База данных и ключевая информация заполнены (см. официальный документ). - развертывания: Вход
helm install langfuse langfuse/langfuse -f values.yaml
Подождите, пока она закончится. - интервью: Настройка доступа к адресу службы на основе Ingress.
Развертывание виртуальных машин
- Работа на одной виртуальной машине
docker compose up
Действия такие же, как и при локальном развертывании.
Основные функции
Прикладное наблюдение
- Установка SDK: Запуск проекта Python
pip install langfuse
Запуск проекта JS/TSnpm install langfuse
. - инициализация: Настройте ключи и хосты в коде:
from langfuse import Langfuse langfuse = Langfuse(public_key="pk-lf-xxx", secret_key="sk-lf-xxx", host="http://localhost:3000")
- запись разговора: Используйте декораторы или ручную обводку:
from langfuse.decorators import observe @observe() def chat(input): return openai.chat.completions.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": input}]) chat("你好")
- проверять: Проверьте детали вызова на странице "Трассы" пользовательского интерфейса.
Управление кием
- Новый совет: На странице "Prompts" пользовательского интерфейса нажмите "New Prompt" и введите имя и содержание, например:
System: 你是一个助手,直接回答问题。 User: {{question}}
- Советы по использованию: Вызовы в коде
langfuse.get_prompt("prompt-name")
. - управление версиями: Автоматическое сохранение версии после изменения подсказки, которую можно откатить.
Наборы данных и эксперименты
- Создание набора данных: На странице "Datasets" пользовательского интерфейса нажмите "Create Dataset", назовите его "qa-test".
- Добавить данные: Введите или загрузите файл CSV, например:
Input: "1+1等于几?" Expected: "2"
- беговой эксперимент:: Тест в коде:
dataset = langfuse.get_dataset("qa-test") for item in dataset.items: result = chat(item.input) item.link(langfuse.trace({"output": result}), "test-1")
- проанализировано: Просмотр результатов эксперимента в пользовательском интерфейсе.
Игровая площадка
- входить: Нажмите кнопку "Playground" в пользовательском интерфейсе и введите параметры запроса и модели.
- испытание (машины и т.д.): Нажмите кнопку Выполнить, чтобы просмотреть результаты, настроить параметры и сохранить.
- прыжок: Непосредственно из результата ошибки "Следы" Игровая площадка Модификация.
Функциональное управление
Журнал отладки
- На странице "Трассы" нажмите на вызов, чтобы увидеть входы, выходы и контекст.
- Просматривайте сеансы пользователей в разделе "Сеансы", чтобы анализировать многораундовые разговоры.
Результаты оценки
- ручное управление: Оцените выход (0-1) на странице "Оценки".
- автоматизация: Добавление оценок через API:
langfuse.score(trace_id="xxx", name="accuracy", value=0.95)
Использование API
- Вызывается с помощью спецификации OpenAPI или SDK (например, Python/JS), например, для создания трассировки:
curl -X POST "http://localhost:3000/api/traces" -H "Authorization: Bearer sk-lf-xxx" -d '{"id": "trace-1", "name": "test"}'
сценарий применения
- Отслеживание визуализации процесса RAG
- Визуальное отслеживание всего процесса - от запоминания ключевого слова, векторного запоминания, слияния запоминаний, перестановки, ответа
- Развитие интеллектуального обслуживания клиентов
- Команда использует Langfuse для отслеживания разговоров, оптимизации качества ответов и улучшения качества обслуживания клиентов.
- Сравнение производительности моделей
- Разработчик создает наборы данных для проверки производительности нескольких LLM в задаче тестирования.
- Развертывание на месте
- Компания самостоятельно использует Langfuse для защиты конфиденциальных данных и отладки внутренних приложений искусственного интеллекта.
QA
- Какие языки и фреймворки поддерживаются?
- Поддерживает Python и JS/TS, совместим с LangChain, OpenAI, LlamaIndex и другими.
- Какова минимальная конфигурация для самостоятельного хостинга?
- Для небольших проектов используется 2-ядерный процессор и 4 ГБ оперативной памяти, для больших - 8 ядер и 16 ГБ.
- Как отключить телеметрию?
- Установка переменных окружения в
TELEMETRY_ENABLED=false
.
- Установка переменных окружения в
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...