Ax: фреймворк для разработки приложений с LLM на TypeScript
Ax — это фреймворк DSPy на TypeScript для построения приложений с использованием LLM. Он упрощает разработку, предоставляя единый программный интерфейс для работы с разными языками, включая Python, Java, C++, Go и Rust.
Этот проект подходит тем, кто хочет интегрировать LLM в свои приложения, без необходимости переписывать код под разные языки. Ax предоставляет типизированные генерации, развертывание через нативные API, а также поддержку агентов с расширенными возможностями управления памятью и выполнением. Удобно, что базовые функции уже доступны как библиотеки для других языков, что упрощает мультиплатформенную разработку.
Запустить Ax можно через npm с использованием команды npm install @ax-llm/ax. Учти, что проект активно развивается, и хотя документация довольно подробная, на текущий момент может не поддерживаться полная функциональность на всех платформах.
Ax — это проект, который предоставляет единый программный интерфейс для работы с крупными языковыми моделями (LLMs) на нескольких языках программирования, включая TypeScript, Python, Java, C++, Go и Rust. Основная цель Ax — упростить процесс разработки и интеграции с LLMs, обеспечивая при этом строгую типизацию и высокую производительность.
Что делает Ax
Ax ориентирован на создание структурированных генеративных алгоритмов с использованием различных сформулированных сигнатур, таких как строковый DSL (Domain Specific Language) и сборщики с явными типами. Проект включает в себя:
- Сигнатуры для типизированной структурированной генерации;
- Агенты с управлением временем выполнения, бюджетами контекста и другими функциями;
- Потоки как типизированные графы программ с ветвлением и параллельным выполнением;
- Оптимизаторы, включая многофункциональные и портативные артефакты оптимизации;
- Компиляция в библиотеки на нескольких языках с единой семантикой.
Установка и запуск
Установка Ax для разных языков программирования осуществляется через стандартные менеджеры пакетов. Например, для установки Ax в TypeScript достаточно выполнить команду:
npm install @ax-llm/ax
Для Python это выглядит так:
pip install axllm
Аналогично для других языков: Rust, Java, C++, Go. Полный список команд можно найти в README.
Использование и примеры
Ax предлагает обширные возможности для разработки. Например, с помощью Ax можно генерировать резюме из текстов, выполнять классификацию комментариев и работать с заданиями в виде графа. Вот как может выглядеть простой пример использования:
const classify = ax(
'review:string -> sentiment:class "positive, negative, neutral"',
);
const { sentiment } = await classify.forward(llm, {
review: "This product is amazing!",
});
Проект также поддерживает потоки, что позволяет работать с данными по мере их поступления, минимизируя задержки.
Ограничения
Ax предназначен для работы в рамках заданных языковых моделей и ограничен их возможностями. Например, поддержка некоторых функций, таких как аудио и видео, требует дополнительных установок и выполнения специфичных для каждой модели действий.
Также, работа с высоким объемом данных может влиять на производительность, поэтому важно учитывать требования к ресурсам для запуска более сложных операций и потоков.
Сообщество и поддержка
Ax активно поддерживается сообществом разработчиков. Есть возможность задавать вопросы и получать помощь на [Discord](https://discord.gg/DSHg3dU7dW) или следить за обновлениями проекта в Twitter.
Документация и примеры использования, включая руководство по началу работы, доступны на [официальной странице проекта GitHub](https://github.com/ax-llm/ax).
Открыть на GitHub: ax-llm/ax →
RepoRadar