Open minhduc0711 opened 5 months ago
yes this is by design. Why? I don't know. My users overwhelmingly miss the old tool UI. They do like the starters though (albeit they miss the markdown homescreen details).
Not sure what the benefit was in completely removing existing, core functionality but it did a number to our application.. We may need to roll back and fork, even though we really like most other changes introduced.
Not sure what the benefit was in completely removing existing, core functionality but it did a number to our application..
Indeed, the new release completely breaks the demo examples on Langroid, a Multi-Agent LLM framework.
Even version 1.1.202 has un-intuitive design choices that seem to be based on a limiting mental model of what "steps" and "sub-steps" might constitute. Steps could be so-called "chain-of-thought", but that's just one possibility. Steps could also be an Agent delegating to a sub-agent, which Langroid supports.
E.g. when step B has parent_id pointing to step A, I expect the output of B to not only nest one level under A, but also the output of B should be displayed in chronologically correct order. E.g. in case B delegates to C, the C outputs should come after B's output. E.g. if I run the code below with 1.1.202
import chainlit as cl
@cl.on_chat_start
async def on_chat_start():
a_step = cl.Step(name="A", type="text")
a_step.output = "asking B"
await a_step.send()
b_step = cl.Step(
name="B",
parent_id=a_step.id,
type="text",
)
b_step.output = "asking C"
await b_step.send()
c_step = cl.Step(
name="C",
parent_id=b_step.id,
type="text",
)
c_step.output = "C answered!"
await c_step.send()
I get this non-sensical ordering of outputs and steps (the nesting is correct though):
For example "asking B" should be displayed right under A, before the B step, etc.
If I switch to the latest release, things are broken in a new way, i.e. non-tool steps are no longer displayed at all. But even if I change those step types to "tool" just to get them displayed, it seems like the chronological order is respected (good), but nesting no longer respects parent_id
pointers:
IMO two things need to be made configurable, and not baken-in to fit someone's specific mental model of what steps and sub-steps might mean:
parent_id
when nesting stepsCurrently the design choices seem to be based on a failry limited view of steps and sub-steps, and completely ignore a multi-agent viewpoint. I've heard arguments such as:
@willydouhard , are you looking into changing this back / making it configurable or is this not on the roadmap?
Adding our new lord and savior @dokterbob
Also very frustrated by this. I see old examples of chainlit with screenshots in the Cookbook or in Medium and they look so beautiful. The current UI is a huge step backwards. Chainlit is an incredible project that we all love. Please consider changing the UI back.
Hey all, what's necessary to bring this back? How can we organise to move towards a PR? What skills are required etc. etc. Let's try and be productive on this.
But please be aware, my priorities (at this moment) are:
So I won't be implementing this feature for you, but will happily do whatever else I can to move it forward. From my perspective, it's a new feature. I know y'all like to get heard -- but it's not helping us resolve things!
Perhaps we could:
What do y'all think?
Describe the bug Version 1.1.300 introduced a new UI design to display intermediate steps, but the nested steps are no longer displayed in a nested manner.
To Reproduce Run this example
Expected behavior The child step should be indented to indicate that it is nested inside the parent step.
Screenshots
Desktop (please complete the following information):