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.0.tar.gz (39.5 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.0-py3-none-any.whl (50.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for unisonai-1.0.tar.gz
Algorithm Hash digest
SHA256 171c3808c148a25322455b04df5db2971faee878f37e632ead0d0f7cf626df2b
MD5 e784e122603cc36ba5308d1778f457c3
BLAKE2b-256 2c87e5349f71b34d32acf60af28f592c9ebcba440b16426e669ded4acb6be894

See more details on using hashes here.

File details

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

File metadata

  • Download URL: unisonai-1.0-py3-none-any.whl
  • Upload date:
  • Size: 50.5 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3cac882f4a3fbb4ab1253616541a55171382da57309053f171cd0570aba66074
MD5 7e0024be9822a8a24484dcc08b0c0875
BLAKE2b-256 9510984539cc7f55a23e880aed8bc6fe78f5c06cb63c59d78260424f82515d17

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