fix(web): auto select model in evaluation

This commit is contained in:
JzoNg 2026-04-29 20:10:37 +08:00
parent 06ea73a19b
commit 4041fd7e5c
2 changed files with 1 additions and 20 deletions

View File

@ -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}

View File

@ -58,7 +58,6 @@ const PipelineEvaluation = ({
<JudgeModelSelector <JudgeModelSelector
resourceType={resourceType} resourceType={resourceType}
resourceId={resourceId} resourceId={resourceId}
autoSelectFirst={false}
/> />
</div> </div>
</section> </section>