Utils


source

create_nano_id

 create_nano_id (size=12)

source

async_to_sync

 async_to_sync (async_func)

Convert an async function to a sync function


source

plot_experiments_as_subplots

 plot_experiments_as_subplots (data, experiment_names=None)

*Plot metrics comparison across experiments.

Parameters: - data: Dictionary with experiment_names as keys and metrics as nested dictionaries - experiment_names: List of experiment IDs in the order they should be plotted

Returns: - Plotly figure object with horizontal subplots*

# Provided sample data
data = {
    'my-first-experiment': {
        'correctness': ['pass', 'fail', 'fail', 'fail', 'fail', 'pass', 'fail', 
                  'pass', 'fail', 'fail', 'fail', 'pass', 'pass', 'pass', 
                  'pass', 'fail', 'pass', 'fail', 'pass', 'pass', 'pass', 
                  'fail', 'fail', 'pass', 'pass', 'pass', 'pass', 'fail', 
                  'fail', 'fail'],
        'positivity': [
            7, 3, 8, 2, 4, 9, 3, 8, 7, 6, 
            9, 7, 8, 10, 1, 8, 9, 4, 8, 1, 
            9, 3, 2, 1, 1, 9, 8, 4, 3, 8
        ]
    },
    'my-second-experiment': {
        'correctness': ['pass', 'pass', 'pass', 'fail', 'pass', 'pass', 'pass', 
                  'pass', 'fail', 'pass', 'pass', 'pass', 'fail', 'pass', 
                  'pass', 'pass', 'pass', 'pass', 'pass', 'pass', 'fail', 
                  'pass', 'fail', 'fail', 'pass', 'fail', 'pass', 'fail', 
                  'fail', 'fail'],
        'positivity': [
            6, 8, 7, 3, 8, 7, 9, 8, 2, 7, 
            6, 8, 4, 9, 8, 7, 10, 9, 8, 9, 
            3, 8, 4, 2, 7, 3, 8, 4, 2, 3
        ]
    }
}


# Plot the comparison
experiment_names = ['my-first-experiment', 'my-second-experiment',]
fig = plot_experiments_as_subplots(data, experiment_names)

# Show the figure
fig.show()
Unable to display output for mime type(s): application/vnd.plotly.v1+json