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.18.tar.gz (69.3 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.18-py3-none-any.whl (81.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nfactorial-0.1.18.tar.gz
  • Upload date:
  • Size: 69.3 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.18.tar.gz
Algorithm Hash digest
SHA256 0ec9cef48d067c9899293f1667e88efacfe1a4f6eb2b38de579e1895a668c6c7
MD5 32b3efed2915a4d85c715ecd8cba031a
BLAKE2b-256 d42dcc36027e76593c7266ae47fb540156c05c1d40c306312af0d35c722915af

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nfactorial-0.1.18-py3-none-any.whl
  • Upload date:
  • Size: 81.1 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.18-py3-none-any.whl
Algorithm Hash digest
SHA256 f086840785f31fa5970adececab39a3334be27d9ecf79396ab2622b32da21825
MD5 39e0d63fbd76ac899bdbff6f3a9e17ce
BLAKE2b-256 51f9c3f7747d6e5e1b7ec2498e2873c6d92ee5510cb6482f262f24aa81e2f69f

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