Metadata-Version: 2.1
Name: aegis-framework
Version: 0.1.15
Summary: A comprehensive, extensible AI agent framework with local LLM integration
Home-page: https://github.com/metisos/aegis-framework
Author: Metis Analytics
Author-email: cjohnson@metisos.com
Project-URL: Bug Tracker, https://github.com/metisos/aegis-framework/issues
Keywords: ai,agents,llm,machine-learning,artificial-intelligence,multi-agent,ollama
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typing>=3.7.4
Requires-Dist: requests>=2.25.0
Requires-Dist: fuzzywuzzy>=0.18.0
Requires-Dist: python-Levenshtein>=0.12.0
Requires-Dist: sqlite3-api>=2.0.1
Requires-Dist: numpy>=1.19.0
Requires-Dist: pandas>=1.3.0
Provides-Extra: web
Requires-Dist: flask>=2.0.0; extra == "web"
Requires-Dist: flask-socketio>=5.0.0; extra == "web"
Requires-Dist: eventlet>=0.30.0; extra == "web"
Provides-Extra: data
Requires-Dist: numpy>=1.19.0; extra == "data"
Requires-Dist: pandas>=1.3.0; extra == "data"
Requires-Dist: matplotlib>=3.3.0; extra == "data"
Requires-Dist: seaborn>=0.11.0; extra == "data"
Provides-Extra: dev
Requires-Dist: pytest>=6.0.0; extra == "dev"
Requires-Dist: black>=21.0.0; extra == "dev"
Requires-Dist: isort>=5.0.0; extra == "dev"
Requires-Dist: mypy>=0.900; extra == "dev"
Requires-Dist: flake8>=3.9.0; extra == "dev"

# Aegis Multi-Agent Framework

A powerful, extensible platform for building and deploying AI agent systems with seamless local LLM integration.

## Overview

The Aegis Multi-Agent Framework provides a robust foundation for creating sophisticated multi-agent systems while maintaining simplicity and flexibility. Perfect for both researchers and developers looking to build advanced AI agent applications.

### Key Features

- **Modular Agent Architecture**
  - Plug-and-play agent components
  - Customizable agent behaviors
  - Extensible design patterns

- **Local LLM Integration**
  - Native Ollama support
  - Multiple model compatibility
  - Optimized inference pipeline

- **Advanced Task Management**
  - Real-time task monitoring
  - Parallel task execution
  - Priority-based scheduling

## Quick Start

### Installation

```bash
pip install aegis-framework
```

### Basic Usage

```python
from aegis_framework import MasterAIAgent, DesignAgent

# Initialize a master agent
agent = MasterAIAgent(model="gemma2:9b")

# Generate responses
response = agent.answer_question(
    "What are the key principles of multi-agent systems?"
)
print(response)

# Create a specialized design agent
designer = DesignAgent(model="gemma2:9b")
design = designer.generate_new_design(
    context="Create a microservices architecture",
    constraints=["scalability", "fault-tolerance"]
)
print(design)
```

## Creating Custom Agents

```python
from aegis_framework import MasterAIAgent
from typing import Dict, Any, Optional

class DataAnalysisAgent(MasterAIAgent):
    def __init__(
        self,
        model: str = "gemma2:9b",
        custom_tasks: Optional[Dict[str, List[str]]] = None
    ):
        super().__init__(model=model)
        
        # Add specialized tasks
        self.agent_task_map.update({
            "data_analysis": [
                "analyze data",
                "statistical analysis",
                "trend analysis",
                "data visualization"
            ]
        })
        
        if custom_tasks:
            self.agent_task_map.update(custom_tasks)
    
    def analyze_data(
        self,
        data: str,
        analysis_type: str = "comprehensive"
    ) -> Dict[str, Any]:
        """Perform data analysis with specified parameters."""
        prompt = f"Analyze this {analysis_type} data: {data}"
        return self.perform_task(prompt)

# Usage
analyst = DataAnalysisAgent()
results = analyst.analyze_data(
    data="your_data_here",
    analysis_type="statistical"
)
```

## System Requirements

- Python 3.7+
- Ollama (for local LLM support)
- 8GB+ RAM (recommended)
- CUDA-compatible GPU (optional)

## Example Scripts

The framework includes several example scripts to help you get started:

1. `basic_usage.py`: Demonstrates core functionality
2. `design_agent_example.py`: Shows advanced design capabilities
3. `custom_agent_example.py`: Illustrates custom agent creation

Run any example with the `--help` flag to see available options:
```bash
python examples/basic_usage.py --help
```

## Version History

Current Version: 0.1.14

Key Updates:
- Enhanced local LLM integration
- Improved design agent capabilities
- Better error handling
- More comprehensive examples

## License

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

## Contact

- **Author**: Metis Analytics
- **Email**: cjohnson@metisos.com

## Acknowledgments

Special thanks to:
- The Ollama team for their excellent LLM runtime
- Our contributors and early adopters
- The open-source AI community

---

Made with ❤️ by Metis Analytics
