jia-gao/leanctx
Drop-in prompt compression for production LLM apps. Cut your token bill 40-60% without changing your code. Python SDK, LLMLingua-2, MIT.
해결하는 문제
leanctx는 LLM 입력 토큰 비용을 10–40% 감소시키는 드롭인형 프롬프트 압축 라이브러리입니다. 동적 쿼리 기반 콘텐츠(예: 채팅 기록, RAG에서 검색된 문서, 도구 출력 등)에 특화되어 있으며, 제공자 측 프롬프트 캐싱으로는 처리할 수 없는 문제를 해결합니다.
작동 방식
이 프로젝트는 "손실 허용 라우팅" 메커니즘을 사용하여 프롬프트 세그먼트를 얼마나 왜곡에 견딜 수 있는지 분류합니다. 이후 콘텐츠 유형에 따라 다른 압축 전략을 적용합니다:
- 제로 허용 (정확 복제): 코드, 스택 트레이스, 도구 호출 메타데이터는 바이트 단위로 보존되어 구조적 무결성을 보장합니다.
- 고 허용 (Lingua): 문서, 로그, 검색된 문장은 로컬 LLMLingua-2 모델을 사용해 압축 (~50% 감소).
- 조건부 (Self-LLM): 신뢰도가 낮은 프로스 또는 과도한 컨텍스트는 저비용 LLM에 요약을 위임 (옵트인).
신뢰성을 보장하기 위해 압축 후 "불변 조건"(예: 메시지 순서, 도구 ID)을 검사합니다. 검사 실패 또는 타임아웃 발생 시 원본 비압축 요청을 제공자에게 전송하는 "오픈 패일" 방식으로 동작합니다.
대상 사용자
- 높은 토큰 비용이 발생하는 프로덕션 LLM 애플리케이션 개발자.
- 큰 검색 컨텍스트를 가진 RAG 애플리케이션 구축자.
- 장기간 작동하는 대화형 에이전트(예: LangChain 또는 CrewAI 사용) 개발자.
- 대규모 도구 호출 기록과 소스 코드를 처리하는 코딩 에이전트 개발자.
주요 특징
- 드롭인 통합: OpenAI, Anthropic, Gemini SDK를 간단한 설정 변경만으로 감싸 사용 가능.
- 로컬 실행: 압축 모델은 로컬에서 실행( MIT 라이선스), 기본적으로 사용자 데이터가 인프라 외부로 유출되지 않음.
- 캐시와 보완: 제공자 프롬프트 캐시와 함께 작동하며, 요청의 가변적 접미사를 압축함.
- 관측성: 토큰 절감량, 비용, 지연 시간을 추적하기 위한 내장 OpenTelemetry 지원.
- HTTP 사이드카: Python 외 스택을 위한 FastAPI 기반 서버를 포함하여 API를 통해 압축 기능에 접근 가능.
관련
- 프로젝트
- 프로젝트
- 프로젝트