OpenUI: фреймворк для создания генеративных пользовательских интерфейсов

OpenUI: фреймворк для создания генеративных пользовательских интерфейсов

OpenUI — это фреймворк для создания Генеративных пользовательских интерфейсов, который не привязан к конкретным технологиям. Он предлагает компактный, стриминг-ориентированный язык, позволяющий создавать интерфейсы для популярных фреймворков, таких как React, Vue, Svelte и Angular.

Основное преимущество OpenUI в том, что он использует на 67% меньше токенов по сравнению с JSON, что может быть полезно для оптимизации загрузки и обработки данных. Проект ориентирован на разработчиков, которым нужна гибкость в выборе технологий, и которые хотят использовать современные подходы к созданию интерфейсов. У OpenUI есть готовые компоненты для React и интерфейсы для чатов, что ускоряет разработку.

Запустить проект можно через документацию на сайте openui.com. Текущая версия проекта выглядит как бета, поэтому учти, что могут присутствовать баги и проблемы с совместимостью. Работает на любых платформах, поддерживающих указанные технологии.

OpenUI — это фреймворк для генеративного пользовательского интерфейса, который не привязан к конкретным библиотекам и строится на компактном языке для потоковой передачи данных. Он поддерживает популярные фреймворки, такие как React, Vue, Svelte и Angular, и предлагает встроенные библиотеки компонентов и готовые интерфейсы для чата. OpenUI Lang использует на 67% меньше токенов по сравнению с JSON.

Что такое OpenUI

В основе OpenUI лежит OpenUI Lang — компактный язык для создания структурированных пользовательских интерфейсов. Он позволяет не просто обрабатывать текстовые данные, а определять компоненты и генерировать промпты для этих компонентов, что позволяет создавать UI на основе потокового вывода модели.

Основные возможности проекта:

  • OpenUI Lang — компактный язык для генерации UI, ориентированный на потоковый вывод.
  • Встроенные библиотеки компонентов — готовые к использованию или расширению компоненты, такие как графики, формы и таблицы.
  • Генерация промптов — автоматическое создание инструкций для модели на основе заданного набора компонентов.
  • Потоковый рендерер — возможность отображать UI на лету, когда токены поступают от модели.
  • Чат и интерфейсы приложений — одинаковая основа для создания ассистентов или других интерактивных интерфейсов.

Как начать

Самый быстрый способ начать работу с OpenUI:

npx @openuidev/cli@latest create --name genui-chat-app
cd genui-chat-app
echo "OPENAI_API_KEY=sk-your-key-here" > .env
npm run dev

Этот процесс создаёт приложение с поддержкой OpenUI Lang и встроенным UI, которое можно сразу запускать.

Как это работает

Основная идея заключается в том, чтобы компоненты определяли, что может генерировать модель. Процесс включает в себя:

  1. Определение или повторное использование библиотеки компонентов.
  2. Генерация системного промпта на основе этой библиотеки.
  3. Отправка этого промпта в модель.
  4. Получение выводов на основе OpenUI Lang в клиент.
  5. Постепенный рендеринг выходных данных с помощью рендерера.

Ты можешь попробовать это в Плейграунде, где можно сгенерировать UI в реальном времени, используя стандартную библиотеку компонентов.

Пакеты

OpenUI включает в себя множество пакетов для различных нужд:

  • @openuidev/lang-core — для парсинга и генерации промптов без зависимости от фреймворка.
  • @openuidev/react-lang — для рендеринга в React.
  • @openuidev/vue-lang, @openuidev/svelte-lang, @openuidev/angular-lang — для интеграции с соответствующими фреймворками.
  • @openuidev/browser-bundle — предварительно собранный бандл для использования на клиенте.
  • @openuidev/cli — для создания новых приложений и генерации промптов.

Документация и сообщество

Подробная документация доступна на официальном сайте. Если у тебя есть вопросы или идеи, можешь присоединиться к сообществу в Discord или открыть issue на GitHub для отчётов об ошибках или предложений по улучшению.

Открыть на GitHub: thesysdev/openui →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте