feat: model list on agent node

pull/12372/head
AkaraChen 1 year ago
parent 0108b28305
commit da2982ba98

@ -18,26 +18,24 @@ const AgentNode: FC<NodeProps<AgentNodeType>> = (props) => {
// TODO: Implement models // TODO: Implement models
const models = useMemo(() => { const models = useMemo(() => {
if (!inputs) return [] if (!inputs) return []
// if selected, show in node
// if required and not selected, show empty selector
// if not required and not selected, show nothing
const models = currentStrategy?.parameters const models = currentStrategy?.parameters
.filter(param => param.type === FormTypeEnum.modelSelector) .filter(param => param.type === FormTypeEnum.modelSelector)
.flatMap((param) => { .reduce((acc, param) => {
const item = inputs.agent_parameters?.[param.name] const item = inputs.agent_parameters?.[param.name]
if (!item) { if (!item) {
if (param.required) if (param.required) {
return null acc.push({ param: param.name })
else return acc
return []
} }
return { else { return acc }
provider: item.provider,
model: item.model,
param: param.name,
} }
}) || [] acc.push({ provider: item.provider, model: item.model, param: param.name })
return acc
}, [] as Array<{ param: string } | { provider: string, model: string, param: string }>) || []
return models return models
// if selected, show in node
// if required and not selected, show empty selector
// if not required and not selected, show nothing
}, [currentStrategy, inputs]) }, [currentStrategy, inputs])
const tools = useMemo(() => { const tools = useMemo(() => {
@ -78,6 +76,7 @@ const AgentNode: FC<NodeProps<AgentNodeType>> = (props) => {
key={model?.param || Math.random()} key={model?.param || Math.random()}
modelList={[]} modelList={[]}
defaultModel={model || undefined} defaultModel={model || undefined}
readonly
/> />
})} })}
</Group>} </Group>}

Loading…
Cancel
Save