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
- 项目