From fe9b5ef08b1a948a33cd4dfb43fc84b8a8b1f700 Mon Sep 17 00:00:00 2001 From: Michael Clifford Date: Mon, 28 Apr 2025 17:13:27 -0400 Subject: [PATCH] fix: tools page on playground resets agent after every interaction (#2044) # What does this PR do? This PR updates how the `AgentType` gets set using the radio button on the tools page of the playground. This change is needed due to the fact with its current implementation, the chat interface will resets after every input, preventing users from having a multi-turn conversation with the agent. ## Test Plan Run the Playground without these changes: ```bash streamlit run llama_stack/distribution/ui/app.py ``` Navigate to the tools page and attempt to have a multi-turn conversation. You should see the conversation reset after asking a second question. Repeat the steps above with these changes and you will see that it works as expected when asking the agent multiple questions. Signed-off-by: Michael Clifford --- llama_stack/distribution/ui/page/playground/tools.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/llama_stack/distribution/ui/page/playground/tools.py b/llama_stack/distribution/ui/page/playground/tools.py index 6c6a9fcfd..149d8cce9 100644 --- a/llama_stack/distribution/ui/page/playground/tools.py +++ b/llama_stack/distribution/ui/page/playground/tools.py @@ -94,12 +94,16 @@ def tool_chat_page(): st.subheader("Agent Configurations") st.subheader("Agent Type") agent_type = st.radio( - "Select Agent Type", - [AgentType.REGULAR, AgentType.REACT], - format_func=lambda x: x.value, + label="Select Agent Type", + options=["Regular", "ReAct"], on_change=reset_agent, ) + if agent_type == "ReAct": + agent_type = AgentType.REACT + else: + agent_type = AgentType.REGULAR + max_tokens = st.slider( "Max Tokens", min_value=0,