antoinezambelli/forge

A Python framework for self-hosted LLM tool-calling and multi-step agentic workflows

解決的問題

Forge 是一個專為提升工具呼叫(函數呼叫)可靠性而設計的可靠性層,特別針對自托管的本地 LLM。它能防止模型輸出格式錯誤的 JSON、呼叫不存在的工具,或未能遵循特定步驟順序等常見失敗,這些錯誤通常會導致代理工作流程崩潰或陷入無限循環。

工作原理

Forge 作為一個可三種方式整合的防護系統:

  1. 代理伺服器:一個即插即用的邊車(sidecar),位於現有客戶端(如 Aider 或 Claude Code)與模型伺服器之間。它透明地攔截請求,並應用防護規則,無需修改客戶端程式碼。
  2. WorkflowRunner:一個高階框架,用於定義工具和結構化代理循環,管理從系統提示到上下文壓縮的完整生命週期。
  3. Guardrails 中間件:一組可組合的工具,可插入自訂編排循環中,用於驗證回應並修復格式錯誤的呼叫。

關鍵可靠性機制包括 救援解析(從 XML 或程式碼區塊等非標準格式中提取工具呼叫)、回應驗證(檢查工具名稱和結構)以及 帶修正提示的自動重試循環

適用對象

依賴本地 LLM 建構 AI 代理或使用現有程式碼助手的開發者,希望在不切換到更大、更昂貴的前沿模型的前提下,提升工具呼叫的成功率。

主要亮點

  • 顯著提升可靠性:在評估套件中,將本地 8B 模型的成功率從個位數提升至 84%。
  • 廣泛後端支援:相容 llama-server、Ollama、vLLM、Llamafile 和 Anthropic。
  • 零重寫整合:代理模式允許現有 OpenAI 相容工具透明地受益於防護機制。
  • 上下文管理:包含分層壓縮等策略,高效管理令牌預算。
  • 優先存取SlotWorker 允許多個專業工作流程透過優先權佇列共享單一 GPU 通道。

相關

  • Dispatch
  • 專案
  • 專案
  • Dispatch
  • 專案