antoinezambelli/forge
A Python framework for self-hosted LLM tool-calling and multi-step agentic workflows
解決的問題
Forge 是一個專為提升工具呼叫(函數呼叫)可靠性而設計的可靠性層,特別針對自托管的本地 LLM。它能防止模型輸出格式錯誤的 JSON、呼叫不存在的工具,或未能遵循特定步驟順序等常見失敗,這些錯誤通常會導致代理工作流程崩潰或陷入無限循環。
工作原理
Forge 作為一個可三種方式整合的防護系統:
- 代理伺服器:一個即插即用的邊車(sidecar),位於現有客戶端(如 Aider 或 Claude Code)與模型伺服器之間。它透明地攔截請求,並應用防護規則,無需修改客戶端程式碼。
- WorkflowRunner:一個高階框架,用於定義工具和結構化代理循環,管理從系統提示到上下文壓縮的完整生命週期。
- Guardrails 中間件:一組可組合的工具,可插入自訂編排循環中,用於驗證回應並修復格式錯誤的呼叫。
關鍵可靠性機制包括 救援解析(從 XML 或程式碼區塊等非標準格式中提取工具呼叫)、回應驗證(檢查工具名稱和結構)以及 帶修正提示的自動重試循環。
適用對象
依賴本地 LLM 建構 AI 代理或使用現有程式碼助手的開發者,希望在不切換到更大、更昂貴的前沿模型的前提下,提升工具呼叫的成功率。
主要亮點
- 顯著提升可靠性:在評估套件中,將本地 8B 模型的成功率從個位數提升至 84%。
- 廣泛後端支援:相容 llama-server、Ollama、vLLM、Llamafile 和 Anthropic。
- 零重寫整合:代理模式允許現有 OpenAI 相容工具透明地受益於防護機制。
- 上下文管理:包含分層壓縮等策略,高效管理令牌預算。
- 優先存取:
SlotWorker允許多個專業工作流程透過優先權佇列共享單一 GPU 通道。
相關
- Dispatch
- 專案
- 專案
- Dispatch
- 專案