- Category
- AI Agents
- Rank
- No. 1656Tools index
Previous survey · No. 1544 ·
- Type
- APP
- Builder
- antoinezambelli
- GitHub
- 2.2k stars
- Latest release
- v0.9.5
- Date
About
A Python framework for self-hosted LLM tool-calling and multi-step agentic workflows.
What it does
Forge sits between an application and a language model, catches malformed or invalid tool requests, and retries with corrective feedback. You can run it as a compatible proxy, let it manage a complete workflow loop, or add its guardrails to an existing loop. Optional rules enforce required steps, prerequisites, and a terminal action.
Why it's ranked here
Forge has a focused job and several practical adoption paths. The proxy can strengthen an existing client without a Python rewrite, while the library exposes workflow, context, and backend controls for deeper integration. Its documented evaluation results support the reliability case, though those results come from Forge's own scenario suite.
What's good
Rescue parsing converts several common malformed formats into canonical structured tool calls. Validation rejects unknown tools and broken call shapes before clients receive them. Corrective retries give the model useful feedback instead of merely failing. Backend profiles separate protocol, endpoint layout, lifecycle ownership, and model identity, which makes compatibility rules explicit.
Tradeoffs
The proxy handles each request independently, so it cannot enforce step order across turns or manage session memory and context compaction. Callers still own rolling history in proxy mode. Forge does not provide multi-agent graphs, planning across agents, or a coding harness. It requires Python 3.12 or newer and a separate model backend.
How to use it well
Use the proxy when an existing OpenAI-compatible or Anthropic Messages client needs more reliable local-model tool calls. Use the library when you need ordered steps, tool execution, context compaction, or shared access to an inference slot. Embed the middleware when you already own the loop. Choose another system for multi-agent coordination or coding-agent features.
Technical notes+
The package is built with Hatchling from src/forge and exposes the forge-proxy console script through pyproject.toml. src/forge/proxy/server.py implements a raw asyncio HTTP server with request serialization, SSE handling, metadata forwarding, and a 16 MB body limit. src/forge/_backend_profiles.py, src/forge/_endpoint_layouts.py, and src/forge/_resolved_backend.py separate backend capabilities, URL topology, and resolved connections. src/forge/server.py manages spawned llama-server, Llamafile, and vLLM processes while attaching to an existing Ollama daemon. src/forge/errors.py defines specific failures for tool calls, workflow enforcement, context budgets, backend discovery, and credential conflicts.
Observed
- License
- MIT
- Primary language
- Python
- Python requirement
- Python 3.12 or newer
- Packaging
- Published as forge-guardrails; installed with pip and built with Hatchling
- Interfaces
- Python library, forge-proxy CLI, OpenAI chat-completions proxy, and Anthropic Messages proxy
- Backend support
- Generic OpenAI-compatible endpoints, Anthropic, Ollama, llama-server, Llamafile, and vLLM
- Test structure
- Pytest is configured to discover tests under the tests directory, with a marker for backend-dependent integration tests
Read from README.md, pyproject.toml, src/forge/server.py, src/forge/errors.py, src/forge/__init__.py, src/forge/_backend_profiles.py, src/forge/_endpoint_layouts.py, src/forge/_resolved_backend.py, src/forge/proxy/server.py, src/forge/core/__init__.py, src/forge/proxy/__init__.py, src/forge/proxy/__main__.py, src/forge/tools/__init__.py, src/forge/clients/__init__.py, src/forge/context/__init__.py.
Intel on Forge
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
