syndisco.DiscussionExperiment

class DiscussionExperiment(users: ~typing.Sequence[~syndisco.actors.Actor], seed_opinions: ~typing.Sequence[~typing.Sequence[str] | str] | None = None, turn_manager: ~syndisco.turn_manager.TurnManager = <syndisco.turn_manager.QueueTurnManager object>, history_ctx_len: int = 3, num_turns: int = 10, num_active_users: int = 2, num_discussions: int = 5)

Bases: object

An experiment that creates, manages, and executes multiple synthetic discussions using LLM-based agents.

begin(discussions_output_dir: Path, verbose: bool = True) None

Generate and run all configured discussions. The method serializes each discussion immediately upon completion. Thus, limited data is lost upon even fatal errors during execution.

Parameters:
  • discussions_output_dir (Path) – Directory to place the serialized :class:Logs for each discussion.

  • verbose (bool) – Whether to print intermediate progress and outputs.