Skip to main content

A distributed task queue for building reliable multi-agent systems.

Project description

nFactorial

Factorial is a distributed task queue for building reliable multi-agent systems. It makes the following trivial to implement:

  • Agent Reliability: Automatic retries, backoff strategies, and recovery of dropped tasks from crashed workers.
  • In-flight Task Management: Cancel, steer, and monitor running tasks.
  • Spawning Sub Agents: Having an agent spawn multiple sub agents and wait for their completion before continuing.
  • Deferred Tools: Pause the agent while it waits for long running tools to complete externally or wait for user approval before continuing.
  • Observability: Built-in metrics dashboard and comprehensive logging

Dashboard

Installation

pip install nfactorial

Quick Start

from factorial import Agent, Orchestrator, AgentWorkerConfig, gpt_41


def get_weather(location: str) -> str:
    return f"The weather in {location} is sunny and 72°F"


agent = Agent(
    instructions="You help users get weather information.",
    model=gpt_41,
    tools=[get_weather],
)

# Create orchestrator
orchestrator = Orchestrator(
    redis_host="localhost",
    redis_port=6379,
    redis_db=0,
    redis_max_connections=50,
)
orchestrator.register_runner(
    agent=agent, agent_worker_config=AgentWorkerConfig(workers=1)
)

# Run the system
if __name__ == "__main__":
    orchestrator.run()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nfactorial-0.1.22.tar.gz (69.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nfactorial-0.1.22-py3-none-any.whl (81.7 kB view details)

Uploaded Python 3

File details

Details for the file nfactorial-0.1.22.tar.gz.

File metadata

  • Download URL: nfactorial-0.1.22.tar.gz
  • Upload date:
  • Size: 69.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for nfactorial-0.1.22.tar.gz
Algorithm Hash digest
SHA256 25a77708513acb01d4af5ee54b9a1fbd32c9532fe9f4a900200f9fe033307b39
MD5 ceae53f18b61d36e0cf2c33e4ab445de
BLAKE2b-256 ad97296325294ea17b2f0b5e9bd30953d8f33b848ed8f3851695a14e64d4d24d

See more details on using hashes here.

File details

Details for the file nfactorial-0.1.22-py3-none-any.whl.

File metadata

  • Download URL: nfactorial-0.1.22-py3-none-any.whl
  • Upload date:
  • Size: 81.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for nfactorial-0.1.22-py3-none-any.whl
Algorithm Hash digest
SHA256 cb815dd5093ba1b59ea8d316c76c30754df07c6208d6335b45c566fc349bd19d
MD5 e9b15c3814d13fa4ad5e818bf6218fa5
BLAKE2b-256 170f8c8ffcdd231df48a0329c9a272893da202880e2fb065c400a095580853ec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page