feat: multimodal support (image) (#27793)

Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Wu Tianwei
2025-12-09 11:44:50 +08:00
committed by GitHub
parent a44b800c85
commit 14d1b3f9b3
77 changed files with 2932 additions and 579 deletions

View File

@@ -27,6 +27,7 @@ type RetrievalSettingProps = {
onRerankingModelEnabledChange?: (value: boolean) => void
weightedScore?: WeightedScore
onWeightedScoreChange: (value: { value: number[] }) => void
showMultiModalTip?: boolean
} & RerankingModelSelectorProps & TopKAndScoreThresholdProps
const RetrievalSetting = ({
@@ -48,6 +49,7 @@ const RetrievalSetting = ({
onScoreThresholdChange,
isScoreThresholdEnabled,
onScoreThresholdEnabledChange,
showMultiModalTip,
}: RetrievalSettingProps) => {
const { t } = useTranslation()
const {
@@ -91,6 +93,7 @@ const RetrievalSetting = ({
rerankingModel={rerankingModel}
onRerankingModelChange={onRerankingModelChange}
readonly={readonly}
showMultiModalTip={showMultiModalTip}
/>
))
}

View File

@@ -25,6 +25,7 @@ import type { TopKAndScoreThresholdProps } from './top-k-and-score-threshold'
import TopKAndScoreThreshold from './top-k-and-score-threshold'
import type { RerankingModelSelectorProps } from './reranking-model-selector'
import RerankingModelSelector from './reranking-model-selector'
import { AlertTriangle } from '@/app/components/base/icons/src/vender/solid/alertsAndFeedback'
type SearchMethodOptionProps = {
readonly?: boolean
@@ -38,6 +39,7 @@ type SearchMethodOptionProps = {
onWeightedScoreChange: (value: { value: number[] }) => void
rerankingModelEnabled?: boolean
onRerankingModelEnabledChange?: (value: boolean) => void
showMultiModalTip?: boolean
} & RerankingModelSelectorProps & TopKAndScoreThresholdProps
const SearchMethodOption = ({
readonly,
@@ -59,6 +61,7 @@ const SearchMethodOption = ({
onScoreThresholdChange,
isScoreThresholdEnabled,
onScoreThresholdEnabledChange,
showMultiModalTip = false,
}: SearchMethodOptionProps) => {
const { t } = useTranslation()
const Icon = option.icon
@@ -183,6 +186,17 @@ const SearchMethodOption = ({
onRerankingModelChange={onRerankingModelChange}
readonly={readonly}
/>
{showMultiModalTip && (
<div className='mt-2 flex h-10 items-center gap-x-0.5 overflow-hidden rounded-xl border-[0.5px] border-components-panel-border bg-components-panel-bg-blur p-2 shadow-xs backdrop-blur-[5px]'>
<div className='absolute bottom-0 left-0 right-0 top-0 bg-dataset-warning-message-bg opacity-40' />
<div className='p-1'>
<AlertTriangle className='size-4 text-text-warning-secondary' />
</div>
<span className='system-xs-medium text-text-primary'>
{t('datasetSettings.form.retrievalSetting.multiModalTip')}
</span>
</div>
)}
</div>
)
}