multi-swarm


Namemulti-swarm JSON
Version 1.0.5 PyPI version JSON
download
home_pagehttps://github.com/multi-swarm/multi-swarm
SummaryA framework for creating collaborative AI agent swarms
upload_time2025-02-15 16:46:00
maintainerNone
docs_urlNone
authorMulti-Swarm Team
requires_python>=3.8
licenseMIT
keywords ai agents llm claude gemini multi-agent rag docker
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Multi-Swarm Framework

A powerful framework for creating collaborative AI agent swarms, supporting multiple LLM providers and advanced agent management capabilities.

## Latest Version: 1.0.5

### What's New
- Plugin system for extensible agent capabilities
- Centralized YAML configuration for model management
- Enhanced experimental model support
- Improved version compatibility handling
- Enhanced knowledge coordination across agents
- Improved temporal awareness in document retrieval
- Better knowledge gap detection and analysis
- Advanced knowledge synthesis capabilities
- Optimized collaborative search functionality
- Improved communication flows between agents
- Enhanced state management and persistence
- Better error handling and recovery mechanisms

## Features

### Plugin System
- Extensible plugin architecture for custom tools
- Built-in plugin registry and management
- Example tools including Git integration
- Easy-to-implement plugin interface
- Automatic plugin discovery and loading
- Plugin health monitoring and lifecycle management

### Multi-LLM Support
- Claude (Anthropic) integration with latest models:
  - claude-3-5-sonnet-latest (balanced)
  - claude-3-5-opus-latest (research)
- Gemini (Google) integration with latest models:
  - gemini-2.0-flash-exp (high performance)
- Automatic model selection based on agent roles and tasks

### Advanced Agency Management
- Flexible agent creation and configuration
- Sophisticated communication flows between agents
- State persistence and thread management
- Automated task distribution and coordination
- Knowledge synthesis and gap analysis

### Built-in Tools
- Plugin-based tool architecture
- Git integration for version control
- Code Interpreter for executing Python code
- RAG system with temporal awareness
- File Search with semantic capabilities
- Docker integration for isolated environments
- Customizable tool creation framework

## Installation

```bash
pip install multi-swarm
```

For development:
```bash
pip install multi-swarm[dev]
```

For GPU support:
```bash
pip install multi-swarm[gpu]
```

## Quick Start

```python
from multi_swarm import Agency, Agent
from multi_swarm.plugins.tools.development import GitTool

# Create agents with specific roles
ceo = Agent(
    name="CEO",
    description="Manages overall strategy and coordination",
    llm_provider="claude",  # Will use claude-3-5-sonnet-latest
    provider_config={
        "model": "claude-3-5-sonnet-latest",
        "api_version": "2024-03"
    }
)

developer = Agent(
    name="Developer",
    description="Handles technical implementation",
    llm_provider="gemini",  # Will use gemini-2.0-flash-exp
    provider_config={
        "model": "gemini-2.0-flash-exp",
        "api_version": "2024-01"
    }
)

# Register tools with agents
git_tool = GitTool()
developer.register_tool(git_tool)

# Create agency with communication flows
agency = Agency([
    ceo,  # Entry point for user communication
    [ceo, developer],  # CEO can communicate with Developer
])

# Run the agency
agency.run()
```

## Plugin Development

Create custom plugins by extending the base plugin class:

```python
from multi_swarm.plugins.base import PluginBase, PluginMetadata

class CustomTool(PluginBase):
    """Custom tool implementation."""
    def __init__(self):
        metadata = PluginMetadata(
            name="custom_tool",
            version="1.0.0",
            description="Custom tool description",
            author="Your Name",
            requirements=["required-package"],
            tags=["custom", "tool"]
        )
        super().__init__(metadata=metadata)
    
    def get_capabilities(self):
        return ["custom_capability"]
```

## Task-Specific Model Selection

The framework automatically selects the best model based on the agent's role:

### Claude Models
- Code Generation & Development: claude-3-5-sonnet-latest
- Research & Analysis: claude-3-5-opus-latest
- Technical Writing: claude-3-5-sonnet-latest

### Gemini Models
- Data Processing: gemini-2.0-flash-exp
- Real-time Operations: gemini-2.0-flash-exp
- Machine Learning Tasks: gemini-2.0-flash-exp

## Documentation

For detailed documentation, visit:
- [Getting Started Guide](docs/getting-started/index.md)
- [API Reference](docs/api/index.md)
- [Examples](docs/examples/index.md)
- [LLM Providers](docs/providers/index.md)

## Requirements

- Python 3.8+
- Dependencies:
  - anthropic>=0.18.1
  - google-generativeai>=0.3.2
  - pydantic>=2.0.0
  - python-dotenv>=1.0.0
  - docker>=6.1.0
  - sentence-transformers>=2.2.0
  - faiss-cpu>=1.7.4 (or faiss-gpu for GPU support)
  - transformers>=4.38.0
  - torch>=2.0.0
  - numpy>=1.24.0
  - click>=8.0.0

## Optional Dependencies

### Development Tools
- pytest>=8.0.0
- pytest-asyncio>=0.25.0
- pytest-cov>=6.0.0
- black>=24.0.0
- isort>=5.0.0
- mypy>=1.8.0

### GPU Support
- faiss-gpu>=1.7.4
- torch>=2.0.0 (with CUDA support)

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Contributing

Contributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md).

## Support

- Report issues on [GitHub Issues](https://github.com/bartvanspitaels99/multi-swarm/issues)
- Join discussions in [GitHub Discussions](https://github.com/bartvanspitaels99/multi-swarm/discussions)

## Authors

- Bart Van Spitaels (bart.vanspitaels@gmail.com) 

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/multi-swarm/multi-swarm",
    "name": "multi-swarm",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "ai, agents, llm, claude, gemini, multi-agent, rag, docker",
    "author": "Multi-Swarm Team",
    "author_email": "Bart Van Spitaels <bart.vanspitaels@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/b4/24/e2090b1a496bd72ba690968e737a41381b750db807de6a9c914d91e381f7/multi_swarm-1.0.5.tar.gz",
    "platform": null,
    "description": "# Multi-Swarm Framework\r\n\r\nA powerful framework for creating collaborative AI agent swarms, supporting multiple LLM providers and advanced agent management capabilities.\r\n\r\n## Latest Version: 1.0.5\r\n\r\n### What's New\r\n- Plugin system for extensible agent capabilities\r\n- Centralized YAML configuration for model management\r\n- Enhanced experimental model support\r\n- Improved version compatibility handling\r\n- Enhanced knowledge coordination across agents\r\n- Improved temporal awareness in document retrieval\r\n- Better knowledge gap detection and analysis\r\n- Advanced knowledge synthesis capabilities\r\n- Optimized collaborative search functionality\r\n- Improved communication flows between agents\r\n- Enhanced state management and persistence\r\n- Better error handling and recovery mechanisms\r\n\r\n## Features\r\n\r\n### Plugin System\r\n- Extensible plugin architecture for custom tools\r\n- Built-in plugin registry and management\r\n- Example tools including Git integration\r\n- Easy-to-implement plugin interface\r\n- Automatic plugin discovery and loading\r\n- Plugin health monitoring and lifecycle management\r\n\r\n### Multi-LLM Support\r\n- Claude (Anthropic) integration with latest models:\r\n  - claude-3-5-sonnet-latest (balanced)\r\n  - claude-3-5-opus-latest (research)\r\n- Gemini (Google) integration with latest models:\r\n  - gemini-2.0-flash-exp (high performance)\r\n- Automatic model selection based on agent roles and tasks\r\n\r\n### Advanced Agency Management\r\n- Flexible agent creation and configuration\r\n- Sophisticated communication flows between agents\r\n- State persistence and thread management\r\n- Automated task distribution and coordination\r\n- Knowledge synthesis and gap analysis\r\n\r\n### Built-in Tools\r\n- Plugin-based tool architecture\r\n- Git integration for version control\r\n- Code Interpreter for executing Python code\r\n- RAG system with temporal awareness\r\n- File Search with semantic capabilities\r\n- Docker integration for isolated environments\r\n- Customizable tool creation framework\r\n\r\n## Installation\r\n\r\n```bash\r\npip install multi-swarm\r\n```\r\n\r\nFor development:\r\n```bash\r\npip install multi-swarm[dev]\r\n```\r\n\r\nFor GPU support:\r\n```bash\r\npip install multi-swarm[gpu]\r\n```\r\n\r\n## Quick Start\r\n\r\n```python\r\nfrom multi_swarm import Agency, Agent\r\nfrom multi_swarm.plugins.tools.development import GitTool\r\n\r\n# Create agents with specific roles\r\nceo = Agent(\r\n    name=\"CEO\",\r\n    description=\"Manages overall strategy and coordination\",\r\n    llm_provider=\"claude\",  # Will use claude-3-5-sonnet-latest\r\n    provider_config={\r\n        \"model\": \"claude-3-5-sonnet-latest\",\r\n        \"api_version\": \"2024-03\"\r\n    }\r\n)\r\n\r\ndeveloper = Agent(\r\n    name=\"Developer\",\r\n    description=\"Handles technical implementation\",\r\n    llm_provider=\"gemini\",  # Will use gemini-2.0-flash-exp\r\n    provider_config={\r\n        \"model\": \"gemini-2.0-flash-exp\",\r\n        \"api_version\": \"2024-01\"\r\n    }\r\n)\r\n\r\n# Register tools with agents\r\ngit_tool = GitTool()\r\ndeveloper.register_tool(git_tool)\r\n\r\n# Create agency with communication flows\r\nagency = Agency([\r\n    ceo,  # Entry point for user communication\r\n    [ceo, developer],  # CEO can communicate with Developer\r\n])\r\n\r\n# Run the agency\r\nagency.run()\r\n```\r\n\r\n## Plugin Development\r\n\r\nCreate custom plugins by extending the base plugin class:\r\n\r\n```python\r\nfrom multi_swarm.plugins.base import PluginBase, PluginMetadata\r\n\r\nclass CustomTool(PluginBase):\r\n    \"\"\"Custom tool implementation.\"\"\"\r\n    def __init__(self):\r\n        metadata = PluginMetadata(\r\n            name=\"custom_tool\",\r\n            version=\"1.0.0\",\r\n            description=\"Custom tool description\",\r\n            author=\"Your Name\",\r\n            requirements=[\"required-package\"],\r\n            tags=[\"custom\", \"tool\"]\r\n        )\r\n        super().__init__(metadata=metadata)\r\n    \r\n    def get_capabilities(self):\r\n        return [\"custom_capability\"]\r\n```\r\n\r\n## Task-Specific Model Selection\r\n\r\nThe framework automatically selects the best model based on the agent's role:\r\n\r\n### Claude Models\r\n- Code Generation & Development: claude-3-5-sonnet-latest\r\n- Research & Analysis: claude-3-5-opus-latest\r\n- Technical Writing: claude-3-5-sonnet-latest\r\n\r\n### Gemini Models\r\n- Data Processing: gemini-2.0-flash-exp\r\n- Real-time Operations: gemini-2.0-flash-exp\r\n- Machine Learning Tasks: gemini-2.0-flash-exp\r\n\r\n## Documentation\r\n\r\nFor detailed documentation, visit:\r\n- [Getting Started Guide](docs/getting-started/index.md)\r\n- [API Reference](docs/api/index.md)\r\n- [Examples](docs/examples/index.md)\r\n- [LLM Providers](docs/providers/index.md)\r\n\r\n## Requirements\r\n\r\n- Python 3.8+\r\n- Dependencies:\r\n  - anthropic>=0.18.1\r\n  - google-generativeai>=0.3.2\r\n  - pydantic>=2.0.0\r\n  - python-dotenv>=1.0.0\r\n  - docker>=6.1.0\r\n  - sentence-transformers>=2.2.0\r\n  - faiss-cpu>=1.7.4 (or faiss-gpu for GPU support)\r\n  - transformers>=4.38.0\r\n  - torch>=2.0.0\r\n  - numpy>=1.24.0\r\n  - click>=8.0.0\r\n\r\n## Optional Dependencies\r\n\r\n### Development Tools\r\n- pytest>=8.0.0\r\n- pytest-asyncio>=0.25.0\r\n- pytest-cov>=6.0.0\r\n- black>=24.0.0\r\n- isort>=5.0.0\r\n- mypy>=1.8.0\r\n\r\n### GPU Support\r\n- faiss-gpu>=1.7.4\r\n- torch>=2.0.0 (with CUDA support)\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md).\r\n\r\n## Support\r\n\r\n- Report issues on [GitHub Issues](https://github.com/bartvanspitaels99/multi-swarm/issues)\r\n- Join discussions in [GitHub Discussions](https://github.com/bartvanspitaels99/multi-swarm/discussions)\r\n\r\n## Authors\r\n\r\n- Bart Van Spitaels (bart.vanspitaels@gmail.com) \r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A framework for creating collaborative AI agent swarms",
    "version": "1.0.5",
    "project_urls": {
        "Documentation": "https://github.com/bartvanspitaels99/multi-swarm/docs",
        "Homepage": "https://github.com/multi-swarm/multi-swarm",
        "Issues": "https://github.com/bartvanspitaels99/multi-swarm/issues",
        "Source": "https://github.com/bartvanspitaels99/multi-swarm/"
    },
    "split_keywords": [
        "ai",
        " agents",
        " llm",
        " claude",
        " gemini",
        " multi-agent",
        " rag",
        " docker"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5546aaa94610216867c68494102bd9597f0cee9ff2ccdecd00cf35335f885603",
                "md5": "e846d651e922156077294bab1fdeb713",
                "sha256": "594a48e866bf2a6e3257f9bc4594e3ebd111995c12ad9362f2a13b5f4c30572b"
            },
            "downloads": -1,
            "filename": "multi_swarm-1.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e846d651e922156077294bab1fdeb713",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 136318,
            "upload_time": "2025-02-15T16:45:58",
            "upload_time_iso_8601": "2025-02-15T16:45:58.475922Z",
            "url": "https://files.pythonhosted.org/packages/55/46/aaa94610216867c68494102bd9597f0cee9ff2ccdecd00cf35335f885603/multi_swarm-1.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b424e2090b1a496bd72ba690968e737a41381b750db807de6a9c914d91e381f7",
                "md5": "084d2a81b541fb3d7a3145f5d975b72a",
                "sha256": "93d7cf40a1b2919b4c68c07ebc51d9d0ef27424d5054f9004e0ab6217347c5d8"
            },
            "downloads": -1,
            "filename": "multi_swarm-1.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "084d2a81b541fb3d7a3145f5d975b72a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 195093,
            "upload_time": "2025-02-15T16:46:00",
            "upload_time_iso_8601": "2025-02-15T16:46:00.423777Z",
            "url": "https://files.pythonhosted.org/packages/b4/24/e2090b1a496bd72ba690968e737a41381b750db807de6a9c914d91e381f7/multi_swarm-1.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-15 16:46:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "multi-swarm",
    "github_project": "multi-swarm",
    "github_not_found": true,
    "lcname": "multi-swarm"
}
        
Elapsed time: 0.94760s