A powerful multi-agent system for adaptive AI reasoning and automation
Project description
AgenticFleet
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.
Core Components
AgenticFleet operates through a coordinated team of specialized agents:
-
WebSurfer: Expert web navigation agent
- Extracts information from web pages
- Captures and processes screenshots
- Provides structured summaries of findings
-
FileSurfer: File system specialist
- Searches and analyzes workspace files
- Manages file operations efficiently
- Extracts relevant information from documents
-
Coder: Development expert
- Generates and reviews code
- Implements solutions
- Maintains code quality
-
Executor: Code execution specialist
- Safely runs code in isolated workspace
- Monitors execution and handles timeouts
- Provides detailed execution feedback
Supported Model Providers
AgenticFleet supports multiple LLM providers through a unified interface:
-
OpenAI
- GPT-4 and other OpenAI models
- Function calling and vision capabilities
- JSON mode support
-
Azure OpenAI
- Azure-hosted OpenAI models
- Azure AD authentication support
- Enterprise-grade security
-
Google Gemini
- Gemini Pro and Ultra models
- OpenAI-compatible API
- Multimodal capabilities
-
DeepSeek
- DeepSeek's language models
- OpenAI-compatible API
- Specialized model capabilities
-
Ollama
- Local model deployment
- Various open-source models
- Offline capabilities
-
Azure AI Foundry
- Azure-hosted models (e.g., Phi-4)
- GitHub authentication
- Enterprise integration
-
CogCache
- OpenAI-compatible API with caching
- Improved response times
- Cost optimization
- Automatic retry handling
Model Provider Installation
Install providers using pip:
# Install base package
pip install agentic-fleet
# Install all model providers
pip install "agentic-fleet[models]"
# Or install individual providers
pip install "google-cloud-aiplatform>=1.38.0" "google-generativeai>=0.3.0" # For Gemini
pip install "deepseek>=0.1.0" # For DeepSeek
pip install "ollama>=0.1.5" # For Ollama
Model Provider Usage
from agentic_fleet.models import ModelFactory, ModelProvider
from autogen_core.models import UserMessage
# Create Azure OpenAI client
azure_client = ModelFactory.create(
ModelProvider.AZURE_OPENAI,
deployment="your-deployment",
model="gpt-4",
endpoint="your-endpoint"
)
# Create Gemini client
gemini_client = ModelFactory.create(
ModelProvider.GEMINI,
api_key="your-api-key"
)
# Create CogCache client
cogcache_client = ModelFactory.create(
ModelProvider.COGCACHE,
api_key="your-cogcache-key",
model="gpt-4"
)
# Create local Ollama client
ollama_client = ModelFactory.create(
ModelProvider.OLLAMA,
model="llama2:latest"
)
# Use any client
async def test_model(client):
response = await client.create([
UserMessage(content="What is the capital of France?", source="user")
])
print(response)
Key Features
-
Multi-Agent System
- Coordinated team of specialized AI agents
- Real-time inter-agent communication
- Task planning and execution tracking
-
Interactive Interface
- Real-time streaming responses
- Code syntax highlighting
- Markdown rendering
- File upload/download support
- Progress visualization with task lists
-
Advanced Capabilities
- Multiple LLM provider support
- GitHub OAuth authentication
- Configurable agent behaviors
- Comprehensive error handling and recovery
- Multi-modal content processing (text, images)
- Execution workspace isolation
-
Developer-Friendly
- Easy-to-use CLI
- Extensive documentation
- Flexible configuration
- Active community support
Installation Options
Option 1: Direct Installation
- Install using uv (recommended):
uv pip install agentic-fleet
playwright install --with-deps chromium # Optional: Install Playwright
- Configure environment:
cp .env.example .env
# Edit .env with your API keys
- Start the server:
agenticfleet start # With OAuth
agenticfleet start no-oauth # Without OAuth
Option 2: Docker Setup
- Clone and configure:
git clone https://github.com/qredence/agenticfleet.git
cd agenticfleet
cp .env.example .env # Configure your .env file
- Build and run with Docker Compose:
# Build the image
docker compose build
# Run with OAuth enabled (default)
docker compose up
# Or run without OAuth
docker compose run -e RUN_MODE=no-oauth agenticfleet
Docker Environment Configuration
You can provide environment variables in several ways:
- Using a .env file:
cp .env.example .env
# Edit .env with your values
docker compose up
- Using command line arguments:
docker compose build \
--build-arg AZURE_OPENAI_API_KEY=your_key \
--build-arg AZURE_OPENAI_ENDPOINT=your_endpoint \
--build-arg USE_OAUTH=true
- Using environment variables:
export AZURE_OPENAI_API_KEY=your_key
export AZURE_OPENAI_ENDPOINT=your_endpoint
docker compose up
- For production deployments:
docker run -d \
-e AZURE_OPENAI_API_KEY=your_key \
-e AZURE_OPENAI_ENDPOINT=your_endpoint \
-e USE_OAUTH=true \
-p 8001:8001 \
qredence/agenticfleet:latest
Key features of the Docker setup:
- Python 3.12 environment
- Automatic dependency installation
- Volume mounting for live development
- Environment variable management
- Health checking and automatic restarts
- Resource limits and optimization
Option 3: Development Container
For VS Code users with the Dev Containers extension:
- Open in VS Code:
code agenticfleet
- Press F1 and select "Dev Containers: Open Folder in Container"
The dev container provides:
- Full Python 3.12 development environment
- Pre-configured VS Code extensions
- Integrated debugging
- Live reload capability
- All dependencies pre-installed
Quick Start with Docker
# Pull the latest image
docker pull qredenceai/agenticfleet:latest
# Run with minimum required configuration
docker run -d \
-p 8001:8001 \
-e AZURE_OPENAI_API_KEY=your_key \
-e AZURE_OPENAI_ENDPOINT=your_endpoint \
qredenceai/agenticfleet:latest
# Or run with additional configuration
docker run -d \
-p 8001:8001 \
-e AZURE_OPENAI_API_KEY=your_key \
-e AZURE_OPENAI_ENDPOINT=your_endpoint \
-e AZURE_OPENAI_DEPLOYMENT=your_deployment \
-e AZURE_OPENAI_MODEL=your_model \
-e USE_OAUTH=true \
-e OAUTH_GITHUB_CLIENT_ID=your_client_id \
-e OAUTH_GITHUB_CLIENT_SECRET=your_client_secret \
qredenceai/agenticfleet:latest
# Run without OAuth
docker run -d \
-p 8001:8001 \
-e AZURE_OPENAI_API_KEY=your_key \
-e AZURE_OPENAI_ENDPOINT=your_endpoint \
-e USE_OAUTH=false \
qredenceai/agenticfleet:latest
Required environment variables:
AZURE_OPENAI_API_KEY: Your Azure OpenAI API keyAZURE_OPENAI_ENDPOINT: Your Azure OpenAI endpoint
Optional environment variables:
USE_OAUTH: Enable/disable OAuth (default: false)OAUTH_GITHUB_CLIENT_ID: GitHub OAuth client IDOAUTH_GITHUB_CLIENT_SECRET: GitHub OAuth client secretCHAINLIT_AUTH_SECRET: Custom auth secret for sessions- Other API keys (GEMINI_API_KEY, DEEPSEEK_API_KEY, etc.)
Environment Configuration
Required variables in .env:
# Core Configuration
AZURE_OPENAI_API_KEY=your_api_key
AZURE_OPENAI_ENDPOINT=your_endpoint
AZURE_OPENAI_DEPLOYMENT=your_deployment
AZURE_OPENAI_MODEL=your_model
# OAuth Settings (Optional)
USE_OAUTH=true # Set to false to disable
OAUTH_GITHUB_CLIENT_ID=your_client_id
OAUTH_GITHUB_CLIENT_SECRET=your_client_secret
# Docker Settings (Optional)
COMPOSE_PROJECT_NAME=agenticfleet
DOCKER_BUILDKIT=1
System Architecture
graph TD
User[Chainlit UI] -->|HTTP| App[app.py]
App --> AgentTeam[MagenticOneGroupChat]
AgentTeam --> WebSurfer
AgentTeam --> FileSurfer
AgentTeam --> Coder
AgentTeam --> Executor
WebSurfer -->|Selenium| Web[External Websites]
FileSurfer -->|OS| FileSystem[Local Files]
Executor -->|Subprocess| Code[Python/Runtime]
Configuration
The .env.example file contains all required and recommended settings:
# Required: Azure OpenAI Configuration
AZURE_OPENAI_API_KEY=your_api_key
AZURE_OPENAI_ENDPOINT=your_endpoint
AZURE_OPENAI_DEPLOYMENT=your_deployment
AZURE_OPENAI_MODEL=your_model
# Optional: OAuth Configuration
USE_OAUTH=false # Set to true to enable GitHub OAuth
OAUTH_GITHUB_CLIENT_ID=
OAUTH_GITHUB_CLIENT_SECRET=
OAUTH_REDIRECT_URI=http://localhost:8001/oauth/callback
# Optional: Other Model Provider Configurations
GEMINI_API_KEY=your_gemini_key
DEEPSEEK_API_KEY=your_deepseek_key
GITHUB_TOKEN=your_github_pat # For Azure AI Foundry
COGCACHE_API_KEY=your_cogcache_key # For CogCache proxy API
Error Handling
AgenticFleet implements comprehensive error handling:
- Graceful degradation on service failures
- Detailed error logging and reporting
- Automatic cleanup of resources
- Session state recovery
- Execution timeout management
Development
Prerequisites
- Python 3.10-3.12 (Python 3.13 is not yet supported)
- uv package manager (recommended)
- Azure OpenAI API access
Setup
- Clone and install:
git clone https://github.com/qredence/agenticfleet.git
cd agenticfleet
pip install uv
uv pip install -e .
uv pip install -e ".[dev]"
- Run tests:
pytest tests/
Documentation
- Installation Guide - Detailed setup instructions
- Usage Guide - How to use AgenticFleet
- API Reference - Complete API documentation
- Architecture Overview - System architecture and design
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Security
For security concerns, please review our Security Policy.
License
This project is licensed under the Apache-2.0 License - see the LICENSE file for details.
Support
Star History
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.71.tar.gz.
File metadata
- Download URL: agentic_fleet-0.4.71.tar.gz
- Upload date:
- Size: 61.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95a29728de3087a618e5da1ea0e255d1ad80fab79bde77d7ad4300efda89e7ae
|
|
| MD5 |
a9808b70d472713235d1291c85f3e0ec
|
|
| BLAKE2b-256 |
499b2469449794897a9e0c7fad510146884b8a109dee7df01166b7c8440f88bc
|
Provenance
The following attestation bundles were made for agentic_fleet-0.4.71.tar.gz:
Publisher:
python-publish.yml on Qredence/AgenticFleet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentic_fleet-0.4.71.tar.gz -
Subject digest:
95a29728de3087a618e5da1ea0e255d1ad80fab79bde77d7ad4300efda89e7ae - Sigstore transparency entry: 167951901
- Sigstore integration time:
-
Permalink:
Qredence/AgenticFleet@a0f11172e929f309200cd4734619eae46ad6632a -
Branch / Tag:
refs/tags/0.4.71 - Owner: https://github.com/Qredence
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@a0f11172e929f309200cd4734619eae46ad6632a -
Trigger Event:
release
-
Statement type:
File details
Details for the file agentic_fleet-0.4.71-py3-none-any.whl.
File metadata
- Download URL: agentic_fleet-0.4.71-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fa9150b35437fda7a0645f4fa7431992f09fa5044346d0d077655b7ae01b743
|
|
| MD5 |
4117f7a14ac78731210ac795455faa14
|
|
| BLAKE2b-256 |
a950a41c4d78867897504982fd0b854872420aef5c706e5355fabe77cdbf48a9
|
Provenance
The following attestation bundles were made for agentic_fleet-0.4.71-py3-none-any.whl:
Publisher:
python-publish.yml on Qredence/AgenticFleet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentic_fleet-0.4.71-py3-none-any.whl -
Subject digest:
9fa9150b35437fda7a0645f4fa7431992f09fa5044346d0d077655b7ae01b743 - Sigstore transparency entry: 167951903
- Sigstore integration time:
-
Permalink:
Qredence/AgenticFleet@a0f11172e929f309200cd4734619eae46ad6632a -
Branch / Tag:
refs/tags/0.4.71 - Owner: https://github.com/Qredence
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@a0f11172e929f309200cd4734619eae46ad6632a -
Trigger Event:
release
-
Statement type: