| 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 |
|
|