Qwen3-Demo / ui_components /thinking_button.py
cherrytest
upload
00b9f0d
raw
history blame contribute delete
945 Bytes
import modelscope_studio.components.antd as antd
import modelscope_studio.components.base as ms
import gradio as gr
from config import get_text
def ThinkingButton():
state = gr.State({"enable_thinking": True})
with antd.Button(get_text("Thinking", "深度思考"),
shape="round",
color="primary",
variant="solid") as thinking_btn:
with ms.Slot("icon"):
antd.Icon("SunOutlined")
def toggle_thinking(state_value):
state_value["enable_thinking"] = not state_value["enable_thinking"]
return gr.update(value=state_value)
def apply_state_change(state_value):
return gr.update(
variant="solid" if state_value["enable_thinking"] else "")
state.change(fn=apply_state_change, inputs=[state], outputs=[thinking_btn])
thinking_btn.click(fn=toggle_thinking, inputs=[state], outputs=[state])
return state