Comments (4)
I'm having the same issue :(
from streamlit-feedback.
To collect multiple feedback points with the same component, you can set a dynamic key
. See the example below:
import streamlit as st
from streamlit_feedback import streamlit_feedback
def handle_feedback(user_response):
st.toast("✔️ Feedback received!")
if "feedback" not in st.session_state:
st.session_state.feedback = []
if "feedback_key" not in st.session_state:
st.session_state.feedback_key = 0
if st.button("Refresh feedback component"):
st.session_state.feedback_key += 1 # overwrite feedback component
result = streamlit_feedback(
feedback_type="thumbs",
align="flex-start",
on_submit=handle_feedback,
key=f"feedback_{st.session_state.feedback_key}",
)
if result:
st.session_state.feedback.append(result)
st.session_state.feedback
from streamlit-feedback.
Thanks. I slightly modified this to fit my case. On submitting ‘Get_response’ i run reset_cb. This works fine except 1 last bug.
on submitting the feedback, since the app reruns. The ai_response get’s cleared,
Any solution to keep the content as is in the form on submitting the feedback? Since the ai_response function is expensive, i don’t want to rerun it on submitting feedback.
import streamlit as st
from streamlit import session_state as ss
from streamlit_feedback import streamlit_feedback
import uuid
if 'fbk' not in ss:
ss.fbk = str(uuid.uuid4())
def reset_cb():
"""Reset callback for feedback, etc.
This can be used to save interactions.
"""
ss.fbk = str(uuid.uuid4()) # use new key to display new feedback prompt
def ai_response():
"""Gets query text and use it to build a response.
It assigns its response to the query response.
"""
res = "Hey, what's up?"
ss.qr = f"My response is: {res}"
st.write(ss.qr)
# Build a form to receive user query input.
with st.form("query_form_k", clear_on_submit=False):
st.text_area("Enter your query", key='qt')
check = st.form_submit_button('Get response', on_click=reset_cb)
if check:
st.write('Ai Response:')
ai_response()
# Manage the feedback.
with st.container():
st.write('Your feedback:')
streamlit_feedback(
feedback_type="thumbs",
optional_text_label="[Optional] Please provide an explanation",
align="flex-start",
key=ss.fbk
)
from streamlit-feedback.
I am running into the same issue, and currently its only either or for me, so if anyone has a tip or so, would love to hear it.
from streamlit-feedback.
Related Issues (20)
- Changing BG Color of the Streamlit Feedback Component? HOT 1
- Permanent None feedback HOT 2
- How can I set a default value for the thumbs in streamlit-feedback? HOT 1
- component_value in __init__.py is always None HOT 1
- Why do i have to login on Trubrics? HOT 3
- Is there any way to modify the one-line textbox to a multi-line text area? HOT 2
- Streamlit doesn't persist the feedback submission as highlighted thumbs up/thumbs down
- submit feedback on "Enter"
- Streamlit feedback component is not visible on iOS devices. HOT 1
- Thumb buttons aren't visible with streamlit==1.32.2 HOT 1
- Saving user response and prompt into different tables based on the feedback HOT 3
- streamlit_feedback disappears within expander HOT 3
- On submit is not working (it is not calling handle_feedback method) HOT 2
- Who is maintaining version 0.1.3? HOT 2
- The feedback gives "Your app is having trouble loading the streamlit_feedback.streamlit_feedback component." HOT 1
- The feedback gives "Your app is having trouble loading the streamlit_feedback.streamlit_feedback component." inconsistancy HOT 3
- When using submit button ! Streamlit chat bot is not showing success message HOT 1
- file_uploader return 400 after user submit feedback
- 反馈按钮在多用户问答时,后问答无法显示反馈按钮并报错 Bad 'setIn' index
- Release package contains built JavaScript code from previous versions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from streamlit-feedback.