Skip to content

Devanshusisodiya/hermes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hermes

This is a POC project to understand how agents in a multi agent environment can interact with each other.

Current implementation defines an Agent Layer which rests on top of a Multiplexer Layer. The idea is pretty simple, an agent can be registered on the multiplexer and can then send messages to all other agents on the network.

image

Under the hood, the multiplexer uses the following architecture.

image

The aggregator function is invoked which puts up the messages on the multiplexer messsage bus (async. queue) when an agent makes contact, and the scheduler function which is running constantly consumes the messages put on message bus and sends them to the agents registered on the network.

An agent can be defined and registered on the multiplexer as follows

awesome_agent = Agent("awesome_agent")

await multiplexer.register(awesome_agent)

And finally the mutiplexer is to be run

await multiplexer.run()

A sample driver code is defined in main.py.

This idea can be evolved

From a broader perspective, this environment can be evolved to use multiple P2P hosts that use Hermes package (which under the hood will use sockets to make public remote connections) to run agents.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published