Skip to main content

HERMES

A toolkit for the multi-agent simulation of emergent communication and languages.

HERMES provides the building blocks for running language games: populations of agents, worlds that supply the entities agents talk about, interaction scripts that define who says what to whom, alignment strategies that update agents after each interaction, and monitors that record how the emerging language develops over time.

Installation

pip install hermes-toolkit

The core framework is pure Python. Experiments with neurally grounded agents additionally need PyTorch, and the experiment logger needs pandas:

pip install "hermes-toolkit[all]"      # torch + pandas
pip install "hermes-toolkit[torch]"    # torch only

The distribution is named hermes-toolkit, but the package is imported as hermes:

import hermes
from hermes.experiment import Experiment

Getting started

Worked examples live in docs/source/tutorials:

  • hermes_naming_game.ipynb — a basic naming game
  • hermes_grounded_naming_game.ipynb — a naming game grounded in images
  • hermes-MARL-concept-learning.ipynb — concept learning with neural agents
  • hermes_naming_game_pyfcg.ipynb — integration with FCG

Core concepts

Component Role
Agent Holds a vocabulary and whatever machinery it needs to produce and interpret utterances
Population Determines which agents interact with one another
World Supplies the scenes and entities agents communicate about
Interaction The script of a single communicative exchange
Process One participant's contribution to an interaction (describing, pointing, drawing, ...)
AlignmentStrategy How agents update after success or failure
Monitor Records a measure over the course of an experiment
Experiment Ties the above together and runs series of interactions

Experiments are configured with a dictionary; each component is given as a (class_name, module_name) pair, so your own subclasses drop in without changing the framework.

Citation

If you use HERMES in academic work, please cite it. A CITATION.cff file will be added with the first tagged release.

Contributing

The main branch is protected — please create a feature branch for your contribution and open a merge request against main.

License

Apache License 2.0 — see LICENSE.

Metadata

Release files for hermes-toolkit 0.1.0

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

Source distribution (sdist)

Source distribution for hermes-toolkit 0.1.0
File Size Uploaded
hermes_toolkit-0.1.0.tar.gz 15.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hermes-toolkit 0.1.0
File Interpreter ABI Platform
hermes_toolkit-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 33.2 kB

Release files / hermes_toolkit-0.1.0.tar.gz

Download URL hermes_toolkit-0.1.0.tar.gz
Size 15.7 kB
Tags Source
SHA-256 checksum
How to use checksums
29e6a0e29a1ce517c26f3d52a0a0e456997ad7283a095458d194355100314b5b
BLAKE2b-256 checksum
How to use checksums
a01b862b196d48a41a4bd9e1abaf76d3a2bbfae3430b91c431556585cc5c1fb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / hermes_toolkit-0.1.0-py3-none-any.whl

Download URL hermes_toolkit-0.1.0-py3-none-any.whl
Size 17.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c645aa900c90e65a0bc1345a5769e934a81649220e931c202d9d37ab13c6474e
BLAKE2b-256 checksum
How to use checksums
fc9830413d2a2765168afbc53601902b78d3b2d36952969e286a368409bd36a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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