Skip to main content

Snow Globe multi-agent system for open-ended wargames with large language models

Project description

Snow Globe

Open-Ended Wargames with Large Language Models

Snow Globe, an ongoing applied research project and resulting software package, uses large language models (LLMs) for automated play of "open-ended" text-based wargames, such as seminar games and political wargames. LLMs enable a light, flexible architecture in which player actions are not restricted to predefined options. The system allows humans to play against or alongside AI agents with specific personas. Every stage of the wargame from scenario preparation to post-game analysis can be optionally carried out by AI, humans, or a combination thereof.

Setup

Build the Docker image and run a container.

./docker_setup.sh

Demos

Once inside the running container (see Setup above), you can simulate a tabletop exercise about an AI incident response.

examples/haiwire.py

Or, simulate a political wargame about a geopolitical crisis.

examples/ac.py

In the latter case, you can use the chat interface to discuss the game afterwards, or just press Enter twice to exit.

Human Players

To play a game between a human and an AI player, launch the server from within the running container. Also, start the game:

snowglobe_server &
examples/ac.py --human 1

Then, open a browser window and navigate to:

http://myservername:8000

The terminal output will include the ID number for the human player. Type the number into the browser then click Connect. The top textbox gives player prompts; the bottom textbox is where the player enters responses. Textboxes turn blue while waiting for the next prompt.

License

This repo is released under the Apache License Version 2.0, except for jQuery which is released under the MIT License.

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

llm_snowglobe-0.1.0.tar.gz (87.5 kB view details)

Uploaded Source

Built Distribution

llm_snowglobe-0.1.0-py3-none-any.whl (86.2 kB view details)

Uploaded Python 3

File details

Details for the file llm_snowglobe-0.1.0.tar.gz.

File metadata

  • Download URL: llm_snowglobe-0.1.0.tar.gz
  • Upload date:
  • Size: 87.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for llm_snowglobe-0.1.0.tar.gz
Algorithm Hash digest
SHA256 49fcdcfc856a2c19628c2afc71de2defef654abd460349eacfb2ff89dbbef10e
MD5 86f9d24ffa83dd418e6964612378c4e8
BLAKE2b-256 3200bf7e19165bf99781003d98170fee8d9177cb5b84f659e796d18f429c1783

See more details on using hashes here.

File details

Details for the file llm_snowglobe-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for llm_snowglobe-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94eed1ab40ee2d521914e03fa0ec6c2918b0a06bef3cf100b9bfa61c164c87c0
MD5 f7d442fd139e0c45d59d264b7cc7451c
BLAKE2b-256 2fdbda4fb205820ea22f42d31a612c13902671041d8c4a64f06cd14707adc058

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page