knowledge base node init

This commit is contained in:
zxhlyh 2025-05-27 15:28:06 +08:00
parent d6640f2adf
commit 4bc0a1bd37
2 changed files with 31 additions and 14 deletions

View File

@ -1,13 +1,12 @@
import {
memo,
useCallback,
useEffect,
useMemo,
} from 'react'
import { useTranslation } from 'react-i18next'
import { Field } from '@/app/components/workflow/nodes/_base/components/layout'
import ModelSelector from '@/app/components/header/account-setting/model-provider-page/model-selector'
import { useModelListAndDefaultModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
import { useModelList } from '@/app/components/header/account-setting/model-provider-page/hooks'
import type { DefaultModel } from '@/app/components/header/account-setting/model-provider-page/declarations'
import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
@ -28,9 +27,8 @@ const EmbeddingModel = ({
}: EmbeddingModelProps) => {
const { t } = useTranslation()
const {
defaultModel,
modelList: embeddingModelList,
} = useModelListAndDefaultModel(ModelTypeEnum.textEmbedding)
data: embeddingModelList,
} = useModelList(ModelTypeEnum.textEmbedding)
const embeddingModelConfig = useMemo(() => {
if (!embeddingModel || !embeddingModelProvider)
return undefined
@ -48,15 +46,6 @@ const EmbeddingModel = ({
})
}, [onEmbeddingModelChange])
useEffect(() => {
if (!embeddingModelConfig && defaultModel) {
handleEmbeddingModelChange({
provider: defaultModel.provider.provider,
model: defaultModel.model,
})
}
}, [embeddingModelConfig, defaultModel, handleEmbeddingModelChange])
return (
<Field
fieldTitleProps={{

View File

@ -1,10 +1,13 @@
import {
useCallback,
useEffect,
} from 'react'
import { produce } from 'immer'
import { useStoreApi } from 'reactflow'
import { useNodeDataUpdate } from '@/app/components/workflow/hooks'
import type { ValueSelector } from '@/app/components/workflow/types'
import { useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
import {
ChunkStructureEnum,
IndexMethodEnum,
@ -171,6 +174,31 @@ export const useConfig = (id: string) => {
})
}, [handleNodeDataUpdate])
const {
currentModel,
currentProvider,
} = useModelListAndDefaultModelAndCurrentProviderAndModel(ModelTypeEnum.textEmbedding)
const handleInitConfig = useCallback(() => {
const nodeData = getNodeData()
if (!nodeData?.data.embedding_model && !nodeData?.data.embedding_model_provider && currentModel && currentProvider) {
handleEmbeddingModelChange({
embeddingModel: currentModel.model,
embeddingModelProvider: currentProvider.provider,
})
}
}, [
getNodeData,
handleEmbeddingModelChange,
currentModel,
currentProvider,
])
useEffect(() => {
handleInitConfig()
}, [handleInitConfig])
return {
handleChunkStructureChange,
handleIndexMethodChange,