Skip to main content

LLMaestro

A system for orchestrating large-scale LLM tasks that exceed token limits through task decomposition and parallel processing.

Architecture

The system is built around three main concepts:

  1. Task Manager: Handles task decomposition, scheduling, and result aggregation
  2. Agent Pool: Manages a pool of LLM agents that can be assigned subtasks
  3. Storage Manager: Handles efficient storage and retrieval of intermediate results

Core Components

  • TaskManager: Decomposes large tasks into smaller, manageable chunks
  • Agent: Represents an LLM instance that can process subtasks
  • StorageManager: Manages intermediate results using disk-based storage
  • Validator: Ensures data consistency using Pydantic models

Key Features

  • Task decomposition strategies for different types of tasks (PDF analysis, code refactoring, etc.)
  • Efficient resource management for parallel processing
  • Model-agnostic design supporting different LLM providers
  • Disk-based storage for handling large datasets
  • Strong type validation using Pydantic

Examples

Each example demonstrates how LLM Orchestrator handles tasks that would typically exceed token limits by:

  • Automatically decomposing large tasks into manageable chunks
  • Processing subtasks in parallel where possible
  • Managing context and resources efficiently
  • Aggregating results into a coherent output

Visualization

The system provides interactive visualizations for different types of task decomposition patterns:

Each visualization demonstrates how different types of tasks are broken down and processed by the orchestrator. Click the links above to view the interactive visualizations.

Note: To view the interactive visualizations locally, clone the repository and open the HTML files in your browser.

Configuration

The project requires configuration for LLM API access. You can set this up in two ways:

1. Using a Configuration File

  1. Copy the example configuration:
cp example_config.yaml config.yaml
  1. Edit config.yaml and replace the placeholder API key with your actual key:
llm:
  provider: anthropic
  model: claude-3-sonnet-20240229
  api_key: your-api-key-here

2. Using Environment Variables

Alternatively, you can set the following environment variables:

export ANTHROPIC_API_KEY=your-api-key-here
export ANTHROPIC_MODEL=claude-3-sonnet-20240229  # optional, defaults to sonnet

Security Notes

  • Never commit API keys to version control
  • The config.yaml file is already added to .gitignore
  • Use environment variables in production environments
  • Rotate API keys if they are ever exposed

Getting Started

  1. Install dependencies:
poetry install
  1. Set up configuration using one of the methods above

  2. Try the visualization demo:

python examples/live_visualization_demo.py
  1. Open examples/visualization.html in your browser when prompted

Usage

from llm_orchestrator import TaskManager, Agent

# Initialize the orchestrator
task_manager = TaskManager()

# Create a task
task = task_manager.create_task(
    task_type="pdf_analysis",
    input_data="path/to/pdfs",
    config={"batch_size": 100}
)

# Execute the task
results = task_manager.execute(task)

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Metadata

Release files for llmaestro 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llmaestro 0.1.0
File Size Uploaded
llmaestro-0.1.0.tar.gz 66.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llmaestro 0.1.0
File Interpreter ABI Platform
llmaestro-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 152.7 kB

Release files / llmaestro-0.1.0.tar.gz

Download URL llmaestro-0.1.0.tar.gz
Size 66.9 kB
Tags Source
SHA-256 checksum
How to use checksums
6ebebed5ef2651f561ca0af6c8045d660b07f8413a0ccc681e0c34ff9b15500f
BLAKE2b-256 checksum
How to use checksums
f6da92b62ecb688efd4efb8a870efa24ad70c7a4914a44676daf517912a3a493
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 4, 2025.

Transparency log

Release files / llmaestro-0.1.0-py3-none-any.whl

Download URL llmaestro-0.1.0-py3-none-any.whl
Size 85.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2faf05c3cff81319e8e521f1118aa44ed8509436991ed239426aeed3d92716de
BLAKE2b-256 checksum
How to use checksums
885163f6c5a2f95f283c4741ca730be9984160d634f24907ee7fb1b91ebaeaac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 4, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page