fix: retrieval config for rerank cases

This commit is contained in:
Yi 2024-09-29 14:52:47 +08:00
parent 1955de2463
commit 6508e7e1e4
8 changed files with 17 additions and 8 deletions

View File

@ -14,7 +14,7 @@ const CreateAppCard = forwardRef<HTMLAnchorElement>((_, ref) => {
<div className='flex flex-col bg-background-default-dimm border-[0.5px] border-components-panel-border rounded-xl
min-h-[160px] transition-all duration-200 ease-in-out'
>
<a ref={ref} className='group flex flex-grow items-start p-4 pb-1 cursor-pointer' href='/datasets/create'>
<a ref={ref} className='group flex flex-grow items-start p-4 cursor-pointer' href='/datasets/create'>
<div className='flex items-center gap-3'>
<div className='w-10 h-10 p-2 flex items-center justify-center border border-dashed border-divider-regular rounded-lg
bg-background-default-lighter group-hover:border-solid group-hover:border-effects-highlight group-hover:bg-background-default-dodge'
@ -24,7 +24,7 @@ const CreateAppCard = forwardRef<HTMLAnchorElement>((_, ref) => {
<div className='system-md-semibold text-text-secondary group-hover:text-text-accent'>{t('dataset.createDataset')}</div>
</div>
</a>
<div className='px-4 pb-2 text-text-tertiary system-xs-medium'>{t('dataset.createDatasetIntro')}</div>
<div className='p-4 pt-0 text-text-tertiary system-xs-regular'>{t('dataset.createDatasetIntro')}</div>
<a className='group flex p-4 items-center gap-1 border-t-[0.5px] border-divider-subtle rounded-b-xl cursor-pointer' href='/datasets/connect'>
<div className='system-xs-medium text-text-tertiary group-hover:text-text-accent'>{t('dataset.connectDataset')}</div>
<RiArrowRightLine className='w-3.5 h-3.5 text-text-tertiary group-hover:text-text-accent' />

View File

@ -55,6 +55,7 @@ type ISegmentCardProps = {
const SegmentCard: FC<ISegmentCardProps> = ({
detail = {},
contentExternal,
isExternal,
refSource,
score,
onClick,
@ -219,7 +220,7 @@ const SegmentCard: FC<ISegmentCardProps> = ({
textCls="text-xs text-gray-700 !font-normal overflow-hidden whitespace-nowrap text-ellipsis"
/>
<div className={cn(s.chartLinkText, 'group-hover:inline-flex')}>
{t('datasetHitTesting.viewChart')}
{isExternal ? t('datasetHitTesting.viewDetail') : t('datasetHitTesting.viewChart')}
<ArrowUpRightIcon className="w-3 h-3 ml-1 stroke-current stroke-2" />
</div>
</div>

View File

@ -72,6 +72,7 @@ const HitTesting: FC<Props> = ({ datasetId }: Props) => {
setExternalCurrParagraph({ paraInfo: detail, showModal: true })
}
const { dataset: currentDataset } = useContext(DatasetDetailContext)
const isExternal = currentDataset?.provider === 'external'
const [retrievalConfig, setRetrievalConfig] = useState(currentDataset?.retrieval_model_dict as RetrievalConfig)
const [isShowModifyRetrievalModal, setIsShowModifyRetrievalModal] = useState(false)
@ -90,6 +91,7 @@ const HitTesting: FC<Props> = ({ datasetId }: Props) => {
title: record.title,
uri: record.metadata ? record.metadata['x-amz-bedrock-kb-source-uri'] : '',
}}
isExternal={isExternal}
detail={record.segment}
contentExternal={record.content}
score={record.score}
@ -133,7 +135,7 @@ const HitTesting: FC<Props> = ({ datasetId }: Props) => {
setLoading={setSubmitLoading}
setText={setText}
text={text}
isExternal={currentDataset?.provider === 'external'}
isExternal={isExternal}
onClickRetrievalMethod={() => setIsShowModifyRetrievalModal(true)}
retrievalConfig={retrievalConfig}
isEconomy={currentDataset?.indexing_technique === 'economy'}

View File

@ -83,7 +83,6 @@ const TextAreaWithButton = ({
}
const externalRetrievalTestingOnSubmit = async () => {
setLoading(true)
const [e, res] = await asyncRunSafe<ExternalKnowledgeBaseHitTestingResponse>(
externalKnowledgeBaseHitTesting({
datasetId,
@ -99,7 +98,6 @@ const TextAreaWithButton = ({
onUpdateList?.()
}
setLoading(false)
_onSubmit && _onSubmit()
}
const retrievalMethod = isEconomy ? RETRIEVE_METHOD.invertedIndex : retrievalConfig.search_method

View File

@ -205,10 +205,11 @@ const useConfig = (id: string, payload: KnowledgeRetrievalNodeType) => {
const handleOnDatasetsChange = useCallback((newDatasets: DataSet[]) => {
const {
allEconomic,
mixtureHighQualityAndEconomic,
mixtureInternalAndExternal,
inconsistentEmbeddingModel,
allInternal,
allExternal,
} = getSelectedDatasetsMode(newDatasets)
const newInputs = produce(inputs, (draft) => {
draft.dataset_ids = newDatasets.map(d => d.id)
@ -221,7 +222,11 @@ const useConfig = (id: string, payload: KnowledgeRetrievalNodeType) => {
setInputs(newInputs)
setSelectedDatasets(newDatasets)
if (allInternal && (allEconomic || mixtureHighQualityAndEconomic || inconsistentEmbeddingModel))
if (
(allInternal && (mixtureHighQualityAndEconomic || inconsistentEmbeddingModel))
|| mixtureInternalAndExternal
|| (allExternal && newDatasets.length > 1)
)
setRerankModelOpen(true)
}, [inputs, setInputs, payload.retrieval_mode])

View File

@ -24,6 +24,7 @@ const translation = {
},
noRecentTip: 'No recent query results here',
viewChart: 'View VECTOR CHART',
viewDetail: 'View Detail',
}
export default translation

View File

@ -24,6 +24,7 @@ const translation = {
},
noRecentTip: '最近无查询结果',
viewChart: '查看向量图表',
viewDetail: '查看详情',
}
export default translation

View File

@ -23,6 +23,7 @@ const translation = {
},
noRecentTip: '最近無查詢結果',
viewChart: '查看向量圖表',
viewDetail: '查看詳情',
}
export default translation