| import type { FC } from 'react' | |
| import React from 'react' | |
| import type { LLMNodeType } from './types' | |
| import { | |
| useTextGenerationCurrentProviderAndModelAndModelList, | |
| } from '@/app/components/header/account-setting/model-provider-page/hooks' | |
| import ModelSelector from '@/app/components/header/account-setting/model-provider-page/model-selector' | |
| import type { NodeProps } from '@/app/components/workflow/types' | |
| const Node: FC<NodeProps<LLMNodeType>> = ({ | |
| data, | |
| }) => { | |
| const { provider, name: modelId } = data.model || {} | |
| const { | |
| textGenerationModelList, | |
| } = useTextGenerationCurrentProviderAndModelAndModelList() | |
| const hasSetModel = provider && modelId | |
| if (!hasSetModel) | |
| return null | |
| return ( | |
| <div className='mb-1 px-3 py-1'> | |
| {hasSetModel && ( | |
| <ModelSelector | |
| defaultModel={{ provider, model: modelId }} | |
| modelList={textGenerationModelList} | |
| readonly | |
| /> | |
| )} | |
| </div> | |
| ) | |
| } | |
| export default React.memo(Node) | |