grishahq/recursive-llm

Recursive Language Models for efficient long-context processing. Analyze 1M+ tokens by storing context in a Python REPL while reducing LLM token usage.

解決する問題

Recursive Language Models (RLM) は、標準的なモデルのプロンプトに収まりきらないほど高コストまたは巨大なコンテキストを分析する問題を解決します。ソーステキスト全体をLLMに送信するのではなく、RLMはモデルが制限付きPython REPLを通じてデータと対話できるようにし、必要なテキストのセクションのみを検索、フィルタリング、処理できるようにします。

動作方法

RLMは、永続的なPython REPL環境内にソーステキストを変数として格納します。ルートモデルはクエリと指示を受け取りますが、テキスト全体は受け取りません。その後、モデルはコンテキストを探索するためのPythonコード(例:正規表現やスライシングの使用)を生成し、ローカル計算を実行するか、特定のデータチャンクを処理するための他のLMへの再帰的サブコールを行います。このプロセスは、モデルが最終的な回答を生成するまで繰り返されます。安全性和コスト制御を確保するために、REPLはRestrictedPythonを使用して隔離されたサブプロセスで実行され、ハードタイムアウトとオプションのPOSIXリソース制限が適用されます。

対象ユーザー

直接の完了が高コストすぎたり、コンテキストウィンドウを超えたりする巨大なドキュメントやデータセットを処理する必要がある開発者や研究者向けに設計されています。また、プログラムによる検索、正確なカウント、ローカル計算がタスクに有益である場合に最適です。

特徴

  • 外部化されたコンテキスト:大規模なソーステキストをプロンプトに繰り返し記述するのではなく、REPL内に保持します。
  • 実行制限:API呼び出し、トークン、推定コスト、経過時間について、ツリー全体にわたる制限を実装します。
  • プロバイダーポータビリティ:LiteLLMを介して100以上のプロバイダーをサポートしており、OpenAI、Anthropic、DeepSeek、Ollamaやllama.cppによるローカルモデルも含みます。
  • 実行の可視化:詳細な実行統計、型付きの失敗、JSONL形式の完全な実行軌跡を提供します。
  • コスト最適化:意思決定に高能力なルートモデルを使用し、再帰的サブコールには安価なモデルを使用できます。
  • 回答検証:カスタムの決定論的検証器をサポートし、実行を再起動せずに最終回答を拒否し、フィードバックを提供できます。

関連

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