Repolode
BoundaryML

BoundaryML/baml

BAML — язык программирования для создания ИИ-агентов: типизированные функции, компилятор на Rust и вызов из TypeScript, Python, Go и других языков.

Звёзды
9,486
Форки
514
Открытые issues
366
Последний коммит
14 часов назад

Что это?

BAML — язык программирования для создания агентов. Его синтаксис напоминает TypeScript; в языке есть система типов, сохраняющаяся во время выполнения, типизированные ошибки со статическим анализом и модульная структура на основе файловой системы. Цель — уменьшить количество ошибок при создании и обработке структурированных данных агентами.

В язык встроены средства тестирования и оценки, стандартная библиотека для задач агентов и конкурентное выполнение в стиле green threads. Компилятор написан на Rust. BAML можно использовать отдельно или внедрять постепенно, вызывая функции BAML из существующих проектов на TypeScript, Python, Go, C#, Java и других языках.

В проект входит CLI с командами для установки инструментов агента, инициализации проекта и установки расширения для IDE. Установить CLI можно через Homebrew.

Ключевые возможности

  • 01Типизированные функции и ошибки со статической проверкой
  • 02Типы сохраняются во время выполнения, приведение к any не требуется
  • 03Встроенные средства тестирования и оценки
  • 04Стандартная библиотека для задач агентов
  • 05Вызов из TypeScript, Python, Go, C#, Java и других языков

Сценарии использования

  • Определение структурированных выходных данных LLM с помощью типизированных схем
  • Добавление функций BAML в существующий проект на TypeScript или Python
  • Написание и запуск evals для проверки поведения агентов
  • Создание новых приложений с агентами на специализированном языке

Быстрый старт

  1. 1

    Установить BAML с помощью Homebrew

    brew install baml
  2. 2

    Установить интеграцию агента

    baml agent install
  3. 3

    Инициализировать новый проект BAML

    baml init
  4. 4

    Установить расширение IDE для VS Code

    baml ide install --code

Что важно знать

  • В README не описан способ установки в Windows, поэтому поддержка этой платформы неясна.
  • Настройка включает несколько этапов работы с CLI, а за подробностями README отсылает к внешнему краткому руководству.

В подборках

Темы

Частые вопросы

Что такое baml?
BAML — язык программирования для создания ИИ-агентов: типизированные функции, компилятор на Rust и вызов из TypeScript, Python, Go и других языков. BAML — язык программирования для создания агентов. Его синтаксис напоминает TypeScript; в языке есть система типов, сохраняющаяся во время выполнения, типизированные ошибки со статическим анализом и модульная структура на основе файловой системы. Цель — уменьшить количество ошибок при создании и обработке структурированных данных агентами.
baml можно использовать бесплатно? Какая у него лицензия?
baml распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
baml всё ещё поддерживается?
Активно поддерживается. Последний коммит в baml — 6 нояб. 2026 г..
Для чего можно использовать baml?
Определение структурированных выходных данных LLM с помощью типизированных схем Добавление функций BAML в существующий проект на TypeScript или Python Написание и запуск evals для проверки поведения агентов Создание новых приложений с агентами на специализированном языке
Как установить baml?
Установить BAML с помощью Homebrew: brew install baml Установить интеграцию агента: baml agent install Инициализировать новый проект BAML: baml init Установить расширение IDE для VS Code: baml ide install --code
Где скачать baml?
Исходный код и инструкции по установке — на GitHub: https://github.com/BoundaryML/baml

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Библиотека Python для запуска eval-проверок и защитных механизмов на размещённых или локальных моделях принятия решений в стиле Jev; все проверки трейса отправляются одним запросом.

111+1 за неделю12PythonMITАктивно поддерживаетсяОбновлён 4 дня назад

Статически типизированный язык программирования и калькулятор для научных вычислений со встроенными физическими размерностями и единицами измерения.

2,8 тыс.+7 за неделю122RustApache-2.0Активно поддерживаетсяОбновлён 26 дней назад