guidance-ai/llguidance

Super-fast Structured Outputs

해결하는 문제

llguidance는 LLM 출력에서 "환각" 또는 포맷 오류 문제를 제약된 디코딩을 통해 해결합니다. 모델의 출력이 특정 구조(예: JSON 스키마, 정규 표현식, 문맥 자유 문법)에 엄격히 부합하도록 보장하며, 해당 형식에 맞게 모델을 피팅할 필요가 없습니다.

작동 방식

이 라이브러리는 디코딩 과정 중 실시간으로 "토큰 마스크"를 계산합니다. 문법과 이미 생성된 토큰을 기반으로, 모델의 어휘에서 문법 규칙을 유지하기 위해 유효한 다음 단계 토큰을 정확히 식별합니다.

기술적으로 문맥 자유 문법 분석에 Earley 알고리즘을 사용하고, 정규 표현식 도함수 기반의 렉서를 활용합니다. 모든 가능한 토큰의 접두사 트리(트라이)를 탐색함으로써 마스크 계산을 극도로 최적화하여 평균 50µs/토큰의 매우 빠른 속도로 처리하며, 시작 오버헤드는 거의 없습니다.

대상 사용자

구조화된 출력을 보장해야 하는 프로덕션 AI 애플리케이션을 개발하는 개발자, 그리고 vLLM, SGLang, llama.cpp와 같은 LLM 인퍼런스 엔진 개발자에게 적합합니다. 고성능 문법 강제 기능을 통합하고자 하는 분들께 추천합니다.

주요 특징

  • 극도의 성능: 대규모 토크나이저에서도 토큰당 약 50µs의 CPU 시간으로 토큰 마스크를 계산 가능.
  • 광범위한 형식 지원: JSON 스키마, 정규 표현식, Lark 스타일의 문맥 자유 문법을 지원.
  • 시작 오버헤드 없음: 일부 경쟁 제품과 달리 자동 상태의 장시간 사전 계산이 필요하지 않음.
  • 광범위한 통합: OpenAI 모델의 구조화된 출력을 구현하고, vLLM, SGLang, llama.cpp, Chromium에 통합됨.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch