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
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
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
nfactorial-0.1.7.tar.gz
(44.7 kB
view details)
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 nfactorial-0.1.7.tar.gz.
File metadata
- Download URL: nfactorial-0.1.7.tar.gz
- Upload date:
- Size: 44.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0efa0d0d1696a934a4dff3ef6a059527cf3bcc7c5b9503eac1eee9e6ba80c8aa
|
|
| MD5 |
03ddb0c7e60c4248d826a3adb178ab11
|
|
| BLAKE2b-256 |
ab0bf635f1b1eef606774339c0378db3c4a84609c40bead81fdb1b3d9f9d974b
|
File details
Details for the file nfactorial-0.1.7-py3-none-any.whl.
File metadata
- Download URL: nfactorial-0.1.7-py3-none-any.whl
- Upload date:
- Size: 50.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c2c7a3ce759b2a286b59556a16d5fb04d571c15b21efa2d29f15a8ef22c730a
|
|
| MD5 |
65e10996acca3de78d3e7114a2aa306d
|
|
| BLAKE2b-256 |
7c10e7c967c24d305021582ae7e308aa78f615c599b34f9cce1fc064fe0733c4
|