mirror of
https://github.com/langgenius/dify.git
synced 2026-09-08 02:43:49 +08:00
fix(web): auto select model in evaluation
This commit is contained in:
parent
06ea73a19b
commit
4041fd7e5c
@ -1,39 +1,21 @@
|
|||||||
'use client'
|
'use client'
|
||||||
|
|
||||||
import type { EvaluationResourceProps } from '../types'
|
import type { EvaluationResourceProps } from '../types'
|
||||||
import { useEffect } from 'react'
|
|
||||||
import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
|
import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
|
||||||
import { useModelList } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
import { useModelList } from '@/app/components/header/account-setting/model-provider-page/hooks'
|
||||||
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 { useEvaluationResource, useEvaluationStore } from '../store'
|
import { useEvaluationResource, useEvaluationStore } from '../store'
|
||||||
import { decodeModelSelection, encodeModelSelection } from '../utils'
|
import { decodeModelSelection, encodeModelSelection } from '../utils'
|
||||||
|
|
||||||
type JudgeModelSelectorProps = EvaluationResourceProps & {
|
|
||||||
autoSelectFirst?: boolean
|
|
||||||
}
|
|
||||||
|
|
||||||
const JudgeModelSelector = ({
|
const JudgeModelSelector = ({
|
||||||
resourceType,
|
resourceType,
|
||||||
resourceId,
|
resourceId,
|
||||||
autoSelectFirst = true,
|
}: EvaluationResourceProps) => {
|
||||||
}: JudgeModelSelectorProps) => {
|
|
||||||
const { data: modelList } = useModelList(ModelTypeEnum.textGeneration)
|
const { data: modelList } = useModelList(ModelTypeEnum.textGeneration)
|
||||||
const resource = useEvaluationResource(resourceType, resourceId)
|
const resource = useEvaluationResource(resourceType, resourceId)
|
||||||
const setJudgeModel = useEvaluationStore(state => state.setJudgeModel)
|
const setJudgeModel = useEvaluationStore(state => state.setJudgeModel)
|
||||||
const selectedModel = decodeModelSelection(resource.judgeModelId)
|
const selectedModel = decodeModelSelection(resource.judgeModelId)
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (!autoSelectFirst || resource.judgeModelId || !modelList.length)
|
|
||||||
return
|
|
||||||
|
|
||||||
const firstProvider = modelList[0]
|
|
||||||
const firstModel = firstProvider.models[0]
|
|
||||||
if (!firstProvider || !firstModel)
|
|
||||||
return
|
|
||||||
|
|
||||||
setJudgeModel(resourceType, resourceId, encodeModelSelection(firstProvider.provider, firstModel.model))
|
|
||||||
}, [autoSelectFirst, modelList, resource.judgeModelId, resourceId, resourceType, setJudgeModel])
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ModelSelector
|
<ModelSelector
|
||||||
defaultModel={selectedModel}
|
defaultModel={selectedModel}
|
||||||
|
|||||||
@ -58,7 +58,6 @@ const PipelineEvaluation = ({
|
|||||||
<JudgeModelSelector
|
<JudgeModelSelector
|
||||||
resourceType={resourceType}
|
resourceType={resourceType}
|
||||||
resourceId={resourceId}
|
resourceId={resourceId}
|
||||||
autoSelectFirst={false}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user