node.tsx 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. import type { FC } from 'react'
  2. import React from 'react'
  3. import type { ParameterExtractorNodeType } from './types'
  4. import {
  5. useTextGenerationCurrentProviderAndModelAndModelList,
  6. } from '@/app/components/header/account-setting/model-provider-page/hooks'
  7. import ModelSelector from '@/app/components/header/account-setting/model-provider-page/model-selector'
  8. import type { NodeProps } from '@/app/components/workflow/types'
  9. const Node: FC<NodeProps<ParameterExtractorNodeType>> = ({
  10. data,
  11. }) => {
  12. const { provider, name: modelId } = data.model || {}
  13. const {
  14. textGenerationModelList,
  15. } = useTextGenerationCurrentProviderAndModelAndModelList()
  16. const hasSetModel = provider && modelId
  17. return (
  18. <div className='mb-1 px-3 py-1'>
  19. {hasSetModel && (
  20. <ModelSelector
  21. defaultModel={{ provider, model: modelId }}
  22. modelList={textGenerationModelList}
  23. triggerClassName='!h-6 !rounded-md'
  24. readonly
  25. />
  26. )}
  27. </div>
  28. )
  29. }
  30. export default React.memo(Node)