thesysdev/openui
The Open Standard for Generative UI
What it solves
OpenUI는 LLM 출력으로부터 직접 구조화되고 상호작용 가능한 사용자 인터페이스(UI)를 생성하는 방법을 제공합니다. 생성형 UI를 위해 JSON을 사용할 때 발생하는 높은 토큰 비용과 지연 시간을 해결하는 동시에, 모델의 출력이 미리 정의된 승인된 컴포넌트 세트로 제한되도록 보장합니다.
How it works
OpenUI는 OpenUI Lang이라는 커스텀 스트리밍 우선 언어를 사용합니다. 프로세스는 특정 흐름을 따릅니다: 개발자가 (Zod schemas를 사용하여 타입 계약을 정의하여) 컴포넌트 라이브러리를 정의하고, 해당 라이브러리로부터 LLM에 지시할 시스템 프롬프트를 생성한 다음, 모델의 출력을 스트리밍합니다. 특수화된 렌더러가 이 스트림을 실시간으로 점진적으로 파싱하여, 토큰이 도착하는 대로 React, Vue 또는 Svelte 컴포넌트로 변환합니다.
Who it’s for
AI 어시스턴트, Copilot 및 단순 텍스트 대신 차트, 양식, 테이블과 같은 복잡한 UI 요소를 LLM이 렌더링해야 하는 대화형 제품 플로우를 구축하는 개발자를 위해 설계되었습니다.
Highlights
- Token Efficiency: JSON 기반 형식보다 토큰을 최대 67% 적게 사용하여 비용과 지연 시간을 줄입니다.
- Multi-Framework Support: React, Vue 및 Svelte를 위한 런타임을 제공합니다.
- Streaming-First: LLM이 토큰을 스트리밍하는 동안 UI 컴포넌트를 점진적으로 렌더링합니다.
- Library-Driven Prompts: 라이브러리에서 사용 가능한 컴포넌트를 기반으로 모델 지침을 자동으로 생성합니다.
- Prebuilt Components: 테이블 및 레이아웃과 같은 일반적인 UI 요소를 위한 내장 라이브러리를 포함합니다.