I have an app where several agents discuss a topic. I’m trying to have a user that should be able to make inputs in the ongoing discussion but the app reruns whenever an input is made.
I’ve read about forms, session_state, experimental_fragments in the documentation but I’m stuck.
I would really appreciate if someone have any tips or tricks.
simulator.reset()
simulator.inject(moderator_name, specified_topic)
st.write(f"({moderator_name}): {specified_topic}")
st.write("\n")
while n < max_iters - 1:
role, message = simulator.step()
# If the role is 'User', get input from the user
if role == user:
message = get_user_input()
user.send() # Store the user's message
# Display the message from the current speaker
st.write(f"({role}): {message}")
st.write("\n")
n += 1
# After the user's turn, everyone else reacts
if role == user:
for agent in agents:
agent.receive(user, message) # Agents receive the user's input
role, message = simulator.step() # Get a response from another agent
st.write(f"({role}): {message}") # Display the response
st.write("\n")
n += 1