Im trying to create a chat engine, i have the thumbs up and down, but after clicking on it, the print statement doesnt activate.
Attaching snippet here -
for text in response.response_gen:
full_response += text + " "
time.sleep(0.05)
message_placeholder.markdown(full_response + "▌")
message_placeholder.markdown(full_response)
st.session_state.messages.append({"role": "assistant", "content": full_response})
torch.cuda.empty_cache()
col1, col2, col3, col4 = st.columns([3,3,0.5,0.5])
with col3:
if st.button(":thumbsup:"):
print("I have been liked")
with col4:
if st.button(":thumbsdown:"):
print("I have been disliked")
im pasting more additional code snippet here - @dataprofessor@Goyo
when the buttons are outside the if condition, it works properly, when inside, it doent activate
if prompt := st.chat_input("What can I help you with?"):
st.session_state.messages.append({"role": "user", "content": prompt})
with st.chat_message("user"):
st.markdown(prompt)
with st.chat_message("assistant"):
message_placeholder = st.empty()
full_response = ""
response = query_engine.query(prompt)
# print('###################################################')
# for idx, res in enumerate(response.source_nodes):
# print(f'Matched chunk {idx + 1} {response.source_nodes[idx]}')
# print('###################################################')
#response.print_response_stream()
for text in response.response_gen:
full_response += text + " "
time.sleep(0.05)
message_placeholder.markdown(full_response + "▌")
message_placeholder.markdown(full_response)
st.session_state.messages.append({"role": "assistant", "content": full_response})
torch.cuda.empty_cache()
col1, col2, col3, col4 = st.columns([3, 3, 0.5, 0.5])
with col3:
if st.button(":thumbsup:"):
print("I have been liked")
with col4:
if st.button(":thumbsdown:"):
print("I have been disliked")
i tried to add this print statement here - it seems like the flow doesnot wait for the button, it just executes and the button prints None instead of the print statements ive triggered
with st.chat_message("assistant"):
message_placeholder = st.empty()
full_response = ""
col1, col2, col3, col4 = st.columns([3, 3, 0.5, 0.5])
with col3:
if st.button(":thumbsup:"):
print("I have been liked")
with col4:
if st.button(":thumbsdown:"):
print("I have been disliked")
print("im done")
This doesn’t work because the scripts rerun as soon as you click a button. As the script runs again, prompt is no longer truish and the code in the if block is not executed.
Thanks for stopping by! We use cookies to help us understand how you interact with our website.
By clicking “Accept all”, you consent to our use of cookies. For more information, please see our privacy policy.
Cookie settings
Strictly necessary cookies
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
Performance cookies
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
Functional cookies
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
Targeting cookies
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.