Skip to main content

Automated experiment creation and execution using LLM agents

Project description

SynDisco: Automated experiment creation and execution using only LLM agents

Syndisco Logo

A lightweight, simple and specialized framework used for creating, storing, annotating and analyzing synthetic discussions between Large Language Model (LLM) user-agents in the context of online discussions.

This framework is designed for academic use, mainly for simulating Social Science experiments with multiple participants. It is finetuned for heavy server-side use and multi-day computations with limited resources. It has been tested on both simulated debates and online fora.

Usage

Have a look at the online documentation for high-level descriptions, API documentation and tutorials.

Features

Automated Experiment Generation

SynDisco generates a randomized set of discussion templates. With only a handful of configurations, the researcher can run hundreds or thousands of unique experiments.

Synthetic Group Discussion Generation

SynDisco accepts an arbitrarily large number of LLM user-agent profiles and possible Original Posts (OPs). Each experiment involves a random selection of these user-agents replying to a randomly selected OP. The researcher can determine how these participants behave, whether there is a moderator present and even how the turn-taking is determined.

Synthetic Annotation Generation with multiple annotators

The researcher can create multiple LLM annotator-agent profiles. Each of these annotators will process each generated discussion at the comment-level, and annotate according to the provided instruction prompt, enabling an arbitrary selection of metrics to be used.

Native Transformers support

The framework supports most Hugging Face Transformer models out-of-the-box. Support for models managed by other libraries can be easily achieved by extending a single class.

Native logging and fault tolerance

Since SynDisco is expected to possibly run for days at a time in remote servers, it keeps detailed logs both on-screen and on-disk. Should any experiment fail, the next one will be loaded with no intermittent delays. Results are intermittently saved to the disk, ensuring no data loss or corruption on even catastrophic errors.

Installation

You can download the package from PIP:

pip install syndisco

Or build from source:

git clone https://github.com/dimits-ts/syndisco.git
pip install -r requirements.txt
pip install .

If you want to contribute to the project, or modify the library's code you may use:

git clone https://github.com/dimits-ts/syndisco.git
pip install -r requirements.dev.txt
pip install -e .

or

git clone https://github.com/dimits-ts/syndisco.git
pip install -r requirements.dev.txt
pip install -e .[dev]

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

syndisco-2.0.4a0.tar.gz (8.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

syndisco-2.0.4a0-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

File details

Details for the file syndisco-2.0.4a0.tar.gz.

File metadata

  • Download URL: syndisco-2.0.4a0.tar.gz
  • Upload date:
  • Size: 8.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for syndisco-2.0.4a0.tar.gz
Algorithm Hash digest
SHA256 ced34335a9e00a68d7eae075ff404871aa2bb434d8c23e0aa58f51c1c5c8b560
MD5 8c6a6af2f1a050f4db35d1105e6e13cc
BLAKE2b-256 954719e76194f00cb9324b4effe45745c5e0bac755d5b68154d59ad798ee5c96

See more details on using hashes here.

File details

Details for the file syndisco-2.0.4a0-py3-none-any.whl.

File metadata

  • Download URL: syndisco-2.0.4a0-py3-none-any.whl
  • Upload date:
  • Size: 34.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for syndisco-2.0.4a0-py3-none-any.whl
Algorithm Hash digest
SHA256 ded6cd871967b9704417697801fedc18ab44bc1f08c5e1a5c295c496a2718e13
MD5 58bbb07ef624be63fb7c8164fb63f054
BLAKE2b-256 487138972d3eb9e65eac233b6958a36e6ba77120402a99c3cd68a95e82b0104c

See more details on using hashes here.

Supported by

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