A multi-agent orchestration system built with Microsoft Agent Framework
Project description
AgenticFleet
Version: 0.5.0
Package: agentic-fleet (PyPI) | agenticfleet (import)
A sophisticated multi-agent system powered by Microsoft Agent Framework that coordinates specialized AI agents to solve complex tasks through dynamic delegation and collaboration.
๐ฏ Overview
AgenticFleet implements a custom orchestration pattern where an orchestrator agent intelligently delegates tasks to specialized agents:
- ๐ฏ Orchestrator Agent: Plans and coordinates task distribution
- ๐ Researcher Agent: Gathers information through web searches
- ๐ป Coder Agent: Writes and executes Python code
- ๐ Analyst Agent: Analyzes data and suggests visualizations
โจ Features
- โ
Modern Package Structure: PyPA-recommended
src/layout for import safety - โ Dynamic Task Decomposition: Automatic breakdown of complex tasks
- โ Multi-Agent Coordination: Seamless collaboration between specialized agents
- โ Event-Driven Architecture: Real-time monitoring and observability
- โ Structured Responses: Type-safe tool outputs with Pydantic models
- โ Configurable Execution: Safety controls and execution limits
- โ Individual Agent Configs: Dedicated configuration per agent
- โ
Persistent Memory:
mem0integration for long-term memory - โ
Console Script: Easy CLI access via
agentic-fleetcommand
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ User Interface (CLI) โ
โ Console: agentic-fleet โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Custom Workflow Orchestrator โ
โ (Coordination & State Management) โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโดโโโโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โOrchestrator โโโโโโค Specialized โ
โ Agent โ โ Agents โ
โโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโโ
โ โ
โ โโโโโโโโโโโโโโโโโโผโโโโโโโโโ
โ โ โ โ
โผ โผ โผ โผ
โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
โResearcherโ โ Coder โ โ Analyst โ
โ(Web) โ โ(Code) โ โ(Data) โ
โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
โฒ
โ
โโโโโโโดโโโโโโโโ
โ Mem0 Contextโ
โ Provider โ
โโโโโโโโโโโโโโโ
Package Structure (src/ Layout)
src/agenticfleet/ # Main package (import: agenticfleet)
โโโ __init__.py # Package entry, version, exports
โโโ __main__.py # Module entry (python -m agenticfleet)
โโโ agents/ # All agent factories + tools
โ โโโ orchestrator/ # Orchestrator agent
โ โ โโโ agent.py # Factory: create_orchestrator_agent()
โ โ โโโ config.yaml # Agent-specific configuration
โ โ โโโ tools/ # Agent tools (if any)
โ โโโ researcher/ # Researcher agent with web search
โ โ โโโ agent.py # Factory: create_researcher_agent()
โ โ โโโ config.yaml
โ โ โโโ tools/
โ โ โโโ web_search_tools.py
โ โโโ coder/ # Coder agent with code execution
โ โ โโโ agent.py # Factory: create_coder_agent()
โ โ โโโ config.yaml
โ โ โโโ tools/
โ โ โโโ code_interpreter.py
โ โโโ analyst/ # Analyst agent with data analysis
โ โโโ agent.py # Factory: create_analyst_agent()
โ โโโ config.yaml
โ โโโ tools/
โ โโโ data_analysis_tools.py
โโโ workflows/ # Multi-agent orchestration
โ โโโ multi_agent.py # MultiAgentWorkflow class
โโโ config/ # Configuration management
โ โโโ settings.py # Settings class (loads env vars)
โ โโโ workflow.yaml # Workflow-level config
โโโ context/ # Long-term memory providers
โ โโโ mem0_provider.py # Mem0 integration
โโโ core/ # Core utilities
โ โโโ exceptions.py # Custom exceptions
โ โโโ logging.py # Logging configuration
โ โโโ types.py # Type definitions, enums
โโโ cli/ # CLI interface
โโโ repl.py # Interactive REPL
tests/ # All tests
โโโ test_config.py # Configuration validation
โโโ test_mem0_context_provider.py # Memory tests
โโโ test_hello.py # Sanity check
docs/ # Documentation
โโโ AGENTS.md # Agent development guidelines
โโโ MEM0_INTEGRATION.md # Memory integration docs
โโโ MIGRATION_COMPLETE.md # Migration report
โโโ TEMPERATURE_FIX.md # API compliance fixes
โโโ COMMANDS.md # Command reference
โโโ ...
๐ Prerequisites
- Python: 3.12 or higher
- Azure AI Project: An Azure AI project with a deployed model.
- Azure AI Search: An Azure AI Search service.
- uv: Modern Python package manager (recommended)
๐ Quick Start
1. Clone and Navigate
git clone https://github.com/Qredence/AgenticFleet.git
cd AgenticFleet
2. Set Up Environment
# Copy environment template
cp .env.example .env
# Edit .env and add your keys and endpoints
# Required:
# - OPENAI_API_KEY
# - AZURE_AI_PROJECT_ENDPOINT
# - AZURE_AI_SEARCH_ENDPOINT
# - AZURE_AI_SEARCH_KEY
# - AZURE_OPENAI_CHAT_COMPLETION_DEPLOYED_MODEL_NAME
# - AZURE_OPENAI_EMBEDDING_DEPLOYED_MODEL_NAME
3. Install Dependencies (uv-first approach)
Using uv (recommended):
# Install uv if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh
# Sync dependencies (creates .venv automatically)
uv sync
# Optional: activate shell (not required when using `uv run`)
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windows
Using pip (not recommended)
See docs/COMMANDS.md for pip-based installation.
4. Validate Configuration
# Run configuration tests (should pass 6/6)
uv run pytest tests/test_config.py -v
5. Run the Application
Method 1: Console script (easiest)
uv run agentic-fleet
Method 2: Module execution
uv run python -m agenticfleet
Method 3: Direct REPL file (legacy)
uv run python src/agenticfleet/cli/repl.py
5. Developer Workflow
Using Makefile (recommended)
make help # Show all available commands
make install # First-time setup
make test-config # Validate configuration (6/6 tests)
make run # Launch application
make check # Run all quality checks (lint + type-check)
make format # Auto-format code
Using uv directly:
# Format code
uv run black .
# Lint code
uv run ruff check .
uv run ruff check --fix . # Auto-fix issues
# Type checking
uv run mypy src/agenticfleet
# Run tests
uv run pytest # All tests
uv run pytest -v # Verbose
uv run pytest tests/test_config.py # Specific file
# All-in-one validation
uv sync && uv run black . && uv run ruff check . && uv run mypy src/agenticfleet && uv run pytest
Pre-commit hooks (automated checks on git commit):
make pre-commit-install
# or: uv run pre-commit install
๐ก Usage Examples
Basic Import
# Import package version
from agenticfleet import __version__
print(f"AgenticFleet v{__version__}")
# Import workflow
from agenticfleet.workflows import workflow
# Run a task
result = await workflow.run("Research Python best practices")
Creating Individual Agents
from agenticfleet.agents import (
create_orchestrator_agent,
create_researcher_agent,
create_coder_agent,
create_analyst_agent,
)
# Create agents
orchestrator = create_orchestrator_agent()
researcher = create_researcher_agent()
coder = create_coder_agent()
analyst = create_analyst_agent()
# Use individual agent
result = await researcher.run("Search for Python ML libraries")
Using Configuration
from agenticfleet.config import settings
# Access settings
api_key = settings.openai_api_key
model = settings.openai_model
# Load agent-specific config
agent_cfg = settings.load_agent_config("orchestrator")
print(agent_cfg["agent"]["name"]) # "orchestrator"
Custom Workflow
from agenticfleet.workflows import MultiAgentWorkflow
# Create workflow instance
workflow = MultiAgentWorkflow()
# Run task with automatic agent coordination
result = await workflow.run(
"Analyze sales data and create visualizations"
)
print(result)
โ๏ธ Configuration
Environment Variables (.env)
# OpenAI API Key
OPENAI_API_KEY=sk-your-key-here
# Azure AI Project Endpoint
AZURE_AI_PROJECT_ENDPOINT=your-azure-ai-project-endpoint
# Azure AI Search Configuration
AZURE_AI_SEARCH_ENDPOINT=your-azure-ai-search-endpoint
AZURE_AI_SEARCH_KEY=your-azure-ai-search-key
# Azure OpenAI Deployed Model Names
AZURE_OPENAI_CHAT_COMPLETION_DEPLOYED_MODEL_NAME=your-chat-completion-model-name
AZURE_OPENAI_EMBEDDING_DEPLOYED_MODEL_NAME=your-embedding-model-name
# Log Level (e.g., INFO, DEBUG)
LOG_LEVEL=INFO
๐ Documentation
All documentation is located in the docs/ folder:
Core Documentation
- Quick Reference - Getting started guide and common commands
- Commands Reference - Complete command reference for all operations
- Agent Guidelines - Development rules and agent conventions
- Implementation Summary - Technical architecture details
Migration & Updates
- Migration Complete - Full src/ layout migration report
- Migration Summary - Quick migration overview
- Temperature Fix - API compliance fixes
- OpenAI API Migration - Responses API updates
Features & Integration
- Mem0 Integration - Persistent memory with mem0
- Progress Tracker - Project milestones and status
- Bug Fixes - Issue resolutions and patches
- Phase 1 PRD - Original product requirements
Additional Resources
- Cleanup Checklist - Post-migration validation
- Test Summary - Test coverage and results
๐ ๏ธ Development Tools
- uv: Fast Python package manager with lockfile support
- Ruff: Lightning-fast linter and formatter
- Black: Opinionated code formatter
- mypy: Static type checker
- pytest: Testing framework
- pre-commit: Git hooks for automated quality checks
- GitHub Actions: CI/CD with automated testing and linting
- Makefile: Convenient command shortcuts
๐ CI/CD
The project includes automated CI/CD via GitHub Actions (.github/workflows/ci.yml):
- โ Lint with Ruff
- โ Format check with Black
- โ Type check with mypy
- โ Configuration validation (6 tests)
- โ Full test suite execution (28 tests)
- โ Security scanning (optional)
- โ Matrix testing (Python 3.12 & 3.13)
- โ Automated dependency caching
- โ Pre-commit.ci integration for automatic fixes
๐ข Installation (Future PyPI)
Once published to PyPI, users can install AgenticFleet:
# Using pip
pip install agentic-fleet
# Using uv (recommended)
uv pip install agentic-fleet
Then import and use:
from agenticfleet import __version__, MultiAgentWorkflow
print(f"AgenticFleet v{__version__}")
workflow = MultiAgentWorkflow()
result = await workflow.run("Your task here")
๐ค Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following the coding standards
- Run tests:
uv run pytest - Run quality checks:
make checkoruv run black . && uv run ruff check . && uv run mypy src/agenticfleet - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Microsoft Agent Framework - Core agent orchestration framework
- OpenAI - Language model APIs
- mem0 - Persistent memory management
- uv - Fast Python package manager
- Ruff - Lightning-fast linter and formatter
๐ Support
- Issues: GitHub Issues
- Documentation: docs/
- Email: contact@qredence.ai
Built with โค๏ธ by Qredence
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.5.0.tar.gz.
File metadata
- Download URL: agentic_fleet-0.5.0.tar.gz
- Upload date:
- Size: 268.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1caadb8cd20ab9de11bf6678100fe9ceb246c5d874852274667a17501d824597
|
|
| MD5 |
954851880db73196cb6f0cb18b40f638
|
|
| BLAKE2b-256 |
49792720bfd2372019feec96bd6cfb2c3dfd58e48c832fc3ad76b48ea6e9e521
|
Provenance
The following attestation bundles were made for agentic_fleet-0.5.0.tar.gz:
Publisher:
release.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.5.0.tar.gz -
Subject digest:
1caadb8cd20ab9de11bf6678100fe9ceb246c5d874852274667a17501d824597 - Sigstore transparency entry: 601307623
- Sigstore integration time:
-
Permalink:
Qredence/AgenticFleet@d7875023e8032535e1b3582689597cd2c9472b20 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/Qredence
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d7875023e8032535e1b3582689597cd2c9472b20 -
Trigger Event:
push
-
Statement type:
File details
Details for the file agentic_fleet-0.5.0-py3-none-any.whl.
File metadata
- Download URL: agentic_fleet-0.5.0-py3-none-any.whl
- Upload date:
- Size: 34.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9d041ccf84cc6dd2704f37355559e484c11b9f1e13f191fc1b73146de3a3fb7
|
|
| MD5 |
f14f321536094fb0fae2873663205373
|
|
| BLAKE2b-256 |
791cc35a2a35c9e4a9afb21c49b8f5e286dd1126ffe23b3a389c1fe9f66e9917
|
Provenance
The following attestation bundles were made for agentic_fleet-0.5.0-py3-none-any.whl:
Publisher:
release.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.5.0-py3-none-any.whl -
Subject digest:
d9d041ccf84cc6dd2704f37355559e484c11b9f1e13f191fc1b73146de3a3fb7 - Sigstore transparency entry: 601307624
- Sigstore integration time:
-
Permalink:
Qredence/AgenticFleet@d7875023e8032535e1b3582689597cd2c9472b20 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/Qredence
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d7875023e8032535e1b3582689597cd2c9472b20 -
Trigger Event:
push
-
Statement type: