Skip to main content

UnisonAI Multi-Agent Framework provides a flexible, light-weight experience and extensible environment for creating and coordinating multiple AI agents.

Project description

UnisonAI Banner

Table of Contents

UnisonAI

Orchestrate the Future of Multi-Agent AI

Stars

License

Python Version


Overview

UnisonAI is a flexible and extensible Python framework for building, coordinating, and scaling multiple AI agents—each powered by the LLM of your choice.

  • Agent: For solo, focused tasks or as part of a clan for teamwork.

  • Clan: For coordination and distributed problem-solving with multiple agents.

  • Tool System: Easily augment agents with custom, pluggable tools (web search, time, APIs, your own logic).

Supports Cohere, Mixtral, Groq, Gemini, Grok, OpenAI, Anthropic, HelpingAI, and any custom model (just extend BaseLLM). UnisonAI is designed for real-world, production-grade multi-agent AI applications.


Quick Start

pip install unisonai
from unisonai import Agent

from unisonai.llms import Gemini

from unisonai import config



config.set_api_key("gemini", "your-api-key")

agent = Agent(

    llm=Gemini(model="gemini-2.0-flash"),

    identity="Assistant",

    description="A helpful AI assistant"

)

print(agent.unleash(task="Explain quantum computing"))

What Makes UnisonAI Special

UnisonAI stands out with its unique Agent-to-Agent (A2A) communication architecture, enabling seamless coordination between AI agents as if they were human team members collaborating on complex tasks.

A2A Communication Architecture

Example

Latest Enhancements

  • 🔒 Strong Type Validation: All tool parameters validated against ToolParameterType enum before execution

  • 🛡️ Enhanced Error Handling: Comprehensive error catching with detailed metadata for debugging

  • 📊 Standardized Results: All tools return ToolResult objects with success status and metadata


Perfect For:

  • Complex Research Tasks: Multiple agents gathering, analyzing, and synthesizing information

  • Workflow Automation: Coordinated agents handling multi-step business processes

  • Content Creation: Specialized agents for research, writing, editing, and publishing

  • Data Analysis: Distributed agents processing large datasets with different expertise


Core Components

| Component | Purpose | Key Features |

|-----------|---------|--------------|

| Agent | Standalone or clan member agent | Own history, tool integration, configurable LLMs, inter-agent messaging |

| Clan | Multi-agent orchestration | Team management, shared goals, coordinated execution |

| Tool System | Extensible capability framework | Type validation, error handling, standardized results |


Usage Examples

Individual Agent

from unisonai import Agent

from unisonai.llms import Gemini

from unisonai.tools.memory import MemoryTool



agent = Agent(

    llm=Gemini(model="gemini-2.0-flash"),

    identity="Research Assistant",

    description="An AI assistant with memory capabilities",

    tools=[MemoryTool]

)

agent.unleash(task="Store important project details")

Multi-Agent Clan

from unisonai import Agent, Clan



research_agent = Agent(llm=Gemini(), identity="Researcher", task="Gather information")

analysis_agent = Agent(llm=Gemini(), identity="Analyst", task="Analyze findings")



clan = Clan(

    clan_name="Research Team",

    manager=research_agent,

    members=[research_agent, analysis_agent],

    goal="Comprehensive market analysis"

)

clan.unleash()

Custom Tools

from unisonai.tools.tool import BaseTool, Field

from unisonai.tools.types import ToolParameterType



class CalculatorTool(BaseTool):

    def __init__(self):

        self.name = "calculator"

        self.description = "Mathematical operations"

        self.params = [

            Field(name="operation", field_type=ToolParameterType.STRING, required=True),

            Field(name="a", field_type=ToolParameterType.FLOAT, required=True),

            Field(name="b", field_type=ToolParameterType.FLOAT, required=True)

        ]

        super().__init__()



    def _run(self, operation: str, a: float, b: float) -> float:

        return a + b if operation == "add" else a * b

Configuration

API Keys

from unisonai import config



# Method 1: Configuration system

config.set_api_key("gemini", "your-key")

config.set_api_key("openai", "your-key")



# Method 2: Environment variables

export GEMINI_API_KEY="your-key"

export OPENAI_API_KEY="your-key"



# Method 3: Direct LLM initialization

llm = Gemini(api_key="your-key")

Documentation Hub

🚀 Getting Started

📖 Core Documentation

🛠️ Advanced Features

💡 Examples & Tutorials


FAQ

What is UnisonAI?

Python framework for building and orchestrating AI agents with A2A communication.

When should I use a Clan?

For complex, multi-step tasks requiring specialized agents working together.

Can I add custom LLMs?

Yes! Extend BaseLLM class to integrate any model provider.

What are tools?

Reusable components that extend agent capabilities (web search, APIs, custom logic).

How do I manage API keys?

Use config system, environment variables, or pass directly to LLMs.


Contributing

Founder: Anant Sharma (E5Anant)[https://github.com/E5Anant]

PRs and issues welcome! See our Contributing Guide.

Open Issues

Submit PRs

Suggest Features


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unisonai-1.1.tar.gz (35.0 kB view details)

Uploaded Source

Built Distribution

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

unisonai-1.1-py3-none-any.whl (45.4 kB view details)

Uploaded Python 3

File details

Details for the file unisonai-1.1.tar.gz.

File metadata

  • Download URL: unisonai-1.1.tar.gz
  • Upload date:
  • Size: 35.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for unisonai-1.1.tar.gz
Algorithm Hash digest
SHA256 627c48760c05b61badd3166b79267fb4c2a40be3945e967f1ff100d568cac550
MD5 ec68afad2b6317a2e99445bc34df5aec
BLAKE2b-256 32aed4adb78667bbd811e2e090b1558a92bb03eb8115bc916d655c4bff72f98e

See more details on using hashes here.

File details

Details for the file unisonai-1.1-py3-none-any.whl.

File metadata

  • Download URL: unisonai-1.1-py3-none-any.whl
  • Upload date:
  • Size: 45.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for unisonai-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f05e60e32cd5f08f7df755f6ddaeac8a7a68221cc0d11d0023a559b468aad465
MD5 f7397bd15b3a9949d639838441468bad
BLAKE2b-256 92391d5542fcf14947f4d24d7b0197e3120fe1a56b2099ab2b8f66a06457f005

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