MujicaUI

Chat Input · #230

ModelSelector 浅色主题渲染快照
浅色 · 渲染快照
ModelSelector 深色主题渲染快照
深色 · 渲染快照

230 ModelSelector 模型选择器

用途

模型列表;能力标签与上下文长度;不可用项说明。

最小示例

model := "herald"
models := []chat.ModelOption{{ID: "herald", Name: "Herald 2", Capabilities: []string{"Vision"}, ContextTokens: 200000}}
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	if chat.ModelSelector(c, &model, models, chat.ModelSelectorOptions{}).Changed() {
		fmt.Println("model", model)
	}
}
ui.Render(view, 400, 300, 1)

参数

value 为模型 ID 指针;models 每项 ID、Name 必填,Capabilities 为能力标签,ContextTokens=0 隐藏容量;Unavailable 提供不可用原因。Label 默认“模型”,Disabled=false。

状态

默认、悬停、键盘焦点与祖先禁用;业务状态由调用方提供。

事件

ChoiceResult.Changed() 表示模型 ID 已改变。

键盘操作

Tab 到选择器;Up/Down、Home/End 选择,Enter/Space 确认,Escape 关闭。

限制

模型服务与可用性由调用方提供。