LLM 생성 과정에서 출력을 지정된 타입, 정규식, JSON 스키마 또는 문법에 맞도록 제한하는 Python 라이브러리입니다.
mlc-ai/xgrammar
LLM 출력을 JSON, 정규식 또는 사용자 지정 문맥 자유 문법으로 제한하는 빠르고 유연한 구조화 생성 라이브러리입니다.
- 스타
- 1,967
- 포크
- 241
- 열린 이슈
- 130
- 마지막 커밋
- 3일 전
어떤 프로젝트인가요?
XGrammar는 대규모 언어 모델을 위한 구조화 생성 오픈소스 라이브러리입니다. 제약 디코딩을 사용해 생성된 출력이 JSON, 정규식 또는 일반 문맥 자유 문법과 같은 지정된 구조를 따르도록 합니다. 이를 통해 LLM 출력이 파싱에 실패하거나 예상 스키마와 일치하지 않는 흔한 문제를 해결합니다.
이 프로젝트는 제약 디코딩의 오버헤드를 낮게 유지하는 데 중점을 두며, JSON 생성 시 오버헤드가 거의 없다고 보고합니다. Linux, macOS, Windows뿐 아니라 CPU, NVIDIA 및 AMD GPU, Apple Silicon, TPU에서도 사용할 수 있도록 설계되었습니다. Python, C++, JavaScript, Swift 바인딩을 제공합니다.
XGrammar는 추론 엔진에 임베드하는 용도로 만들어졌습니다. vLLM, SGLang, TensorRT-LLM, MLC-LLM 등의 프로젝트에 통합되어 있으며, pip으로 설치할 수 있습니다.
핵심 기능
- 01출력을 JSON, 정규식 또는 사용자 지정 문맥 자유 문법으로 제한합니다.
- 02JSON 생성 시 오버헤드를 거의 없애는 것을 목표로 합니다.
- 03Linux, macOS, Windows에서 CPU, NVIDIA 및 AMD GPU, Apple Silicon, TPU를 지원합니다.
- 04Python, C++, JavaScript, Swift API를 제공합니다.
- 05pip으로 설치할 수 있으며, Apple Silicon용 Metal extra를 선택적으로 제공합니다.
활용 사례
- LLM 서빙 엔진의 출력을 유효한 JSON으로 강제해 후속 파싱에 활용합니다.
- 도구 호출이나 함수 인수에 맞게 모델 출력을 정규식 또는 문법으로 제한합니다.
- 사용자 지정 LLM 추론 스택에 구조화된 출력 지원을 추가합니다.
빠른 시작
- 1
PyPI에서 XGrammar 설치하기
pip install xgrammar - 2
Apple Silicon용 Metal 지원을 활성화하여 설치하기(선택 사항)
pip install "xgrammar[metal]" - 3
Python 코드에서 XGrammar 가져오기
import xgrammar as xgr
사용 전 알아둘 점
- README의 사용법에 관한 세부 정보 대부분은 README 자체가 아니라 외부 문서에 있습니다.
토픽
자주 묻는 질문
- xgrammar은(는) 무엇인가요?
- LLM 출력을 JSON, 정규식 또는 사용자 지정 문맥 자유 문법으로 제한하는 빠르고 유연한 구조화 생성 라이브러리입니다. XGrammar는 대규모 언어 모델을 위한 구조화 생성 오픈소스 라이브러리입니다. 제약 디코딩을 사용해 생성된 출력이 JSON, 정규식 또는 일반 문맥 자유 문법과 같은 지정된 구조를 따르도록 합니다. 이를 통해 LLM 출력이 파싱에 실패하거나 예상 스키마와 일치하지 않는 흔한 문제를 해결합니다.
- xgrammar은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- xgrammar은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- xgrammar은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. xgrammar의 마지막 커밋은 2026년 10월 18일입니다.
- xgrammar은(는) 어디에 사용할 수 있나요?
- LLM 서빙 엔진의 출력을 유효한 JSON으로 강제해 후속 파싱에 활용합니다. 도구 호출이나 함수 인수에 맞게 모델 출력을 정규식 또는 문법으로 제한합니다. 사용자 지정 LLM 추론 스택에 구조화된 출력 지원을 추가합니다.
- xgrammar는 어떻게 설치하나요?
- PyPI에서 XGrammar 설치하기: pip install xgrammar Apple Silicon용 Metal 지원을 활성화하여 설치하기(선택 사항): pip install "xgrammar[metal]" Python 코드에서 XGrammar 가져오기: import xgrammar as xgr
- xgrammar은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/mlc-ai/xgrammar
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Ray는 분산 런타임과 AI 라이브러리를 제공해 노트북부터 클러스터까지 Python 및 AI 애플리케이션을 확장하는 통합 프레임워크입니다.
LLM 프롬프트에 구조화된 데이터를 전달할 때 토큰 사용량을 줄이도록 설계된, 간결하고 사람이 읽기 쉬운 JSON 인코딩 형식입니다.
다차원 병렬 처리로 대규모 Transformer 모델을 학습하기 위한 GPU 최적화 라이브러리와 학습 레퍼런스 스크립트입니다.
Intel CPU, GPU, NPU에서 추론할 딥러닝 모델을 최적화하고 배포하는 오픈 소스 툴킷입니다.
학습과 추론을 위해 FP8 디스패치 및 NVLink/RDMA를 지원하는 expert-parallel MoE 디스패치·결합용 GPU 통신 라이브러리입니다.