Описание
Apache Burr (incubating) — это библиотека Python, предназначенная для упрощения разработки приложений, принимающих решения, таких как чат-боты, агенты и симуляции. Она позволяет разработчикам создавать сложные системы из простых строительных блоков Python, особенно тех, которые используют большие языковые модели (LLM). Burr бесшовно интегрируется с популярными фреймворками и предоставляет надежный пользовательский интерфейс для мониторинга, трассировки и отладки выполнения приложений в реальном времени.
Ядро Apache Burr вращается вокруг представления приложений в виде конечных автоматов, которые по сути являются графами или блок-схемами. Этот подход идеально подходит для любого приложения, требующего управления состоянием, отслеживания сложных решений, интеграции обратной связи от человека или идемпотентных, самосохраняющихся рабочих процессов. Простота фреймворка демонстрируется в его основном API, который использует функции Python, декорированные как действия, для управления переходами состояний и потоком данных.
Ключевые компоненты Apache Burr включают не зависящую от зависимостей библиотеку Python для создания и управления конечными автоматами, пользовательский интерфейс для телеметрии и интроспекции, а также набор интеграций для сохранения состояния и подключения к другим системам. Пользовательский интерфейс позволяет пользователям визуализировать поток выполнения и состояние приложения в реальном времени, улучшая процесс отладки и разработки. Интеграции могут расширить возможности Burr для подключения к различным инструментам наблюдаемости LLM, решениям для хранения данных и пользовательским библиотекам, таким как Apache Hamilton.
Apache Burr подходит для широкого спектра приложений, от простых чат-ботов типа GPT и чат-ботов на основе RAG с сохранением состояния до приключенческих игр на основе LLM и интерактивных помощников. Он также поддерживает сценарии использования, не связанные с LLM, такие как симуляции прогнозирования временных рядов и настройка гиперпараметров. Гибкость фреймворка позволяет интегрироваться с любой предпочтительной LLM или фреймворком, позволяя разработчикам создавать масштабируемые и поддерживаемые приложения на базе ИИ. Проект подчеркивает простоту использования, предлагая руководство по быстрому началу работы и готовые примеры, которые помогут разработчикам быстро освоиться.
Название проекта, Burr, является отсылкой к Аарону Берру, с концептуальной связью с Apache Hamilton, предполагая гармоничную интеграцию различных инструментов для создания сложных приложений. Проект активно приветствует вклад сообщества и предоставляет четкие рекомендации для разработчиков, желающих принять участие.
Основные функции Apache Burr
Моделирование конечных автоматов для приложений, принимающих решения
Пользовательский интерфейс для мониторинга и трассировки в реальном времени
Подключаемые механизмы сохранения состояния
Интеграция с LLM и различными фреймворками
Создание чат-ботов, агентов и симуляций
Идемпотентные и самосохраняющиеся рабочие процессы
Управление состоянием на основе Python
Фреймворк с открытым исходным кодом
Расширяемость пользовательскими действиями и интеграциями
Возможности отладки и воспроизведения
Поддержка сценариев использования, не связанных с LLM
Поддержка сообщества через Discord
Начало работы с Apache Burr
Клонируйте репозиторий: git clone https://github.com/apache/burr
Установите зависимости: pip install "apache-burr[start]"
Запустите сервер пользовательского интерфейса: burr
Изучите демонстрационные приложения через пользовательский интерфейс
Начните кодировать с примерами: cd burr/examples/hello-world-counter && python application.py
Обратитесь к документации для получения подробных руководств и концепций
Варианты использования Apache Burr
- Чат-боты с ИИ
- Агенты принятия решений
- Симуляции
- Приложения RAG
- Игры на LLM
- Автоматизация рабочих процессов
- Настройка гиперпараметров








