Spaces:
Running
Running
File size: 2,649 Bytes
00b9f0d 59f434a 00b9f0d 59f434a 00b9f0d 59f434a 00b9f0d 59f434a 00b9f0d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
import gradio as gr
import modelscope_studio.components.antd as antd
import modelscope_studio.components.antdx as antdx
import modelscope_studio.components.base as ms
from config import DEFAULT_SETTINGS, MODEL_OPTIONS, MAX_THINKING_BUDGET, MIN_THINKING_BUDGET, get_text
def SettingsHeader():
state = gr.State({"open": True})
with antdx.Sender.Header(title=get_text("Settings", "设置"),
open=True) as settings_header:
with antd.Form(value=DEFAULT_SETTINGS) as settings_form:
with antd.Form.Item(form_name="model",
label=get_text("Chat Model", "对话模型")):
with antd.Select(options=MODEL_OPTIONS):
with ms.Slot("labelRender",
params_mapping="""(option) => ({
label: option.label,
link: { href: window.MODEL_OPTIONS_MAP[option.value].link },
})"""):
antd.Typography.Text(as_item="label")
antd.Typography.Link(get_text("Model Link", "模型链接"),
href_target="_blank",
as_item="link")
with antd.Form.Item(form_name="thinking_budget",
label=get_text("Thinking Budget", "思考预算"),
elem_classes="setting-form-thinking-budget"):
antd.Slider(elem_style=dict(flex=1, marginRight=14),
min=MIN_THINKING_BUDGET,
max=MAX_THINKING_BUDGET,
tooltip=dict(formatter="(v) => `${v}k`"))
antd.InputNumber(max=MAX_THINKING_BUDGET,
min=MIN_THINKING_BUDGET,
elem_style=dict(width=100),
addon_after="k")
# with antd.Form.Item(form_name="sys_prompt",
# label=get_text("System Prompt", "系统提示")):
# antd.Input.Textarea(auto_size=dict(minRows=3, maxRows=6))
def close_header(state_value):
state_value["open"] = False
return gr.update(value=state_value)
state.change(fn=lambda state_value: gr.update(open=state_value["open"]),
inputs=[state],
outputs=[settings_header])
settings_header.open_change(fn=close_header,
inputs=[state],
outputs=[state])
return state, settings_form
|