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.

解決的問題

遞歸語言模型(RLM)解決了分析極大上下文的問題,這些上下文要么成本過高,要么過大而無法放入標準模型的提示中。RLM 不會將整個來源文字傳送給 LLM,而是允許模型透過受限的 Python REPL 與資料互動,從而僅搜尋、過濾和處理文字中必要的部分。

工作原理

RLM 將來源文字儲存在持久化的 Python REPL 環境中的變數內。根模型接收查詢和指示,但不接收完整文字。隨後,模型產生 Python 程式碼來探索上下文(例如使用正規表示式或切片),執行本地計算,或對其他 LMs 進行遞迴子呼叫以處理特定資料區塊。此過程持續進行,直到模型產生最終答案。為確保安全性和成本控制,REPL 在使用 RestrictedPython 的隔離子流程中執行,並設有硬性逾時和可選的 POSIX 資源限制。

適用對象

RLM 專為需要處理超大文件或資料集的開發者和研究人員設計,這些情境下直接完成任務成本過高或超出上下文視窗,且任務受益於程式化搜尋、精確計數或本地計算。

特色亮點

  • 外部化上下文:將大來源文字保留在 REPL 中,而非在提示中重複出現。
  • 執行範圍可控:對 API 呼叫、令牌數、估算成本和經過時間實施全樹範圍的限制。
  • 提供方可移植性:透過 LiteLLM 支援超過 100 個提供方,包括 OpenAI、Anthropic、DeepSeek,以及透過 Ollama 或 llama.cpp 的本地模型。
  • 可觀測執行:提供詳細的執行統計、類型化失敗和 JSONL 格式的完整執行軌跡。
  • 成本優化:允許使用高能力根模型進行決策,而遞迴子呼叫使用更便宜的模型。
  • 答案驗證:支援自訂決定性驗證器,可在不重新啟動執行的情況下拒絕最終答案並提供反饋。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案