BranchingSessionGraphGeneratorConfig ==================================== **class** ``BranchingSessionGraphGeneratorConfig`` **(** :doc:`BaseSessionGraphGeneratorConfig` **)** Generator of branching session graphs (DAGs with fan-out and fan-in). **Polymorphic Type:** ``type: branching`` All ``BaseSessionGraphGeneratorConfig`` types: - ``linear``: :doc:`LinearSessionGraphGeneratorConfig` - ``single_request``: :doc:`SingleRequestSessionGraphGeneratorConfig` - ``branching``: :doc:`BranchingSessionGraphGeneratorConfig` **Fields:** ``num_layers_generator`` : :doc:`BaseLengthGeneratorConfig` = :doc:`UniformLengthGeneratorConfig` Generator for the number of layers (depth). Available types: - ``fixed``: :doc:`FixedLengthGeneratorConfig` - ``fixed_stair``: :doc:`StairLengthGeneratorConfig` - ``uniform``: :doc:`UniformLengthGeneratorConfig` - ``zipf``: :doc:`ZipfLengthGeneratorConfig` - ``inverse_gaussian``: :doc:`InverseGaussianLengthGeneratorConfig` ``layer_width_generator`` : :doc:`BaseLengthGeneratorConfig` = :doc:`UniformLengthGeneratorConfig` Generator for width per layer (sampled independently for each layer). Available types: - ``fixed``: :doc:`FixedLengthGeneratorConfig` - ``fixed_stair``: :doc:`StairLengthGeneratorConfig` - ``uniform``: :doc:`UniformLengthGeneratorConfig` - ``zipf``: :doc:`ZipfLengthGeneratorConfig` - ``inverse_gaussian``: :doc:`InverseGaussianLengthGeneratorConfig` ``fan_out_generator`` : :doc:`BaseLengthGeneratorConfig` = :doc:`UniformLengthGeneratorConfig` Generator for number of outgoing edges per node. Available types: - ``fixed``: :doc:`FixedLengthGeneratorConfig` - ``fixed_stair``: :doc:`StairLengthGeneratorConfig` - ``uniform``: :doc:`UniformLengthGeneratorConfig` - ``zipf``: :doc:`ZipfLengthGeneratorConfig` - ``inverse_gaussian``: :doc:`InverseGaussianLengthGeneratorConfig` ``fan_in_generator`` : :doc:`BaseLengthGeneratorConfig` = :doc:`UniformLengthGeneratorConfig` Generator for minimum incoming edges per node. Capped to available parent nodes. Available types: - ``fixed``: :doc:`FixedLengthGeneratorConfig` - ``fixed_stair``: :doc:`StairLengthGeneratorConfig` - ``uniform``: :doc:`UniformLengthGeneratorConfig` - ``zipf``: :doc:`ZipfLengthGeneratorConfig` - ``inverse_gaussian``: :doc:`InverseGaussianLengthGeneratorConfig` ``connection_dist_generator`` : :doc:`BaseLengthGeneratorConfig` = :doc:`FixedLengthGeneratorConfig` Generator for forward skip distance (1 = next layer, 2 = skip one layer, etc.). Capped to last layer. Available types: - ``fixed``: :doc:`FixedLengthGeneratorConfig` - ``fixed_stair``: :doc:`StairLengthGeneratorConfig` - ``uniform``: :doc:`UniformLengthGeneratorConfig` - ``zipf``: :doc:`ZipfLengthGeneratorConfig` - ``inverse_gaussian``: :doc:`InverseGaussianLengthGeneratorConfig` ``request_wait_generator`` : :doc:`BaseIntervalGeneratorConfig` = :doc:`PoissonIntervalGeneratorConfig` Generator for wait time after all parents complete. Available types: - ``gamma``: :doc:`GammaIntervalGeneratorConfig` - ``poisson``: :doc:`PoissonIntervalGeneratorConfig` - ``fixed``: :doc:`FixedIntervalGeneratorConfig` ``inherit_history`` : *bool* = ``True`` When true, one parent per node is randomly selected as history provider. ``single_root`` : *bool* = ``True`` Force layer 0 to have exactly 1 node (typical for chat sessions).