| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | 
							- '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)
 
 
  |