Skip to main content

🏛 AgentForum

An asynchronous framework for building LLM-based multi-agent systems in Python, with a focus on:

  • Message trees which highly resemble commits in git to facilitate backtracking. Messages are immutable and are identified by hashes based on their content and their history (a hash of the previous message). A single hash represents state of a conversation at a given point in time.
  • Message promises and the possibility of token streaming. MessagePromise objects are returned before the messages are fully generated. Token streaming is supported regardless of the number of nested levels of agents.

NOTE: While this framework is designed with LLMs in mind, it can be used with any kind of agents.

🧩 Features

  • Message forwarding. Messages can be forwarded to become a part of different message branches or trees (much like it is done in messaging apps for humans).

💡 Philosophy

  • Agents run as concurrently as possible. When an agent is called with .call() or .quick_call() a task is scheduled and AgentCall or AsyncMessageSequence objects are returned immediately. The actual processing will happen upon a task switch.
  • Stateless agents are encouraged. This is not a hard requirement, but ideally the agents should produce the same output when they are given the same input (the same sequence of messages from a message branch).

🔧 Implementation details

This framework supports Python 3.9 or higher and uses asyncio under the hood.

🌱 Future plans

  • Message replies. Technically this will be very similar to message forwarding. The difference will mostly be semantic (in the spirit of mimicking messaging apps for humans).
  • Exceptions as part of the message tree. In the future, exceptions raised by agents will be represented as a special type of messages and will be part of the message branches those agents were on when they were raised.
  • Optional caching of agent responses (enabled by default). When the same sequence of messages is sent to an agent, the framework will respond with the same sequence of response messages without actually calling the agent.
  • Cancellation of agent execution. In the future, it will be possible to cancel the execution of agents before they finish.

⚠️ NOTE: These plans are tentative and may change in the future. ⚠️

Metadata

Release files for agentforum 0.0.10

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

Source distribution (sdist)

Source distribution for agentforum 0.0.10
File Size Uploaded Provenance Actions
agentforum-0.0.10.tar.gz 22.5 kB Without provenance Details for agentforum-0.0.10.tar.gz

Built distribution (wheel)

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

Total release size: 49.3 kB

Release files / agentforum-0.0.10.tar.gz

Download URL agentforum-0.0.10.tar.gz
Size 22.5 kB
Tags Source
SHA-256 checksum
How to use checksums
bc05dc209b5e20a934f9b85ab698d68e095b9a5c43beb7a654e775adfeee4816
BLAKE2b-256 checksum
How to use checksums
369243a2a18500e8024b9b8543996f8302111be395f0acef3ca0f06dbffd3dcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.9.18 Darwin/23.4.0

Release files / agentforum-0.0.10-py3-none-any.whl

Download URL agentforum-0.0.10-py3-none-any.whl
Size 26.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f7156c687c7ec6ee1a17960df75ccc4a8a811458da6c615b7ee2ce59c41d81de
BLAKE2b-256 checksum
How to use checksums
e426cac25b25daa86f50f4ecb0c4b8e55aa294cc08f0daebeb736df1647b93b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.9.18 Darwin/23.4.0

Security for agentforum 0.0.10

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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