mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-16 19:16:03 +08:00
Improve ModelTypeEnum type (#3051)
This commit is contained in:
parent
e4f686deb7
commit
718ac3f83b
@ -26,6 +26,7 @@ import { useModalContext } from '@/context/modal-context'
|
|||||||
import ConfigParamModal from '@/app/components/app/configuration/toolbox/annotation/config-param-modal'
|
import ConfigParamModal from '@/app/components/app/configuration/toolbox/annotation/config-param-modal'
|
||||||
import AnnotationFullModal from '@/app/components/billing/annotation-full/modal'
|
import AnnotationFullModal from '@/app/components/billing/annotation-full/modal'
|
||||||
import { useDefaultModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
import { useDefaultModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
||||||
|
import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
|
||||||
|
|
||||||
const Config: FC = () => {
|
const Config: FC = () => {
|
||||||
const {
|
const {
|
||||||
@ -61,8 +62,8 @@ const Config: FC = () => {
|
|||||||
setModerationConfig,
|
setModerationConfig,
|
||||||
} = useContext(ConfigContext)
|
} = useContext(ConfigContext)
|
||||||
const isChatApp = mode === AppType.chat
|
const isChatApp = mode === AppType.chat
|
||||||
const { data: speech2textDefaultModel } = useDefaultModel(4)
|
const { data: speech2textDefaultModel } = useDefaultModel(ModelTypeEnum.speech2text)
|
||||||
const { data: text2speechDefaultModel } = useDefaultModel(5)
|
const { data: text2speechDefaultModel } = useDefaultModel(ModelTypeEnum.tts)
|
||||||
const { setShowModerationSettingModal } = useModalContext()
|
const { setShowModerationSettingModal } = useModalContext()
|
||||||
const formattingChangedDispatcher = useFormattingChangedDispatcher()
|
const formattingChangedDispatcher = useFormattingChangedDispatcher()
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ import {
|
|||||||
} from '@/app/components/base/icons/src/public/common'
|
} from '@/app/components/base/icons/src/public/common'
|
||||||
import ModelSelector from '@/app/components/header/account-setting/model-provider-page/model-selector'
|
import ModelSelector from '@/app/components/header/account-setting/model-provider-page/model-selector'
|
||||||
import { useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
import { useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
||||||
|
import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
|
||||||
|
|
||||||
const ParamsConfig: FC = () => {
|
const ParamsConfig: FC = () => {
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
@ -41,7 +42,7 @@ const ParamsConfig: FC = () => {
|
|||||||
modelList: rerankModelList,
|
modelList: rerankModelList,
|
||||||
defaultModel: rerankDefaultModel,
|
defaultModel: rerankDefaultModel,
|
||||||
currentModel: isRerankDefaultModelVaild,
|
currentModel: isRerankDefaultModelVaild,
|
||||||
} = useModelListAndDefaultModelAndCurrentProviderAndModel(3)
|
} = useModelListAndDefaultModelAndCurrentProviderAndModel(ModelTypeEnum.rerank)
|
||||||
|
|
||||||
const rerankModel = (() => {
|
const rerankModel = (() => {
|
||||||
if (tempDataSetConfigs.reranking_model) {
|
if (tempDataSetConfigs.reranking_model) {
|
||||||
|
@ -22,6 +22,7 @@ import {
|
|||||||
useModelList,
|
useModelList,
|
||||||
useModelListAndDefaultModelAndCurrentProviderAndModel,
|
useModelListAndDefaultModelAndCurrentProviderAndModel,
|
||||||
} from '@/app/components/header/account-setting/model-provider-page/hooks'
|
} from '@/app/components/header/account-setting/model-provider-page/hooks'
|
||||||
|
import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
|
||||||
|
|
||||||
type SettingsModalProps = {
|
type SettingsModalProps = {
|
||||||
currentDataset: DataSet
|
currentDataset: DataSet
|
||||||
@ -42,12 +43,12 @@ const SettingsModal: FC<SettingsModalProps> = ({
|
|||||||
onCancel,
|
onCancel,
|
||||||
onSave,
|
onSave,
|
||||||
}) => {
|
}) => {
|
||||||
const { data: embeddingsModelList } = useModelList(2)
|
const { data: embeddingsModelList } = useModelList(ModelTypeEnum.textEmbedding)
|
||||||
const {
|
const {
|
||||||
modelList: rerankModelList,
|
modelList: rerankModelList,
|
||||||
defaultModel: rerankDefaultModel,
|
defaultModel: rerankDefaultModel,
|
||||||
currentModel: isRerankDefaultModelVaild,
|
currentModel: isRerankDefaultModelVaild,
|
||||||
} = useModelListAndDefaultModelAndCurrentProviderAndModel(3)
|
} = useModelListAndDefaultModelAndCurrentProviderAndModel(ModelTypeEnum.rerank)
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const { notify } = useToastContext()
|
const { notify } = useToastContext()
|
||||||
const ref = useRef(null)
|
const ref = useRef(null)
|
||||||
|
@ -31,7 +31,7 @@ import { IS_CE_EDITION } from '@/config'
|
|||||||
import type { Inputs } from '@/models/debug'
|
import type { Inputs } from '@/models/debug'
|
||||||
import { fetchFileUploadConfig } from '@/service/common'
|
import { fetchFileUploadConfig } from '@/service/common'
|
||||||
import { useDefaultModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
import { useDefaultModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
||||||
import { ModelFeatureEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
|
import { ModelFeatureEnum, ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
|
||||||
import type { ModelParameterModalProps } from '@/app/components/header/account-setting/model-provider-page/model-parameter-modal'
|
import type { ModelParameterModalProps } from '@/app/components/header/account-setting/model-provider-page/model-parameter-modal'
|
||||||
import { Plus } from '@/app/components/base/icons/src/vender/line/general'
|
import { Plus } from '@/app/components/base/icons/src/vender/line/general'
|
||||||
import { useEventEmitterContextContext } from '@/context/event-emitter'
|
import { useEventEmitterContextContext } from '@/context/event-emitter'
|
||||||
@ -84,7 +84,7 @@ const Debug: FC<IDebug> = ({
|
|||||||
setVisionConfig,
|
setVisionConfig,
|
||||||
} = useContext(ConfigContext)
|
} = useContext(ConfigContext)
|
||||||
const { eventEmitter } = useEventEmitterContextContext()
|
const { eventEmitter } = useEventEmitterContextContext()
|
||||||
const { data: text2speechDefaultModel } = useDefaultModel(5)
|
const { data: text2speechDefaultModel } = useDefaultModel(ModelTypeEnum.textEmbedding)
|
||||||
const { data: fileUploadConfigResponse } = useSWR({ url: '/files/upload' }, fetchFileUploadConfig)
|
const { data: fileUploadConfigResponse } = useSWR({ url: '/files/upload' }, fetchFileUploadConfig)
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setAutoFreeze(false)
|
setAutoFreeze(false)
|
||||||
|
@ -11,6 +11,7 @@ import type { AnnotationReplyConfig } from '@/models/debug'
|
|||||||
import { ANNOTATION_DEFAULT } from '@/config'
|
import { ANNOTATION_DEFAULT } from '@/config'
|
||||||
import ModelSelector from '@/app/components/header/account-setting/model-provider-page/model-selector'
|
import ModelSelector from '@/app/components/header/account-setting/model-provider-page/model-selector'
|
||||||
import { useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
import { useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
||||||
|
import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
appId: string
|
appId: string
|
||||||
@ -36,7 +37,7 @@ const ConfigParamModal: FC<Props> = ({
|
|||||||
modelList: embeddingsModelList,
|
modelList: embeddingsModelList,
|
||||||
defaultModel: embeddingsDefaultModel,
|
defaultModel: embeddingsDefaultModel,
|
||||||
currentModel: isEmbeddingsDefaultModelValid,
|
currentModel: isEmbeddingsDefaultModelValid,
|
||||||
} = useModelListAndDefaultModelAndCurrentProviderAndModel(2)
|
} = useModelListAndDefaultModelAndCurrentProviderAndModel(ModelTypeEnum.textEmbedding)
|
||||||
const [annotationConfig, setAnnotationConfig] = useState(oldAnnotationConfig)
|
const [annotationConfig, setAnnotationConfig] = useState(oldAnnotationConfig)
|
||||||
|
|
||||||
const [isLoading, setLoading] = useState(false)
|
const [isLoading, setLoading] = useState(false)
|
||||||
|
@ -10,6 +10,7 @@ import { PatternRecognition, Semantic } from '@/app/components/base/icons/src/ve
|
|||||||
import { FileSearch02 } from '@/app/components/base/icons/src/vender/solid/files'
|
import { FileSearch02 } from '@/app/components/base/icons/src/vender/solid/files'
|
||||||
import { useProviderContext } from '@/context/provider-context'
|
import { useProviderContext } from '@/context/provider-context'
|
||||||
import { useDefaultModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
import { useDefaultModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
||||||
|
import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
value: RetrievalConfig
|
value: RetrievalConfig
|
||||||
@ -22,7 +23,7 @@ const RetrievalMethodConfig: FC<Props> = ({
|
|||||||
}) => {
|
}) => {
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const { supportRetrievalMethods } = useProviderContext()
|
const { supportRetrievalMethods } = useProviderContext()
|
||||||
const { data: rerankDefaultModel } = useDefaultModel(3)
|
const { data: rerankDefaultModel } = useDefaultModel(ModelTypeEnum.rerank)
|
||||||
const value = (() => {
|
const value = (() => {
|
||||||
if (!passValue.reranking_model.reranking_model_name) {
|
if (!passValue.reranking_model.reranking_model_name) {
|
||||||
return {
|
return {
|
||||||
|
@ -12,6 +12,7 @@ import { HelpCircle } from '@/app/components/base/icons/src/vender/line/general'
|
|||||||
import type { RetrievalConfig } from '@/types/app'
|
import type { RetrievalConfig } from '@/types/app'
|
||||||
import ModelSelector from '@/app/components/header/account-setting/model-provider-page/model-selector'
|
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 { useModelListAndDefaultModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
||||||
|
import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
type: RETRIEVE_METHOD
|
type: RETRIEVE_METHOD
|
||||||
@ -30,7 +31,7 @@ const RetrievalParamConfig: FC<Props> = ({
|
|||||||
const {
|
const {
|
||||||
defaultModel: rerankDefaultModel,
|
defaultModel: rerankDefaultModel,
|
||||||
modelList: rerankModelList,
|
modelList: rerankModelList,
|
||||||
} = useModelListAndDefaultModel(3)
|
} = useModelListAndDefaultModel(ModelTypeEnum.rerank)
|
||||||
|
|
||||||
const rerankModel = (() => {
|
const rerankModel = (() => {
|
||||||
if (value.reranking_model) {
|
if (value.reranking_model) {
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
import React, { useCallback, useEffect, useState } from 'react'
|
import React, { useCallback, useEffect, useState } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import AppUnavailable from '../../base/app-unavailable'
|
import AppUnavailable from '../../base/app-unavailable'
|
||||||
|
import { ModelTypeEnum } from '../../header/account-setting/model-provider-page/declarations'
|
||||||
import StepsNavBar from './steps-nav-bar'
|
import StepsNavBar from './steps-nav-bar'
|
||||||
import StepOne from './step-one'
|
import StepOne from './step-one'
|
||||||
import StepTwo from './step-two'
|
import StepTwo from './step-two'
|
||||||
@ -28,7 +29,7 @@ const DatasetUpdateForm = ({ datasetId }: DatasetUpdateFormProps) => {
|
|||||||
const [fileList, setFiles] = useState<FileItem[]>([])
|
const [fileList, setFiles] = useState<FileItem[]>([])
|
||||||
const [result, setResult] = useState<createDocumentResponse | undefined>()
|
const [result, setResult] = useState<createDocumentResponse | undefined>()
|
||||||
const [hasError, setHasError] = useState(false)
|
const [hasError, setHasError] = useState(false)
|
||||||
const { data: embeddingsDefaultModel } = useDefaultModel(2)
|
const { data: embeddingsDefaultModel } = useDefaultModel(ModelTypeEnum.textEmbedding)
|
||||||
|
|
||||||
const [notionPages, setNotionPages] = useState<NotionPage[]>([])
|
const [notionPages, setNotionPages] = useState<NotionPage[]>([])
|
||||||
const updateNotionPages = (value: NotionPage[]) => {
|
const updateNotionPages = (value: NotionPage[]) => {
|
||||||
|
@ -43,6 +43,7 @@ import Tooltip from '@/app/components/base/tooltip'
|
|||||||
import TooltipPlus from '@/app/components/base/tooltip-plus'
|
import TooltipPlus from '@/app/components/base/tooltip-plus'
|
||||||
import { useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
import { useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
||||||
import { LanguagesSupported } from '@/i18n/language'
|
import { LanguagesSupported } from '@/i18n/language'
|
||||||
|
import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
|
||||||
|
|
||||||
type ValueOf<T> = T[keyof T]
|
type ValueOf<T> = T[keyof T]
|
||||||
type StepTwoProps = {
|
type StepTwoProps = {
|
||||||
@ -275,7 +276,7 @@ const StepTwo = ({
|
|||||||
modelList: rerankModelList,
|
modelList: rerankModelList,
|
||||||
defaultModel: rerankDefaultModel,
|
defaultModel: rerankDefaultModel,
|
||||||
currentModel: isRerankDefaultModelVaild,
|
currentModel: isRerankDefaultModelVaild,
|
||||||
} = useModelListAndDefaultModelAndCurrentProviderAndModel(3)
|
} = useModelListAndDefaultModelAndCurrentProviderAndModel(ModelTypeEnum.rerank)
|
||||||
const getCreationParams = () => {
|
const getCreationParams = () => {
|
||||||
let params
|
let params
|
||||||
if (segmentationType === SegmentType.CUSTOM && overlap > max) {
|
if (segmentationType === SegmentType.CUSTOM && overlap > max) {
|
||||||
|
@ -14,6 +14,7 @@ import StepTwo from '@/app/components/datasets/create/step-two'
|
|||||||
import AccountSetting from '@/app/components/header/account-setting'
|
import AccountSetting from '@/app/components/header/account-setting'
|
||||||
import AppUnavailable from '@/app/components/base/app-unavailable'
|
import AppUnavailable from '@/app/components/base/app-unavailable'
|
||||||
import { useDefaultModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
import { useDefaultModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
||||||
|
import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
|
||||||
|
|
||||||
type DocumentSettingsProps = {
|
type DocumentSettingsProps = {
|
||||||
datasetId: string
|
datasetId: string
|
||||||
@ -26,7 +27,7 @@ const DocumentSettings = ({ datasetId, documentId }: DocumentSettingsProps) => {
|
|||||||
const [isShowSetAPIKey, { setTrue: showSetAPIKey, setFalse: hideSetAPIkey }] = useBoolean()
|
const [isShowSetAPIKey, { setTrue: showSetAPIKey, setFalse: hideSetAPIkey }] = useBoolean()
|
||||||
const [hasError, setHasError] = useState(false)
|
const [hasError, setHasError] = useState(false)
|
||||||
const { indexingTechnique, dataset } = useContext(DatasetDetailContext)
|
const { indexingTechnique, dataset } = useContext(DatasetDetailContext)
|
||||||
const { data: embeddingsDefaultModel } = useDefaultModel(2)
|
const { data: embeddingsDefaultModel } = useDefaultModel(ModelTypeEnum.textEmbedding)
|
||||||
|
|
||||||
const saveHandler = () => router.push(`/datasets/${datasetId}/documents/${documentId}`)
|
const saveHandler = () => router.push(`/datasets/${datasetId}/documents/${documentId}`)
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ import type { FC } from 'react'
|
|||||||
import React, { useRef, useState } from 'react'
|
import React, { useRef, useState } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import Toast from '../../base/toast'
|
import Toast from '../../base/toast'
|
||||||
|
import { ModelTypeEnum } from '../../header/account-setting/model-provider-page/declarations'
|
||||||
import { XClose } from '@/app/components/base/icons/src/vender/line/general'
|
import { XClose } from '@/app/components/base/icons/src/vender/line/general'
|
||||||
import type { RetrievalConfig } from '@/types/app'
|
import type { RetrievalConfig } from '@/types/app'
|
||||||
import RetrievalMethodConfig from '@/app/components/datasets/common/retrieval-method-config'
|
import RetrievalMethodConfig from '@/app/components/datasets/common/retrieval-method-config'
|
||||||
@ -39,7 +40,7 @@ const ModifyRetrievalModal: FC<Props> = ({
|
|||||||
modelList: rerankModelList,
|
modelList: rerankModelList,
|
||||||
defaultModel: rerankDefaultModel,
|
defaultModel: rerankDefaultModel,
|
||||||
currentModel: isRerankDefaultModelVaild,
|
currentModel: isRerankDefaultModelVaild,
|
||||||
} = useModelListAndDefaultModelAndCurrentProviderAndModel(3)
|
} = useModelListAndDefaultModelAndCurrentProviderAndModel(ModelTypeEnum.rerank)
|
||||||
|
|
||||||
const handleSave = () => {
|
const handleSave = () => {
|
||||||
if (
|
if (
|
||||||
|
@ -24,6 +24,7 @@ import {
|
|||||||
useModelList,
|
useModelList,
|
||||||
useModelListAndDefaultModelAndCurrentProviderAndModel,
|
useModelListAndDefaultModelAndCurrentProviderAndModel,
|
||||||
} from '@/app/components/header/account-setting/model-provider-page/hooks'
|
} from '@/app/components/header/account-setting/model-provider-page/hooks'
|
||||||
|
import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
|
||||||
|
|
||||||
const rowClass = `
|
const rowClass = `
|
||||||
flex justify-between py-4 flex-wrap gap-y-2
|
flex justify-between py-4 flex-wrap gap-y-2
|
||||||
@ -63,8 +64,8 @@ const Form = () => {
|
|||||||
modelList: rerankModelList,
|
modelList: rerankModelList,
|
||||||
defaultModel: rerankDefaultModel,
|
defaultModel: rerankDefaultModel,
|
||||||
currentModel: isRerankDefaultModelVaild,
|
currentModel: isRerankDefaultModelVaild,
|
||||||
} = useModelListAndDefaultModelAndCurrentProviderAndModel(3)
|
} = useModelListAndDefaultModelAndCurrentProviderAndModel(ModelTypeEnum.rerank)
|
||||||
const { data: embeddingModelList } = useModelList(2)
|
const { data: embeddingModelList } = useModelList(ModelTypeEnum.textEmbedding)
|
||||||
|
|
||||||
const handleSave = async () => {
|
const handleSave = async () => {
|
||||||
if (loading)
|
if (loading)
|
||||||
|
@ -11,10 +11,11 @@ import type {
|
|||||||
DefaultModel,
|
DefaultModel,
|
||||||
DefaultModelResponse,
|
DefaultModelResponse,
|
||||||
Model,
|
Model,
|
||||||
|
|
||||||
|
ModelTypeEnum,
|
||||||
} from './declarations'
|
} from './declarations'
|
||||||
import {
|
import {
|
||||||
ConfigurateMethodEnum,
|
ConfigurateMethodEnum,
|
||||||
ModelTypeEnum,
|
|
||||||
} from './declarations'
|
} from './declarations'
|
||||||
import I18n from '@/context/i18n'
|
import I18n from '@/context/i18n'
|
||||||
import {
|
import {
|
||||||
@ -99,17 +100,8 @@ export const useProviderCrenditialsFormSchemasValue = (
|
|||||||
return value
|
return value
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ModelTypeIndex = 1 | 2 | 3 | 4 | 5
|
export const useModelList = (type: ModelTypeEnum) => {
|
||||||
export const MODEL_TYPE_MAPS = {
|
const { data, mutate, isLoading } = useSWR(`/workspaces/current/models/model-types/${type}`, fetchModelList)
|
||||||
1: ModelTypeEnum.textGeneration,
|
|
||||||
2: ModelTypeEnum.textEmbedding,
|
|
||||||
3: ModelTypeEnum.rerank,
|
|
||||||
4: ModelTypeEnum.speech2text,
|
|
||||||
5: ModelTypeEnum.tts,
|
|
||||||
}
|
|
||||||
|
|
||||||
export const useModelList = (type: ModelTypeIndex) => {
|
|
||||||
const { data, mutate, isLoading } = useSWR(`/workspaces/current/models/model-types/${MODEL_TYPE_MAPS[type]}`, fetchModelList)
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
data: data?.data || [],
|
data: data?.data || [],
|
||||||
@ -118,8 +110,8 @@ export const useModelList = (type: ModelTypeIndex) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const useDefaultModel = (type: ModelTypeIndex) => {
|
export const useDefaultModel = (type: ModelTypeEnum) => {
|
||||||
const { data, mutate, isLoading } = useSWR(`/workspaces/current/default-model?model_type=${MODEL_TYPE_MAPS[type]}`, fetchDefaultModal)
|
const { data, mutate, isLoading } = useSWR(`/workspaces/current/default-model?model_type=${type}`, fetchDefaultModal)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
data: data?.data,
|
data: data?.data,
|
||||||
@ -152,7 +144,7 @@ export const useTextGenerationCurrentProviderAndModelAndModelList = (defaultMode
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const useModelListAndDefaultModel = (type: ModelTypeIndex) => {
|
export const useModelListAndDefaultModel = (type: ModelTypeEnum) => {
|
||||||
const { data: modelList } = useModelList(type)
|
const { data: modelList } = useModelList(type)
|
||||||
const { data: defaultModel } = useDefaultModel(type)
|
const { data: defaultModel } = useDefaultModel(type)
|
||||||
|
|
||||||
@ -162,7 +154,7 @@ export const useModelListAndDefaultModel = (type: ModelTypeIndex) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const useModelListAndDefaultModelAndCurrentProviderAndModel = (type: ModelTypeIndex) => {
|
export const useModelListAndDefaultModelAndCurrentProviderAndModel = (type: ModelTypeEnum) => {
|
||||||
const { modelList, defaultModel } = useModelListAndDefaultModel(type)
|
const { modelList, defaultModel } = useModelListAndDefaultModel(type)
|
||||||
const { currentProvider, currentModel } = useCurrentProviderAndModel(
|
const { currentProvider, currentModel } = useCurrentProviderAndModel(
|
||||||
modelList,
|
modelList,
|
||||||
@ -180,9 +172,8 @@ export const useModelListAndDefaultModelAndCurrentProviderAndModel = (type: Mode
|
|||||||
export const useUpdateModelList = () => {
|
export const useUpdateModelList = () => {
|
||||||
const { mutate } = useSWRConfig()
|
const { mutate } = useSWRConfig()
|
||||||
|
|
||||||
const updateModelList = useCallback((type: ModelTypeIndex | ModelTypeEnum) => {
|
const updateModelList = useCallback((type: ModelTypeEnum) => {
|
||||||
const modelType = typeof type === 'number' ? MODEL_TYPE_MAPS[type] : type
|
mutate(`/workspaces/current/models/model-types/${type}`)
|
||||||
mutate(`/workspaces/current/models/model-types/${modelType}`)
|
|
||||||
}, [mutate])
|
}, [mutate])
|
||||||
|
|
||||||
return updateModelList
|
return updateModelList
|
||||||
|
@ -10,6 +10,7 @@ import type {
|
|||||||
import {
|
import {
|
||||||
ConfigurateMethodEnum,
|
ConfigurateMethodEnum,
|
||||||
CustomConfigurationStatusEnum,
|
CustomConfigurationStatusEnum,
|
||||||
|
ModelTypeEnum,
|
||||||
} from './declarations'
|
} from './declarations'
|
||||||
import {
|
import {
|
||||||
useDefaultModel,
|
useDefaultModel,
|
||||||
@ -26,11 +27,11 @@ const ModelProviderPage = () => {
|
|||||||
const { eventEmitter } = useEventEmitterContextContext()
|
const { eventEmitter } = useEventEmitterContextContext()
|
||||||
const updateModelProviders = useUpdateModelProviders()
|
const updateModelProviders = useUpdateModelProviders()
|
||||||
const updateModelList = useUpdateModelList()
|
const updateModelList = useUpdateModelList()
|
||||||
const { data: textGenerationDefaultModel } = useDefaultModel(1)
|
const { data: textGenerationDefaultModel } = useDefaultModel(ModelTypeEnum.textGeneration)
|
||||||
const { data: embeddingsDefaultModel } = useDefaultModel(2)
|
const { data: embeddingsDefaultModel } = useDefaultModel(ModelTypeEnum.textEmbedding)
|
||||||
const { data: rerankDefaultModel } = useDefaultModel(3)
|
const { data: rerankDefaultModel } = useDefaultModel(ModelTypeEnum.rerank)
|
||||||
const { data: speech2textDefaultModel } = useDefaultModel(4)
|
const { data: speech2textDefaultModel } = useDefaultModel(ModelTypeEnum.speech2text)
|
||||||
const { data: ttsDefaultModel } = useDefaultModel(5)
|
const { data: ttsDefaultModel } = useDefaultModel(ModelTypeEnum.tts)
|
||||||
const { modelProviders: providers } = useProviderContext()
|
const { modelProviders: providers } = useProviderContext()
|
||||||
const { setShowModelModal } = useModalContext()
|
const { setShowModelModal } = useModalContext()
|
||||||
const defaultModelNotConfigured = !textGenerationDefaultModel && !embeddingsDefaultModel && !speech2textDefaultModel && !rerankDefaultModel && !ttsDefaultModel
|
const defaultModelNotConfigured = !textGenerationDefaultModel && !embeddingsDefaultModel && !speech2textDefaultModel && !rerankDefaultModel && !ttsDefaultModel
|
||||||
|
@ -42,10 +42,10 @@ const SystemModel: FC<SystemModelSelectorProps> = ({
|
|||||||
const { notify } = useToastContext()
|
const { notify } = useToastContext()
|
||||||
const { textGenerationModelList } = useProviderContext()
|
const { textGenerationModelList } = useProviderContext()
|
||||||
const updateModelList = useUpdateModelList()
|
const updateModelList = useUpdateModelList()
|
||||||
const { data: embeddingModelList } = useModelList(2)
|
const { data: embeddingModelList } = useModelList(ModelTypeEnum.textEmbedding)
|
||||||
const { data: rerankModelList } = useModelList(3)
|
const { data: rerankModelList } = useModelList(ModelTypeEnum.rerank)
|
||||||
const { data: speech2textModelList } = useModelList(4)
|
const { data: speech2textModelList } = useModelList(ModelTypeEnum.speech2text)
|
||||||
const { data: ttsModelList } = useModelList(5)
|
const { data: ttsModelList } = useModelList(ModelTypeEnum.tts)
|
||||||
const [changedModelTypes, setChangedModelTypes] = useState<ModelTypeEnum[]>([])
|
const [changedModelTypes, setChangedModelTypes] = useState<ModelTypeEnum[]>([])
|
||||||
const [currentTextGenerationDefaultModel, changeCurrentTextGenerationDefaultModel] = useSystemDefaultModelAndModelList(textGenerationDefaultModel, textGenerationModelList)
|
const [currentTextGenerationDefaultModel, changeCurrentTextGenerationDefaultModel] = useSystemDefaultModelAndModelList(textGenerationDefaultModel, textGenerationModelList)
|
||||||
const [currentEmbeddingsDefaultModel, changeCurrentEmbeddingsDefaultModel] = useSystemDefaultModelAndModelList(embeddingsDefaultModel, embeddingModelList)
|
const [currentEmbeddingsDefaultModel, changeCurrentEmbeddingsDefaultModel] = useSystemDefaultModelAndModelList(embeddingsDefaultModel, embeddingModelList)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user