mirror of
https://github.com/langgenius/dify.git
synced 2026-04-27 19:27:23 +08:00
fix: retrieval config for rerank cases
This commit is contained in:
parent
1955de2463
commit
6508e7e1e4
@ -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
|
<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'
|
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='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
|
<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'
|
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 className='system-md-semibold text-text-secondary group-hover:text-text-accent'>{t('dataset.createDataset')}</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</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'>
|
<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>
|
<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' />
|
<RiArrowRightLine className='w-3.5 h-3.5 text-text-tertiary group-hover:text-text-accent' />
|
||||||
|
|||||||
@ -55,6 +55,7 @@ type ISegmentCardProps = {
|
|||||||
const SegmentCard: FC<ISegmentCardProps> = ({
|
const SegmentCard: FC<ISegmentCardProps> = ({
|
||||||
detail = {},
|
detail = {},
|
||||||
contentExternal,
|
contentExternal,
|
||||||
|
isExternal,
|
||||||
refSource,
|
refSource,
|
||||||
score,
|
score,
|
||||||
onClick,
|
onClick,
|
||||||
@ -219,7 +220,7 @@ const SegmentCard: FC<ISegmentCardProps> = ({
|
|||||||
textCls="text-xs text-gray-700 !font-normal overflow-hidden whitespace-nowrap text-ellipsis"
|
textCls="text-xs text-gray-700 !font-normal overflow-hidden whitespace-nowrap text-ellipsis"
|
||||||
/>
|
/>
|
||||||
<div className={cn(s.chartLinkText, 'group-hover:inline-flex')}>
|
<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" />
|
<ArrowUpRightIcon className="w-3 h-3 ml-1 stroke-current stroke-2" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -72,6 +72,7 @@ const HitTesting: FC<Props> = ({ datasetId }: Props) => {
|
|||||||
setExternalCurrParagraph({ paraInfo: detail, showModal: true })
|
setExternalCurrParagraph({ paraInfo: detail, showModal: true })
|
||||||
}
|
}
|
||||||
const { dataset: currentDataset } = useContext(DatasetDetailContext)
|
const { dataset: currentDataset } = useContext(DatasetDetailContext)
|
||||||
|
const isExternal = currentDataset?.provider === 'external'
|
||||||
|
|
||||||
const [retrievalConfig, setRetrievalConfig] = useState(currentDataset?.retrieval_model_dict as RetrievalConfig)
|
const [retrievalConfig, setRetrievalConfig] = useState(currentDataset?.retrieval_model_dict as RetrievalConfig)
|
||||||
const [isShowModifyRetrievalModal, setIsShowModifyRetrievalModal] = useState(false)
|
const [isShowModifyRetrievalModal, setIsShowModifyRetrievalModal] = useState(false)
|
||||||
@ -90,6 +91,7 @@ const HitTesting: FC<Props> = ({ datasetId }: Props) => {
|
|||||||
title: record.title,
|
title: record.title,
|
||||||
uri: record.metadata ? record.metadata['x-amz-bedrock-kb-source-uri'] : '',
|
uri: record.metadata ? record.metadata['x-amz-bedrock-kb-source-uri'] : '',
|
||||||
}}
|
}}
|
||||||
|
isExternal={isExternal}
|
||||||
detail={record.segment}
|
detail={record.segment}
|
||||||
contentExternal={record.content}
|
contentExternal={record.content}
|
||||||
score={record.score}
|
score={record.score}
|
||||||
@ -133,7 +135,7 @@ const HitTesting: FC<Props> = ({ datasetId }: Props) => {
|
|||||||
setLoading={setSubmitLoading}
|
setLoading={setSubmitLoading}
|
||||||
setText={setText}
|
setText={setText}
|
||||||
text={text}
|
text={text}
|
||||||
isExternal={currentDataset?.provider === 'external'}
|
isExternal={isExternal}
|
||||||
onClickRetrievalMethod={() => setIsShowModifyRetrievalModal(true)}
|
onClickRetrievalMethod={() => setIsShowModifyRetrievalModal(true)}
|
||||||
retrievalConfig={retrievalConfig}
|
retrievalConfig={retrievalConfig}
|
||||||
isEconomy={currentDataset?.indexing_technique === 'economy'}
|
isEconomy={currentDataset?.indexing_technique === 'economy'}
|
||||||
|
|||||||
@ -83,7 +83,6 @@ const TextAreaWithButton = ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const externalRetrievalTestingOnSubmit = async () => {
|
const externalRetrievalTestingOnSubmit = async () => {
|
||||||
setLoading(true)
|
|
||||||
const [e, res] = await asyncRunSafe<ExternalKnowledgeBaseHitTestingResponse>(
|
const [e, res] = await asyncRunSafe<ExternalKnowledgeBaseHitTestingResponse>(
|
||||||
externalKnowledgeBaseHitTesting({
|
externalKnowledgeBaseHitTesting({
|
||||||
datasetId,
|
datasetId,
|
||||||
@ -99,7 +98,6 @@ const TextAreaWithButton = ({
|
|||||||
onUpdateList?.()
|
onUpdateList?.()
|
||||||
}
|
}
|
||||||
setLoading(false)
|
setLoading(false)
|
||||||
_onSubmit && _onSubmit()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const retrievalMethod = isEconomy ? RETRIEVE_METHOD.invertedIndex : retrievalConfig.search_method
|
const retrievalMethod = isEconomy ? RETRIEVE_METHOD.invertedIndex : retrievalConfig.search_method
|
||||||
|
|||||||
@ -205,10 +205,11 @@ const useConfig = (id: string, payload: KnowledgeRetrievalNodeType) => {
|
|||||||
|
|
||||||
const handleOnDatasetsChange = useCallback((newDatasets: DataSet[]) => {
|
const handleOnDatasetsChange = useCallback((newDatasets: DataSet[]) => {
|
||||||
const {
|
const {
|
||||||
allEconomic,
|
|
||||||
mixtureHighQualityAndEconomic,
|
mixtureHighQualityAndEconomic,
|
||||||
|
mixtureInternalAndExternal,
|
||||||
inconsistentEmbeddingModel,
|
inconsistentEmbeddingModel,
|
||||||
allInternal,
|
allInternal,
|
||||||
|
allExternal,
|
||||||
} = getSelectedDatasetsMode(newDatasets)
|
} = getSelectedDatasetsMode(newDatasets)
|
||||||
const newInputs = produce(inputs, (draft) => {
|
const newInputs = produce(inputs, (draft) => {
|
||||||
draft.dataset_ids = newDatasets.map(d => d.id)
|
draft.dataset_ids = newDatasets.map(d => d.id)
|
||||||
@ -221,7 +222,11 @@ const useConfig = (id: string, payload: KnowledgeRetrievalNodeType) => {
|
|||||||
setInputs(newInputs)
|
setInputs(newInputs)
|
||||||
setSelectedDatasets(newDatasets)
|
setSelectedDatasets(newDatasets)
|
||||||
|
|
||||||
if (allInternal && (allEconomic || mixtureHighQualityAndEconomic || inconsistentEmbeddingModel))
|
if (
|
||||||
|
(allInternal && (mixtureHighQualityAndEconomic || inconsistentEmbeddingModel))
|
||||||
|
|| mixtureInternalAndExternal
|
||||||
|
|| (allExternal && newDatasets.length > 1)
|
||||||
|
)
|
||||||
setRerankModelOpen(true)
|
setRerankModelOpen(true)
|
||||||
}, [inputs, setInputs, payload.retrieval_mode])
|
}, [inputs, setInputs, payload.retrieval_mode])
|
||||||
|
|
||||||
|
|||||||
@ -24,6 +24,7 @@ const translation = {
|
|||||||
},
|
},
|
||||||
noRecentTip: 'No recent query results here',
|
noRecentTip: 'No recent query results here',
|
||||||
viewChart: 'View VECTOR CHART',
|
viewChart: 'View VECTOR CHART',
|
||||||
|
viewDetail: 'View Detail',
|
||||||
}
|
}
|
||||||
|
|
||||||
export default translation
|
export default translation
|
||||||
|
|||||||
@ -24,6 +24,7 @@ const translation = {
|
|||||||
},
|
},
|
||||||
noRecentTip: '最近无查询结果',
|
noRecentTip: '最近无查询结果',
|
||||||
viewChart: '查看向量图表',
|
viewChart: '查看向量图表',
|
||||||
|
viewDetail: '查看详情',
|
||||||
}
|
}
|
||||||
|
|
||||||
export default translation
|
export default translation
|
||||||
|
|||||||
@ -23,6 +23,7 @@ const translation = {
|
|||||||
},
|
},
|
||||||
noRecentTip: '最近無查詢結果',
|
noRecentTip: '最近無查詢結果',
|
||||||
viewChart: '查看向量圖表',
|
viewChart: '查看向量圖表',
|
||||||
|
viewDetail: '查看詳情',
|
||||||
}
|
}
|
||||||
|
|
||||||
export default translation
|
export default translation
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user