Spaces:
Build error
Build error
'use client' | |
import type { FC } from 'react' | |
import React from 'react' | |
import { useTranslation } from 'react-i18next' | |
import type { RetrievalConfig } from '@/types/app' | |
import { RETRIEVE_METHOD } from '@/types/app' | |
import RadioCard from '@/app/components/base/radio-card' | |
import { HighPriority } from '@/app/components/base/icons/src/vender/solid/arrows' | |
import { PatternRecognition, Semantic } from '@/app/components/base/icons/src/vender/solid/development' | |
import { FileSearch02 } from '@/app/components/base/icons/src/vender/solid/files' | |
type Props = { | |
value: RetrievalConfig | |
} | |
export const getIcon = (type: RETRIEVE_METHOD) => { | |
return ({ | |
[RETRIEVE_METHOD.semantic]: Semantic, | |
[RETRIEVE_METHOD.fullText]: FileSearch02, | |
[RETRIEVE_METHOD.hybrid]: PatternRecognition, | |
[RETRIEVE_METHOD.invertedIndex]: HighPriority, | |
})[type] || FileSearch02 | |
} | |
const EconomicalRetrievalMethodConfig: FC<Props> = ({ | |
// type, | |
value, | |
}) => { | |
const { t } = useTranslation() | |
const type = value.search_method | |
const Icon = getIcon(type) | |
return ( | |
<div className='space-y-2'> | |
<RadioCard | |
icon={<Icon className='w-4 h-4 text-[#7839EE]' />} | |
title={t(`dataset.retrieval.${type}.title`)} | |
description={t(`dataset.retrieval.${type}.description`)} | |
noRadio | |
chosenConfigWrapClassName='!pb-3' | |
chosenConfig={ | |
<div className='flex flex-wrap leading-[18px] text-xs font-normal'> | |
{value.reranking_model.reranking_model_name && ( | |
<div className='mr-8 flex space-x-1'> | |
<div className='text-gray-500'>{t('common.modelProvider.rerankModel.key')}</div> | |
<div className='font-medium text-gray-800'>{value.reranking_model.reranking_model_name}</div> | |
</div> | |
)} | |
<div className='mr-8 flex space-x-1'> | |
<div className='text-gray-500'>{t('appDebug.datasetConfig.top_k')}</div> | |
<div className='font-medium text-gray-800'>{value.top_k}</div> | |
</div> | |
<div className='mr-8 flex space-x-1'> | |
<div className='text-gray-500'>{t('appDebug.datasetConfig.score_threshold')}</div> | |
<div className='font-medium text-gray-800'>{value.score_threshold}</div> | |
</div> | |
</div> | |
} | |
/> | |
</div> | |
) | |
} | |
export default React.memo(EconomicalRetrievalMethodConfig) | |