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 で圧縮機能にアクセス可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト