# 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"
}