Tags and metadata provide valuable context for your threads, steps and generations.

@cl.step(type="run")
async def func(input):
    # some code
    cl.context.current_step.metadata = {"experiment":"1"}
    cl.context.current_step.tags = ["to review"]
    # some code
    return output

More information here.