A comprehensive framework for building agents with Small Language Models
Project description
effGen: Enabling Small Language Models as Capable Autonomous Agents
Website | Documentation | Paper | PyPI
What is effGen?
effGen is a framework that makes Small Language Models (1B-7B parameters) work as powerful AI agents. While most agent frameworks require massive LLMs, effGen is optimized from the ground up for efficient, smaller models.
from effgen import Agent, load_model
# Create an agent with any model
agent = Agent(
model=load_model("Qwen/Qwen2.5-3B-Instruct"),
tools=["calculator", "web_search", "code_executor"]
)
# Run tasks
result = agent.run("Search for the latest AI news and summarize the top 3 stories")
print(result.output)
Installation
From PyPI (Recommended)
pip install effgen
With vLLM for faster inference
pip install effgen[vllm]
From Source
git clone https://github.com/ctrl-gaurav/effGen.git
cd effGen
# Option 1: Quick install (recommended)
./install.sh
# Option 2: Quick install for CI (no animations)
./install.sh --quick
# Option 3: Full install (includes vLLM, dev tools)
./install.sh --full
# Option 4: Manual install
pip install -e .
Quick Start
CLI Usage
# Run a task
effgen run "What is the capital of France?"
# Interactive chat
effgen chat
# Start API server
effgen serve --port 8000
Python API
from effgen import Agent
from effgen.core.agent import AgentConfig
# Configure your agent
config = AgentConfig(
name="MyAgent",
model="Qwen/Qwen2.5-3B-Instruct",
tools=["calculator", "web_search"],
enable_memory=True
)
# Create and run
agent = Agent(config)
result = agent.run("Calculate 15% tip on $85.50")
Features
| Feature | Description |
|---|---|
| SLM Optimized | Prompt engineering and techniques designed for 1B-7B models |
| Multi-Model | Supports HuggingFace, OpenAI, Anthropic, Gemini, vLLM |
| Tool Integration | Built-in tools + MCP, A2A, ACP protocol support |
| Task Decomposition | Automatic breakdown of complex tasks |
| Multi-Agent | Coordinate multiple specialized agents |
| Memory Systems | Short-term and long-term memory |
| Sandboxed Execution | Safe code execution with Docker |
Examples
See the examples/ directory:
python examples/basic_agent.py # Calculator agent with tools
python examples/web_agent.py # Web search agent
Security
effGen provides secure execution options:
- Docker Sandbox: Isolated code execution
- Input Validation: Automatic sanitization
- Rate Limiting: Configurable limits on tool usage
For security policies and vulnerability reporting, see SECURITY.md.
Citation
@software{effgen2026,
title = {effGen: Enabling Small Language Models as Capable Autonomous Agents},
author = {Srivastava, Gaurav and Hussain, Aafiya and Wang, Chi and Lin, Yingyan and Wang, Xuan},
year = {2026},
url = {https://github.com/ctrl-gaurav/effGen},
version = {0.0.1}
}
Links
- Website: effgen.org
- Documentation: effgen.org/docs
- PyPI: pypi.org/project/effgen
- Issues: GitHub Issues
License
MIT License - see LICENSE for details.
Get Started | Examples | GitHub
Made with care for the AI community
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file effgen-0.0.1.tar.gz.
File metadata
- Download URL: effgen-0.0.1.tar.gz
- Upload date:
- Size: 241.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
368c86a1e5ab09b0e2978aa591b272eb55b7f08dd3c10d6c425d0a2b46dbf985
|
|
| MD5 |
043188fd1e00d52506ac01209f389393
|
|
| BLAKE2b-256 |
a7ea62a48a60646918889c01086d2ceab2479677575b8e93258cdb4e9ab6b3ed
|
File details
Details for the file effgen-0.0.1-py3-none-any.whl.
File metadata
- Download URL: effgen-0.0.1-py3-none-any.whl
- Upload date:
- Size: 281.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a37dc8603558e81fd9ab226cb063703e36dbc94806a2cca263d9beaada48c32
|
|
| MD5 |
d1381f28a106e56225d83018baf8c0ed
|
|
| BLAKE2b-256 |
efdb06371d8b02ff4789396e6689a5a439688f8771273f61597a4574260b90b7
|