antoinezambelli/forge

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

解決的問題

Forge 為自託管 LLM 工具呼叫提供可靠性層。它解決了本地模型(尤其是 8B 參數左右的小型模型)在執行工具時表現出的不穩定問題,這些問題通常表現為輸出格式錯誤、工具選擇錯誤或無法遵循結構化工作流。

工作原理

Forge 實現了一套位於 LLM 和應用程式之間的護欄(guardrails)堆疊。它可以透過三種方式使用:

  1. Proxy Server:一個即插即用的代理,支援 OpenAI 和 Anthropic API。它透明地攔截請求並應用護欄,允許現有工具(如 aider 或 Claude Code)在無需更改程式碼的情況下使用本地模型。
  2. WorkflowRunner:一個用於定義工具和結構化代理循環的高階框架,管理從系統提示詞到上下文壓縮的完整生命週期。
  3. Guardrails Middleware:一組可組合的工具,可以整合到現有的自定義編排循環中。

關鍵技術機制包括:

  • Rescue Parsing:從非規範格式(例如 XML 或帶圍欄的 JSON)中提取結構化的工具呼叫,並將其轉換為標準模式。
  • Response Validation:在工具呼叫到達用戶端之前,根據定義的規範進行檢查。
  • Retry Loops:透過對模型進行糾正性「提示(nudges)」,自動重試失敗的推理。
  • Synthetic respond Tool:強制模型使用特定的工具進行文本回應,防止在生成文本和呼叫工具之間產生常見的混淆。

適用對象

使用自託管 LLM(透過 Ollama、vLLM、llama.cpp 等)構建代理應用程式的開發者,他們需要工具呼叫的生產級可靠性,而無需切換到龐大的前沿模型。

亮點

  • 顯著的性能提升:在評估套件中,將 8B 本地模型的可靠性從個位數提升到了 84%。
  • 廣泛的後端支援:相容 Ollama、llama-server、Llamafile、vLLM 和 Anthropic。
  • 零重寫整合:代理模式允許在不修改原始碼的情況下增強現有的 AI 編碼工具鏈。
  • 上下文管理:包括用於高效管理 Token 預算的階層式壓縮策略。