Skip to main content
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


Metadata

Release files for unisonai 1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for unisonai 1.2
File Size Uploaded
unisonai-1.2.tar.gz 35.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for unisonai 1.2
File Interpreter ABI Platform
unisonai-1.2-py3-none-any.whl Python 3 none any Details

Total release size: 81.0 kB

Release files / unisonai-1.2.tar.gz

Download URL unisonai-1.2.tar.gz
Size 35.3 kB
Tags Source
SHA-256 checksum
How to use checksums
e261d8de63f06a5329cb2418650d6ea52d0bc955e8ce6be0f7ae7a8ce744671f
BLAKE2b-256 checksum
How to use checksums
62a805b74f576969409e36c8be9dbbf8ad1c3a839a5feaeb77a2fcc44d85d398
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release files / unisonai-1.2-py3-none-any.whl

Download URL unisonai-1.2-py3-none-any.whl
Size 45.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6f3bf791106eb364706078bdc93df4e808dedb25e5fa301531bb817f1951d5a2
BLAKE2b-256 checksum
How to use checksums
cbf1928eb914a8f193fcfa7203232c6e007508c6ca1adaaedcee6b36cbcf1ad4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

1.2 This release

2 release files

1.1

2 release files

1.0

2 release files

0.9

2 release files

0.8

2 release files

0.7

2 release files

0.6

2 release files

0.5

2 release files

0.4

2 release files

0.3

2 release files

0.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page