Skip to content

Latest commit

 

History

History
419 lines (302 loc) · 11.6 KB

README.md

File metadata and controls

419 lines (302 loc) · 11.6 KB

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.

demo.mp4

Table of Contents

  1. Introduction
  2. System Architecture
  3. Quick Start
  4. Installation Guide
  5. Model Provider Installation
  6. Supported Model Providers
  7. Key Features
  8. Configuration
  9. Error Handling
  10. Community Contributions
  11. Star History
  12. API Overview
  13. Advanced Configuration
  14. Supported Features
  15. Performance Optimization
  16. Contributing
  17. 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.

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]
Loading
  • WebSurfer: Navigates the web, extracts data, and processes screenshots.
  • FileSurfer: Manages file operations and extracts information from local files.
  • Coder: Generates and reviews code, ensuring quality and efficiency.
  • Executor: Executes code safely in an isolated environment and provides feedback.

Quick Start (fastest way)

  1. Install dependencies:
pip install agentic-fleet
  1. Set up environment variables:
export OPENAI_API_KEY=your_api_key
export AZURE_OPENAI_KEY=your_azure_key
  1. Start AgenticFleet using one of these methods:
# Using CLI command (recommended)
agenticfleet start

# Using CLI command without OAuth
agenticfleet start no-oauth

Alternative Start Methods

You can also use the provided scripts in the scripts directory:

# Using shell script
./scripts/run.sh

# Using Python script
./scripts/run_direct.py

# Using direct server start
./scripts/start_server.sh

Installation & Environment Setup

Before starting AgenticFleet, install the package using the uv package manager:

uv pip install agentic-fleet
uv pip install playwright
playwright install --with-deps chromium

Then, set up your environment:

  1. Copy the Example File

    cp .env.example .env
  2. Configure Environment Variables

    Open the .env file and set the required values. At a minimum, configure your Azure OpenAI 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

Running AgenticFleet

There are several ways to run AgenticFleet:

  1. Using CLI Commands (Recommended):

    # Start with default configuration (OAuth enabled)
    agenticfleet start
    
    # Start without OAuth
    agenticfleet start no-oauth
    
    # Start with custom host and port
    agenticfleet start --host localhost --port 8000
  2. Using Shell Script:

    # Start the application using the shell script
    ./scripts/run.sh
  3. Using Python Script:

    # Start the application using Python
    python scripts/run_direct.py

Using Docker

If you prefer using Docker, follow these instructions:

# Pull the latest image
docker pull qredence/agenticfleet:latest

# Run with minimum configuration (replace placeholders with your actual values)
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 \
  qredence/agenticfleet:latest

# Alternatively, run with additional configuration including OAuth
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 \
  qredence/agenticfleet:latest

# To 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 \
  qredence/agenticfleet:latest

Installation Guide

Prerequisites

  • Python Version: 3.10-3.12
  • Operating Systems: macOS, Linux, Windows

Installation Steps

  1. Install uv Package Manager

    uv is a fast and efficient package manager. Choose your preferred installation method:

    macOS/Linux

    # Using pip
    pip install uv
    
    # Using Homebrew (macOS)
    brew install uv
    
    # Using curl
    curl -LsSf https://astral.sh/uv/install.sh | sh

    Windows

    # Using pip
    pip install uv
    
    # Using winget
    winget install uv
  2. Create and Activate a Virtual Environment

    # Create a new virtual environment
    uv venv
    
    # Activate the virtual environment
    # On macOS/Linux
    source .venv/bin/activate
    
    # On Windows
    .venv\Scripts\activate
  3. Install AgenticFleet

    # Install the latest stable version
    uv pip install agentic-fleet
    
    # Install Playwright for web automation and scraping (needed by WebSurfer)
    uv pip install playwright
    playwright install --with-deps chromium

    Playwright Installation Notes:

    • Installs the Chromium browser for web automation.
    • Includes necessary browser dependencies.
    • Required for web scraping and browser-based agents.
    • Supports both headless and headed modes.
  4. Verify Installation

    # Check installed version
    uv pip show agentic-fleet
    
    # Run a quick version check
    python -c "import agentic_fleet; print(agentic_fleet.__version__)"

Troubleshooting Installation

  • Ensure you're using Python 3.10-3.12.
  • Update uv to the latest version: pip install -U uv.
  • If issues arise, consult our GitHub Issues.

Optional Feature Sets

# Install with optional telemetry features
uv pip install 'agentic-fleet[telemetry]'

# Install with optional tracing features
uv pip install 'agentic-fleet[tracing]'

Warning About Editable Installations

DO NOT use -e unless you are a core contributor.
Editable installations are not supported in production, may introduce unexpected behaviors, and void package support. They are intended solely for package development. If you make local modifications, please file a GitHub issue and submit a pull request.

Model Provider Installation

Please refer to the existing documentation or the docs/installation.md file for details on installing model providers.

Supported Model Providers

AgenticFleet supports multiple LLM providers including OpenAI, Azure OpenAI, Google Gemini, DeepSeek, Ollama, Azure AI Foundry, and CogCache. For specifics on configuration and usage, please refer to the detailed sections in the documentation.

Key Features

  • Advanced multi-agent coordination
  • Support for several LLM providers
  • GitHub OAuth authentication (optional)
  • Configurable agent behaviors and execution isolation
  • Comprehensive error handling and automated recovery
  • Multi-modal content processing (text, images, etc.)

Configuration

For complete configuration details, review the .env.example file and the docs/usage-guide.md for further instructions.

Error Handling

AgenticFleet includes robust error handling:

  • Graceful degradation on failures
  • Detailed error logging and reporting
  • Automatic cleanup and session recovery
  • Execution timeout management

Community Contributions

AgenticFleet welcomes contributions from the community. Please review our CONTRIBUTING.md and CODE_OF_CONDUCT.md for guidelines on submitting issues and pull requests.

Star History

Star History Chart

Configuring a Team

from agentic_fleet.backend.agents.orchestrator_agent import create_team

team = create_team([
    PlannerAgent(name="Strategic Planner"),
    CodeCrafterAgent(name="Code Developer"),
    ValidatorAgent(name="Quality Assurer")
])

Advanced Configuration

Agent Configuration

Agents can be configured using YAML files located in src/agentic_fleet/config/:

# Example agent configuration
agent_type: AssistantAgent
name: AI Assistant
model: gpt-4
temperature: 0.7
max_context_length: 4096

Environment Setup

  1. Install dependencies:
pip install agentic-fleet
  1. Set up environment variables:
export OPENAI_API_KEY=your_api_key
export AZURE_OPENAI_KEY=your_azure_key
  1. Start AgenticFleet:
agenticfleet start

Supported Features

  • Multi-agent task allocation
  • Dynamic team composition
  • Advanced error handling
  • Streaming AI interactions
  • Extensible agent framework

Performance Optimization

  • Use streaming APIs for real-time interactions
  • Configure model temperature between 0.7-1.0 for creative tasks
  • Implement efficient agent communication protocols

Contributing

We welcome contributions! Please read our API.md for detailed guidelines on extending AgenticFleet.

License

AgenticFleet is open-source software licensed under [INSERT LICENSE]