Skip to content
/ Agentify Public

Framework-agnostic AI agent library for building single and multi-agent systems

License

Notifications You must be signed in to change notification settings

fa8i/Agentify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

141 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agentify

PyPI version Downloads License: MIT Python Version

Independent AI Agent Library based on the OpenAI SDK

Agentify is a lightweight, clean, and powerful Python library for building AI agents and multi-agent systems. It provides simple abstractions for memory, tools, and orchestration without the heavy framework lock-in.

Getting StartedDocumentationExamples


Key Features

Feature Description
Multi-Agent Orchestration Teams, sequential pipelines, hierarchical structures, and dynamic sub-agent spawning.
Memory Service Pluggable backends (In-Memory, SQLite, Redis, Elasticsearch) with configurable TTL, limits and token budgets.
Tools & MCP Easy @tool decorator, custom classes, and full Model Context Protocol (MCP) integration.
Async & Parallel Native arun() support for high-performance concurrent agent execution.
Observability Comprehensive callback system for monitoring, debugging, and tracing agent thoughts.
Reasoning & Planning Configure thinking depth, chain-of-thought storage, and real-time reasoning logs.

Installation

Install the core package:

pip install agentify-core

For all optional features (Redis, vector stores, etc.):

pip install agentify-core[all]

Quick Start

Here is how to create a simple agent with memory and tools:

# Note: Agentify does not auto-load .env. Load it manually if needed.
# from dotenv import load_dotenv; load_dotenv()

from agentify import BaseAgent, AgentConfig, MemoryService, MemoryAddress, tool
from agentify.memory.stores import InMemoryStore

# 1. Define a tool
@tool
def get_time() -> dict:
    """Returns the current local time."""
    from datetime import datetime
    return {"time": datetime.now().strftime("%H:%M:%S")}

# 2. Initialize Memory
memory = MemoryService(store=InMemoryStore())
addr = MemoryAddress(conversation_id="session_1")

# 3. Create the Agent
agent = BaseAgent(
    config=AgentConfig(
        name="ReasoningAgent",
        system_prompt="You are a helpful assistant.",
        provider="provider",
        model_name="model",
        reasoning_effort="low",  # optional param:"low", "medium", "high"
        model_kwargs={"max_completion_tokens": 5000}, # Pass model-specific params
        verbose=True, # Controls logging (True by default)
    ),
    memory=memory,
    memory_address=addr,
    tools=[get_time]
)

# 4. Run it
response = agent.run(user_input="What time is it?")

Documentation

Detailed guides and API references are available in the docs/ directory:

Examples

Explore the examples/ directory for production-ready implementations:

License

This project is licensed under the MIT License.


Created by Fabian Melchor
fabianmp_98@hotmail.com

About

Framework-agnostic AI agent library for building single and multi-agent systems

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages