https://github.com/qredence/agenticfleet
Adaptive Agentic AI Reasoning That Empower, Inform, and Integrate Seamlessly. Join the Discord for suggestion or support ! https://discord.gg/ebgy7gtZHK
https://github.com/qredence/agenticfleet
agentic-ai agents ai ai-agents autogen autogen-ecosystem autogen-sample chainlit code-interpreter graph magentic-one
Last synced: 6 months ago
JSON representation
Adaptive Agentic AI Reasoning That Empower, Inform, and Integrate Seamlessly. Join the Discord for suggestion or support ! https://discord.gg/ebgy7gtZHK
- Host: GitHub
- URL: https://github.com/qredence/agenticfleet
- Owner: Qredence
- License: apache-2.0
- Created: 2024-12-29T04:38:23.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-03-29T20:48:56.000Z (6 months ago)
- Last Synced: 2025-03-30T05:03:46.798Z (6 months ago)
- Topics: agentic-ai, agents, ai, ai-agents, autogen, autogen-ecosystem, autogen-sample, chainlit, code-interpreter, graph, magentic-one
- Language: Python
- Homepage: https://www.qredence.ai
- Size: 3.71 MB
- Stars: 57
- Watchers: 1
- Forks: 7
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Agentic Fleet
A powerful multi-agent system for adaptive AI reasoning and automation. AgenticFleet combines Chainlit's interactive interface with AutoGen's multi-agent capabilities to create a flexible, powerful AI assistant platform.
[](https://app.workweave.ai/reports/repository/org_X84uIR347D2freSZkxeu4S9S/909560351)
## πΊοΈ Short-Term Roadmap
Here's a glimpse into the upcoming features and tasks planned for the near future. This is based on our current open issues:
**π New Features:**
* [#120] NVIDIA Agentiq / NIM / NEMO use
* [#118] OpenAPI documentation
* [#116] Provide a chat history feature
* [#115] LLM model format and handling revamped
* [#114] MCP support
* [#113] Canvas-like interface**β¨ Enhancements & Refinements:**
* [#119] Secure Oauth feature enhancement
* [#117] Simplify entirely the codebase (Review effort: 4)**π οΈ Tasks & Updates:**
* [#112] Updating Chainlit version dependency
*This roadmap is subject to change based on priorities and development progress. Check the [Issues tab](link-to-your-issues-page) for the most up-to-date status.*
## Table of Contents
1. [Introduction](#introduction)
2. [System Architecture](#system-architecture)
3. [Quick Start](#quick-start)
- [Installation & Environment Setup](#installation--environment-setup)
- [Running AgenticFleet](#running-agenticfleet)
- [Using Docker](#using-docker)
4. [Installation Guide](#installation-guide)
- [Prerequisites](#prerequisites)
- [Installation Steps](#installation-steps)
- [Troubleshooting Installation](#troubleshooting-installation)
- [Optional Feature Sets](#optional-feature-sets)
- [Warning About Editable Installations](#warning-about-editable-installations)
5. [Model Provider Installation](#model-provider-installation)
6. [Supported Model Providers](#supported-model-providers)
7. [Key Features](#key-features)
8. [Configuration](#configuration)
9. [Error Handling](#error-handling)
10. [Community Contributions](#community-contributions)
11. [Star History](#star-history)
12. [API Overview](#api-overview)
13. [Advanced Configuration](#advanced-configuration)
14. [Supported Features](#supported-features)
15. [Performance Optimization](#performance-optimization)
16. [Contributing](#contributing)
17. [License](#license)## Introduction
AgenticFleet operates through a coordinated team of specialized agents that work together to provide advanced AI capabilities. This project leverages Chainlit's interactive interface with AutoGen's multi-agent system to deliver robust and adaptive solutions.
A comprehensive platform for deploying, managing, and interacting with AI agents.
## Overview
Agentic Fleet is a sophisticated platform that provides a modular architecture for managing AI agents, tasks, and communication. It supports multiple agent types, task management, and communication channels with a focus on extensibility, allowing for easy integration of new agent types, tools, and interfaces.
## Features
- **Agent Management**: Create, update, and delete AI agents with different capabilities
- **Task Management**: Assign tasks to agents and track their progress
- **Real-time Communication**: Chat interfaces for real-time interaction with agents
- **Multiple Interfaces**: REST API and Chainlit-based UI
- **Tool Integration**: Web search, content generation, and data processing tools
- **Authentication**: API key-based authentication for secure access
- **Logging**: Comprehensive request logging for monitoring and debugging
- **Database Integration**: SQLAlchemy ORM for data persistence## System Architecture
The Agentic Fleet system is organized into several key components:
### Core Components
1. **API Layer** (`src/agentic_fleet/api/`)
- FastAPI-based REST API for interacting with the system
- Endpoints for agent management, task execution, and chat interactions
- Middleware for authentication, logging, and error handling2. **Database Layer** (`src/agentic_fleet/database/`)
- SQLAlchemy ORM models for data persistence
- Models for agents, messages, and tasks
- Database session management and connection pooling3. **Service Layer** (`src/agentic_fleet/services/`)
- Business logic for agent operations, task management, and chat interactions
- Client factory for LLM model instantiation and caching
- Message processing services4. **Agent System** (`src/agentic_fleet/agents/`)
- Implementation of agent types (e.g., MagenticOne)
- Agent registration and discovery
- Agent execution and lifecycle management5. **Tools** (`src/agentic_fleet/tools/`)
- Utility tools available to agents
- Web search capabilities (Google, Bing)
- Content generation (images, PDFs)
- Web page fetching and data extraction6. **UI Layer** (`src/agentic_fleet/ui/`)
- Chainlit-based chat interface
- Settings management
- Task visualization and management
- Message handling and formatting7. **Configuration System** (`src/agentic_fleet/config/`)
- YAML-based configuration for agents, models, and system settings
- Environment variable integration
- Configuration validation and loading## Getting Started
### Prerequisites
- Python 3.10+
- PostgreSQL (optional, for production)
- API keys for external services (OpenAI, Google, Bing, etc.)
- Node.js (for UI development)### Installation
1. Clone the repository:
```bash
git clone https://github.com/yourusername/agentic-fleet.git
cd agentic-fleet
```2. Create a virtual environment:
```bash
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
```3. Install dependencies:
```bash
# Using the provided script
./install_deps.sh
# Or using make
make install
# Or manually with pip
pip install -r requirements.txt
# Or install directly from source with development dependencies
pip install -e ".[dev]"
```4. Create a `.env` file:
```
HOST=0.0.0.0
PORT=8000
CHAINLIT_PORT=8001
RELOAD=True
API_KEY=your_secret_api_key # Optional, for authentication
DATABASE_URL=postgresql+asyncpg://user:password@localhost/agentic_fleet # Optional, for production
OPENAI_API_KEY=your_openai_api_key # Required for LLM functionality
GOOGLE_API_KEY=your_google_api_key # Optional, for Google Search tool
BING_API_KEY=your_bing_api_key # Optional, for Bing Search tool
```### Running the Application
#### API Server
```bash
# Using make
make run# Or directly with Python
python -m agentic_fleet.main# Or using the installed entry point
agentic-fleet
```The API will be available at `http://localhost:8000`.
- API Documentation: `http://localhost:8000/docs`
- Alternative Documentation: `http://localhost:8000/redoc`#### Chainlit UI
```bash
# Run the Chainlit UI
python -m agentic_fleet.app
```The Chainlit UI will be available at `http://localhost:8001`.
## API Endpoints
### Agents
- `GET /agents`: List all agents
- `POST /agents`: Create a new agent
- `GET /agents/{agent_id}`: Get agent details
- `PUT /agents/{agent_id}`: Update an agent
- `DELETE /agents/{agent_id}`: Delete an agent### Tasks
- `GET /tasks`: List all tasks
- `POST /tasks`: Create a new task
- `GET /tasks/{task_id}`: Get task details
- `PUT /tasks/{task_id}`: Update a task
- `DELETE /tasks/{task_id}`: Delete a task
- `POST /tasks/{task_id}/assign/{agent_id}`: Assign a task to an agent### Chat
- `GET /chat/messages`: List all chat messages
- `POST /chat/messages`: Create a new chat message
- `GET /chat/messages/{message_id}`: Get message details
- `PUT /chat/messages/{message_id}`: Update a message
- `DELETE /chat/messages/{message_id}`: Delete a message
- `WebSocket /chat/ws`: Real-time chat endpoint## User Interfaces
### Chainlit UI
The system provides a web-based chat interface using Chainlit:
1. **Chat Interface**
- Real-time messaging with agents
- File upload and sharing
- Message history and threading2. **Settings Management**
- Model selection and configuration
- Temperature and other generation parameters
- Agent selection and customization3. **Task Management**
- Task creation and assignment
- Task status tracking
- Task prioritization## Agent System
### Agent Types
1. **MagenticOne**
- Based on the AutoGen framework
- Supports code execution and reasoning
- Human-in-the-loop capabilities
- Uses a team of specialized agents including:
- Orchestrator: Manages the conversation flow
- Coder: Writes and executes code
- WebSurfer: Browses and retrieves web content
- FileSurfer: Searches and manipulates files
- ComputerTerminal: Executes terminal commands### Agent Capabilities
- Natural language understanding and generation
- Tool usage (web search, content generation, etc.)
- Task planning and execution
- Memory and context management
- Code execution in a sandboxed environment
- Web browsing and information retrieval
- File operations and document processing## Tools and Utilities
The system provides several tools that agents can use:
1. **Search Tools**
- Google Search
- Bing Search2. **Content Generation**
- Image generation
- PDF generation3. **Web Interaction**
- Webpage fetching and parsing
- Browser automation4. **Utility Tools**
- Calculator
- Data processing
- File operations## Development
### Project Structure
```
agentic_fleet/
βββ src/
β βββ agentic_fleet/
β βββ agents/ # Agent implementations
β βββ api/ # API endpoints and middleware
β β βββ dependencies/
β β βββ middleware/
β β βββ routes/
β β βββ app.py
β βββ apps/ # Application modules
β βββ config/ # Configuration system
β βββ core/ # Core functionality
β β βββ application/
β β βββ llm/
β β βββ workflows/
β βββ database/ # Database models and session
β β βββ models/
β β βββ session.py
β βββ exceptions/ # Custom exceptions
β βββ message_processing/ # Message handling
β βββ models/ # Data models
β βββ schemas/ # Pydantic schemas
β βββ services/ # Business logic
β βββ shared/ # Shared utilities
β βββ tools/ # Agent tools
β βββ ui/ # User interface
β β βββ chainlit/
β β βββ message_handler.py
β βββ utils/ # Utility functions
β βββ app.py # Chainlit application
β βββ main.py # FastAPI application
βββ tests/
βββ .env
βββ pyproject.toml
βββ requirements.txt
βββ Makefile
βββ README.md
```### Development Commands
The project includes a Makefile with common development commands:
```bash
# Install dependencies
make install# Run tests
make test# Run linting
make lint# Format code
make format# Clean build artifacts
make clean# Run the application
make run# Show help
make help
```### Running Tests
```bash
# Using make
make test# Or directly with pytest
pytest
```### Adding New Components
1. **New Agent Types**
- Create a new file in `agents/`
- Implement the agent interface
- Register the agent in `agents/__init__.py`2. **New Tools**
- Create a new file in `tools/`
- Implement the tool interface
- Register the tool in `tools/__init__.py`3. **New API Endpoints**
- Create a new file in `api/routes/`
- Implement the endpoint handlers
- Register the routes in `api/routes/__init__.py`## Configuration
The system uses a hierarchical configuration system:
1. **Environment Variables**
- Runtime configuration
- Sensitive information (API keys, credentials)2. **YAML Configuration Files**
- Agent definitions
- Model configurations
- Memory settings3. **Dynamic Configuration**
- User preferences
- Session settings## License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Star History
[](https://www.star-history.com/#qredence/agenticfleet&Date)