antoinezambelli/forge
A Python framework for self-hosted LLM tool-calling and multi-step agentic workflows
解決的問題
Forge 為自託管 LLM 工具呼叫提供可靠性層。它解決了本地模型(尤其是 8B 參數左右的小型模型)在執行工具時表現出的不穩定問題,這些問題通常表現為輸出格式錯誤、工具選擇錯誤或無法遵循結構化工作流。
工作原理
Forge 實現了一套位於 LLM 和應用程式之間的護欄(guardrails)堆疊。它可以透過三種方式使用:
- Proxy Server:一個即插即用的代理,支援 OpenAI 和 Anthropic API。它透明地攔截請求並應用護欄,允許現有工具(如 aider 或 Claude Code)在無需更改程式碼的情況下使用本地模型。
- WorkflowRunner:一個用於定義工具和結構化代理循環的高階框架,管理從系統提示詞到上下文壓縮的完整生命週期。
- Guardrails Middleware:一組可組合的工具,可以整合到現有的自定義編排循環中。
關鍵技術機制包括:
- Rescue Parsing:從非規範格式(例如 XML 或帶圍欄的 JSON)中提取結構化的工具呼叫,並將其轉換為標準模式。
- Response Validation:在工具呼叫到達用戶端之前,根據定義的規範進行檢查。
- Retry Loops:透過對模型進行糾正性「提示(nudges)」,自動重試失敗的推理。
- Synthetic
respondTool:強制模型使用特定的工具進行文本回應,防止在生成文本和呼叫工具之間產生常見的混淆。
適用對象
使用自託管 LLM(透過 Ollama、vLLM、llama.cpp 等)構建代理應用程式的開發者,他們需要工具呼叫的生產級可靠性,而無需切換到龐大的前沿模型。
亮點
- 顯著的性能提升:在評估套件中,將 8B 本地模型的可靠性從個位數提升到了 84%。
- 廣泛的後端支援:相容 Ollama、llama-server、Llamafile、vLLM 和 Anthropic。
- 零重寫整合:代理模式允許在不修改原始碼的情況下增強現有的 AI 編碼工具鏈。
- 上下文管理:包括用於高效管理 Token 預算的階層式壓縮策略。