Skip to main content

The Ultimate Modular Autonomous Multi AI Agent Framework.

Project description


SuperAgentX: A lightweight autonomous true multi-agent framework with AGI capabilities.


Python 3.10+ GitHub Repo stars License: MIT

Key Features

🚀 Open-Source Framework: A lightweight, open-source AI framework built for multi-agent applications with Artificial General Intelligence (AGI) capabilities.

🎯 Goal-Oriented Multi-Agents: This technology enables the creation of agents with retry mechanisms to achieve set goals. Communication between agents is Parallel, Sequential, or hybrid.

🏖️ Easy Deployment: Offers WebSocket, RESTful API, and IO console interfaces for rapid setup of agent-based AI solutions.

♨️ Streamlined Architecture: Enterprise-ready scalable and pluggable architecture. No major dependencies; built independently!

📚 Contextual Memory: Uses SQL + Vector databases to store and retrieve user-specific context effectively.

🧠 Flexible LLM Configuration: Supports simple configuration options of various Gen AI models.

🤝🏻 Extendable Handlers: Allows integration with diverse APIs, databases, data warehouses, data lakes, IoT streams, and more, making them accessible for function-calling features.

Table of contents

What is SuperAgentX?

The Ultimate Modular Autonomous Agentic AI Framework for Progressing Towards AGI.

SuperAgentX is an advanced agentic AI framework designed to accelerate the development of Artificial General Intelligence (AGI). It provides a powerful, modular, and flexible platform for building autonomous AI agents capable of executing complex tasks with minimal human intervention. By integrating cutting-edge AI technologies and promoting efficient, scalable agent behavior, SuperAgentX embodies a critical step forward in the path toward superintelligence and AGI. Whether for research, development, or deployment, SuperAgentX is built to push the boundaries of what's possible with autonomous AI systems.

Why SuperAgentX?

SuperAgentX addresses the growing need for highly capable, autonomous AI systems that can perform complex tasks with minimal human intervention. As we approach the limits of narrow AI, there's a need for an adaptable and scalable framework to bridge the gap toward AGI (Artificial General Intelligence). Here’s why SuperAgentX stands out:

Super: Cutting-edge AI systems with exceptional capabilities, paving the way to AGI (Artificial General Intelligence) and ASI (Artificial Super Intelligence).

Agent: Autonomous Multi AI agent framework designed to make decisions, act independently, and handle complex tasks.

X: The unknown, the limitless, the extra factor that makes SuperAgentX revolutionary, futuristic, and transformative.

Getting Started

pip install superagentx
Usage - Example SuperAgentX Code

This SuperAgentX example utilizes two handlers, Amazon and Walmart, to search for product items based on user input from the IO Console.

  1. It uses Parallel execution of handler in the agent
  2. Memory Context Enabled
  3. LLM configured to OpenAI
  4. Pre-requisites

Set OpenAI Key:

export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxx

Set Rapid API Key Free Subscription for Amazon, Walmart Search APIs

export RAPID_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXX
# Additional lib needs to install
# `pip install superagentx-handlers`
# python3 superagentx_examples/ecom_iopipe.py

import asyncio

from rich import print as rprint

from superagentx.memory import Memory
from superagentx.agent import Agent
from superagentx.engine import Engine
from superagentx.llm import LLMClient
from superagentx.agentxpipe import AgentXPipe
from superagentx.pipeimpl.iopipe import IOPipe
from superagentx.prompt import PromptTemplate
from superagentx_handlers.ecommerce.amazon import AmazonHandler
from superagentx_handlers.ecommerce.walmart import WalmartHandler


async def main():
    """
    Launches the e-commerce pipeline console client for processing requests and handling data.
    """

    # LLM Configuration
    llm_config = {'llm_type': 'openai'}
    llm_client: LLMClient = LLMClient(llm_config=llm_config)

    # Enable Memory
    memory = Memory(memory_config={"llm_client": llm_client})

    # Add Two Handlers (Tools) - Amazon, Walmart
    amazon_ecom_handler = AmazonHandler()
    walmart_ecom_handler = WalmartHandler()

    # Prompt Template
    prompt_template = PromptTemplate()

    # Amazon & Walmart Engine to execute handlers
    amazon_engine = Engine(
        handler=amazon_ecom_handler,
        llm=llm_client,
        prompt_template=prompt_template
    )
    walmart_engine = Engine(
        handler=walmart_ecom_handler,
        llm=llm_client,
        prompt_template=prompt_template
    )

    # Create Agent with Amazon, Walmart Engines execute in Parallel - Search Products from user prompts
    ecom_agent = Agent(
        name='Ecom Agent',
        goal="Get me the best search results",
        role="You are the best product searcher",
        llm=llm_client,
        prompt_template=prompt_template,
        engines=[[amazon_engine, walmart_engine]]
    )

    # Pipe Interface to send it to public accessible interface (Cli Console / WebSocket / Restful API)
    pipe = AgentXPipe(
        agents=[ecom_agent],
        memory=memory
    )

    # Create IO Cli Console - Interface
    io_pipe = IOPipe(
        search_name='SuperAgentX Ecom',
        agentx_pipe=pipe,
        read_prompt=f"\n[bold green]Enter your search here"
    )
    await io_pipe.start()


if __name__ == '__main__':
    try:
        asyncio.run(main())
    except (KeyboardInterrupt, asyncio.CancelledError):
        rprint("\nUser canceled the [bold yellow][i]pipe[/i]!")
Usage - Example SuperAgentX Result

SuperAgentX searches for product items requested by the user in the console, validates them against the set goal, and returns the result. It retains the context, allowing it to respond to the user's next prompt in the IO Console intelligently.

Output

Architecture

Large Language Models

Icon LLM Name                       Status
OpenAI
Azure OpenAI
AWS Bedrock
Google Gemini
Meta Llama
Ollama
Claude AI
Mistral AI
IBM WatsonX

Environment Setup

$ python3.12 -m pip install poetry
$ cd <path-to>/superagentx
$ python3.12 -m venv venv
$ source venv/bin/activate
(venv) $ poetry install

Documentation

License

SuperAgentX is released under the MIT License.

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

superagentx-0.1.17.tar.gz (56.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

superagentx-0.1.17-py3-none-any.whl (80.4 kB view details)

Uploaded Python 3

File details

Details for the file superagentx-0.1.17.tar.gz.

File metadata

  • Download URL: superagentx-0.1.17.tar.gz
  • Upload date:
  • Size: 56.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.8 Darwin/24.4.0

File hashes

Hashes for superagentx-0.1.17.tar.gz
Algorithm Hash digest
SHA256 79cdf8d9b0d0efc50a3be4e5136aa9eff443a628e1bc4d3d37661cca82134051
MD5 52ccefc840d82376f92a8cf4c50fcd3b
BLAKE2b-256 5697401f0948b7a8b0dd9856198616cfb888c2726f7f4d5c09ba9f0974ae586d

See more details on using hashes here.

File details

Details for the file superagentx-0.1.17-py3-none-any.whl.

File metadata

  • Download URL: superagentx-0.1.17-py3-none-any.whl
  • Upload date:
  • Size: 80.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.8 Darwin/24.4.0

File hashes

Hashes for superagentx-0.1.17-py3-none-any.whl
Algorithm Hash digest
SHA256 a604347468311c9c5c091518537764c1ab6970ea2a2915d5c99b2848f299bd15
MD5 224cf8f67adff9ea6401e6c66a47d42d
BLAKE2b-256 2b062031eafeaea410d53d2b4788b1d8e2e274ccfcefdac82faaaae6cee1942f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page