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.2.tar.gz (35.3 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.2-py3-none-any.whl (45.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for unisonai-1.2.tar.gz
Algorithm Hash digest
SHA256 e261d8de63f06a5329cb2418650d6ea52d0bc955e8ce6be0f7ae7a8ce744671f
MD5 e79815902523145c1e670a3aedab0ddf
BLAKE2b-256 62a805b74f576969409e36c8be9dbbf8ad1c3a839a5feaeb77a2fcc44d85d398

See more details on using hashes here.

File details

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

File metadata

  • Download URL: unisonai-1.2-py3-none-any.whl
  • Upload date:
  • Size: 45.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6f3bf791106eb364706078bdc93df4e808dedb25e5fa301531bb817f1951d5a2
MD5 cd927379278c3addc3289953a09ba2bf
BLAKE2b-256 cbf1928eb914a8f193fcfa7203232c6e007508c6ca1adaaedcee6b36cbcf1ad4

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