Adaptive Agentic AI Reasoning That Empower, Inform, and Integrate Seamlessly
Project description
AgenticFleet
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
Current Progress:
- Implement core multi-agent architecture
- Add Multi-modal Surfer agent
- Add FileSurfer agent
- Integrate Chainlit 2.0 frontend
- Add OAuth authentication support
- Implement real-time streaming responses
- Add CogCache integration
Short-term Goals:
- Add Composio Agent
- Implement LLM model auto-selection
- Enhance agent coordination
- Add message persistence
- Improve file handling capabilities
- Release AgenticFabric
- Implement GraphFleet integration
- Develop AI training tools
Mid-term Goals:
- Launch cloud service with OAuth + Freetier
- Create comprehensive prompt engineering suite
- Build enterprise deployment options
- Establish agent marketplace
- Enable cross-platform interoperability
- Enhance UI/UX features
- Implement advanced monitoring
- Add automated error recovery
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
- Clone the repository:
git clone https://github.com/qredence/agenticfleet.git
cd agenticfleet
- Create and activate a virtual environment using uv:
uv venv
. .venv/bin/activate # On Unix/macOS
# or
.venv\Scripts\activate # On Windows
- 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]"
- 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:
# Ensure you're in the virtual environment
. .venv/bin/activate
# Start the Chainlit application
chainlit run src/app/app.py
This will:
- Launch the Chainlit interface at http://localhost:8001
- Enable real-time agent communication
- Provide colored logging output
- Handle graceful shutdown
Project Structure
agenticfleet/
├── src/
│ ├── app/ # Main application directory
│ │ ├── .chainlit/ # Chainlit configuration
│ │ ├── models/ # Data models
│ │ ├── public/ # Static assets and styling
│ │ ├── app.py # Main Chainlit application
│ │ ├── _app.py # Alternative implementation
│ │ └── chainlit.md # Welcome documentation
│ └── backend/ # Backend components (legacy)
│ ├── agents/ # Agent implementations
│ ├── models/ # Backend models
│ └── main.py # FastAPI application
├── docs/ # Documentation
│ ├── agentic-fleet.md # Technical documentation
│ └── useful-snippet.md # Code snippets and examples
├── labs/ # Experimental features
│ ├── promptfleet/ # Prompt templates
│ ├── promptwizard/ # Prompt optimization
│ └── trace/ # Debugging tools
└── 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
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentic_fleet-0.4.12.tar.gz.
File metadata
- Download URL: agentic_fleet-0.4.12.tar.gz
- Upload date:
- Size: 264.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7fadda04ae5e53995d4c950d3144a4be5c1aa229dba78d633ce8b561cfaf408
|
|
| MD5 |
9a233d57634924832dcb0e1eae42afc4
|
|
| BLAKE2b-256 |
af5f18eb303ab7faa4a7c8161bfaa7a29796682b23c7c31d65a4b4813d8c4e0f
|
File details
Details for the file agentic_fleet-0.4.12-py3-none-any.whl.
File metadata
- Download URL: agentic_fleet-0.4.12-py3-none-any.whl
- Upload date:
- Size: 86.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1af6929723b902d68fe61527a8d6bac1934ee7ed08576967ba7757a8e076328
|
|
| MD5 |
71e773c9111e7f9fa805f8eb15595c7e
|
|
| BLAKE2b-256 |
2ce43ef4daf68c8450e09e4437806b8d2be0b0c519e1ebb08af10a7bda6cff10
|