显示一个反馈小部件。

反馈小部件是一个基于图标的按钮组,有三种样式,如options中所述。它通常用于聊天和AI应用程序中,以允许用户对响应进行评分。

函数签名[source]

st.feedback(options="thumbs", *, key=None, disabled=False, on_change=None, args=None, kwargs=None)

参数

options ("thumbs", "faces", 或 "stars")

向用户显示的反馈选项。options 可以是以下之一:

  • "thumbs"(默认):Streamlit 显示一个包含点赞和点踩按钮的组。
  • "faces":Streamlit 显示一行五个按钮,从左到右依次表示满意度逐渐增加的面部表情。
  • "stars":Streamlit 显示一行星标图标,允许用户选择一到五星的评分。

key (str or int)

一个可选的字符串或整数,用作小部件的唯一键。 如果省略,将根据小部件的内容生成一个键。 任何两个小部件都不能有相同的键。

disabled (bool)

一个可选的布尔值,如果设置为True,则禁用反馈小部件。默认值为False

on_change (callable)

当此反馈小部件的值发生变化时调用的可选回调函数。

args (tuple)

传递给回调函数的可选参数元组。

kwargs (dict)

一个可选的kwargs字典,用于传递给回调函数。

返回

(int or None)

一个整数,表示用户的选择,其中0表示最低的反馈。较高的值表示更积极的反馈。如果未选择任何选项,小部件将返回None

  • 对于options="thumbs",返回值为0表示“不喜欢”,1表示“喜欢”。
  • 对于options="faces"options="stars",返回值范围从0(最不满意)到4(最满意)。

示例

显示一个带有星星的反馈小部件,并显示所选的情感:

import streamlit as st

sentiment_mapping = ["one", "two", "three", "four", "five"]
selected = st.feedback("stars")
if selected is not None:
    st.markdown(f"You selected {sentiment_mapping[selected]} star(s).")

显示一个带有拇指的反馈小部件,并显示所选的情感:

import streamlit as st

sentiment_mapping = [":material/thumb_down:", ":material/thumb_up:"]
selected = st.feedback("thumbs")
if selected is not None:
    st.markdown(f"You selected: {sentiment_mapping[selected]}")
forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。