Skip to main content

Adaptive Agentic AI Reasoning That Empower, Inform, and Integrate Seamlessly

Project description

AgenticFleet

Codacy Badge

AgenticFleet is an Adaptative Agentic System that leverages Chainlit for the frontend interface and FastAPI for the backend, built on the foundation of Autogen & Magentic-One.

[!CAUTION] This project is in early beta. Expect frequent updates (3-4 git pushes/week minimum) and breaking changes as we continue to enhance and stabilize the system.

Quick Links

Features

  • Interactive Chainlit 2.0 chat interface
  • FastAPI backend with structured logging and WebSocket support
  • General Multi-tasking Agentic System based on Magentic-One
  • Advanced prompt engineering with PromptFleet templates
  • Dataset and prompt fabric tools for AI training
  • Comprehensive error handling and connection management
  • Environment-based configuration
  • Extensible architecture for future enhancements

Roadmap

  • Add Composio Agent
  • Add Multi-modal Surfer agent
  • Improve backend main Agentic AI (based on Autogen and Magentic-One)
  • Add a pool of LLM model auto-select for each agent
  • Improve the generalist multi-tasking agentic fleet
  • Add a Cloud service with OAuth + Freetier
  • Add pre-release of AgenticFabric
  • Release of the GraphFleet refactor
  • Fix interoperability between AgenticFleet and GraphFleet
  • Add message persistence
  • Implement user authentication
  • Add file sharing capabilities
  • Enhance UI/UX with more interactive features

Prerequisites

  • Python 3.10 or later
  • uv package manager

Installation

From PyPI

The simplest way to install AgenticFleet is via pip:

pip install agentic-fleet

Or with optional dependencies:

# For development tools
pip install "agentic-fleet[dev,test]"

# For documentation tools
pip install "agentic-fleet[docs]"

From Source

  1. Clone the repository:
git clone https://github.com/qredence/agenticfleet.git
cd agenticfleet
  1. Create and activate a virtual environment using uv:
uv venv
. .venv/bin/activate  # On Unix/macOS
# or
.venv\Scripts\activate  # On Windows
  1. Install dependencies:

For basic installation:

uv pip install -e .
sudo playwright install-deps
sudo apt install -y nodejs npm
npx playwright install-deps

For development (includes testing, linting, and formatting tools):

uv pip install -e ".[dev,test]"

For documentation:

uv pip install -e ".[docs]"
  1. Configure environment variables:

Copy the example environment file and update it with your settings:

cp .env.example .env

The .env file contains all necessary configuration for both backend and frontend:

  • Azure Services configuration (OpenAI, Key Vault, etc.)
  • External AI Services API keys
  • Backend server settings
  • Frontend (Chainlit) configuration

Development

To start the application in development mode, you'll need to run both the backend and frontend servers:

  1. Start the backend server:
cd src/backend
. .venv/bin/activate  # Ensure you're in the virtual environment
uvicorn app:app --reload --host 0.0.0.0 --port 8000
  1. In a new terminal, start the frontend:
cd src/frontend
. .venv/bin/activate  # Ensure you're in the virtual environment
chainlit run app.py

This will:

  • Start the backend server at http://localhost:8000
  • Launch the Chainlit frontend interface at http://localhost:8001
  • Enable real-time communication between frontend and backend
  • Provide colored logging output
  • Handle graceful shutdown

You can access:

Project Structure

fleet/
├── src/
│   ├── frontend/              # Chainlit Frontend
│   │   ├── .chainlit/        # Chainlit configuration
│   │   ├── __init__.py
│   │   ├── app.py            # Frontend application
│   │   └── chainlit.md       # Chainlit documentation
│   └── backend/              # FastAPI Backend
│       ├── agents/
│       │   ├── composio_agent.py    # Composio agent implementation
│       │   └── multi-modal-surfer.py # Multi-modal surfing agent
│       ├── models/
│       │   ├── config.py        # Configuration management
│       │   ├── logging.py       # Structured logging
│       │   ├── messages.py      # Message type definitions
│       │   └── azure_client.py  # Azure services integration
│       ├── labs/
│       │   ├── dataset_fabric/  # Dataset generation tools
│       │   ├── prompt_fabric/   # Prompt engineering tools
│       │   └── promptfleet/     # Prompt templates
│       └── app.py              # FastAPI application
├── docs/                      # Documentation
│   └── agentic-fleet.mdx     # Detailed technical documentation
└── README.md

Development

Code Style and Quality

The project uses several tools to maintain code quality:

  • Black: Code formatting

    black src/
    
  • isort: Import sorting

    isort src/
    
  • flake8: Code linting

    flake8 src/
    
  • mypy: Static type checking

    mypy src/
    

Testing

Run tests with pytest:

pytest

Run tests with coverage report:

pytest --cov

Error Handling

The application implements comprehensive error handling:

  • Connection errors with automatic retry
  • Input validation errors
  • Server-side errors with proper status codes
  • User-friendly error messages in the UI
  • Agent-specific error handling and recovery

Logging

Structured logging is implemented with:

  • Different log levels (DEBUG, INFO, WARNING, ERROR)
  • JSON-formatted log output
  • Timestamp and context information
  • Error tracking with stack traces
  • Agent activity monitoring
  • Performance metrics

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please ensure your PR:

  • Includes appropriate tests
  • Updates documentation as needed
  • Follows the existing code style
  • Includes proper error handling
  • Has meaningful commit messages

Citation

@misc{fourney2024magenticonegeneralistmultiagentsolving,
    title={Magentic-One: A Generalist Multi-Agent System for Solving Complex Tasks},
    author={Adam Fourney and Gagan Bansal and Hussein Mozannar and Cheng Tan and Eduardo Salinas 
            and Erkang and Zhu and Friederike Niedtner and Grace Proebsting and Griffin Bassman 
            and Jack Gerrits and Jacob Alber and Peter Chang and Ricky Loynd and Robert West 
            and Victor Dibia and Ahmed Awadallah and Ece Kamar and Rafah Hosn and Saleema Amershi},
    year={2024},
    eprint={2411.04468},
    archivePrefix={arXiv},
    primaryClass={cs.AI},
    url={https://arxiv.org/abs/2411.04468}
}

For more information about Autogen, visit their documentation.

License

This project is licensed under the Apache 2.0 License.

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

agentic_fleet-0.4.1.tar.gz (338.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentic_fleet-0.4.1-py3-none-any.whl (165.1 kB view details)

Uploaded Python 3

File details

Details for the file agentic_fleet-0.4.1.tar.gz.

File metadata

  • Download URL: agentic_fleet-0.4.1.tar.gz
  • Upload date:
  • Size: 338.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.16

File hashes

Hashes for agentic_fleet-0.4.1.tar.gz
Algorithm Hash digest
SHA256 dfd01f52caa8b0e477588f7a86f1da54fcd24de91177fc248927e4430a64a2a2
MD5 bd23ecd3f6730f25cac8381c5a463dc7
BLAKE2b-256 7de6a47b4b32e4fb0ba928e8cc8cd1e003da4eca9b0c5d95c6a2e6eee336e546

See more details on using hashes here.

File details

Details for the file agentic_fleet-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for agentic_fleet-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b6d415841691d744407adfa8eff29cced3ee30645aab6565270ae113248828c2
MD5 15100a9dab5a6cb5e0c6f6964932944e
BLAKE2b-256 17f8e5e4ba40c95b0aaed0d423b3949c00130be102c51fdc7090594c24c6a6c5

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