Commit 04515698 authored by Joel's avatar Joel

fix: not show rerank modal picker

parent 257e795c
...@@ -37,9 +37,7 @@ const ConfigContent: FC<Props> = ({ ...@@ -37,9 +37,7 @@ const ConfigContent: FC<Props> = ({
const { const {
modelList: rerankModelList, modelList: rerankModelList,
defaultModel: rerankDefaultModel, defaultModel: rerankDefaultModel,
currentModel: isRerankDefaultModelVaild,
} = useModelListAndDefaultModelAndCurrentProviderAndModel(3) } = useModelListAndDefaultModelAndCurrentProviderAndModel(3)
const rerankModel = (() => { const rerankModel = (() => {
if (datasetConfigs.reranking_model) { if (datasetConfigs.reranking_model) {
return { return {
......
...@@ -48,7 +48,7 @@ const ParamItem: FC<Props> = ({ className, id, name, noTooltip, tip, step = 0.1, ...@@ -48,7 +48,7 @@ const ParamItem: FC<Props> = ({ className, id, name, noTooltip, tip, step = 0.1,
</div> </div>
<div className="mt-2 flex items-center"> <div className="mt-2 flex items-center">
<div className="mr-4 flex shrink-0 items-center"> <div className="mr-4 flex shrink-0 items-center">
<input disabled={!enable} type="number" min={min} max={max} step={step} className="block w-[48px] h-7 text-xs leading-[18px] rounded-lg border-0 pl-1 pl py-1.5 bg-gray-50 text-gray-900 placeholder:text-gray-400 focus:ring-1 focus:ring-inset focus:ring-primary-600 disabled:opacity-60" value={value} onChange={(e) => { <input disabled={!enable} type="number" min={min} max={max} step={step} className="block w-[48px] h-7 text-xs leading-[18px] rounded-lg border-0 pl-1 pl py-1.5 bg-gray-50 text-gray-900 placeholder:text-gray-400 focus:ring-1 focus:ring-inset focus:ring-primary-600 disabled:opacity-60" value={(value === null || value === undefined) ? '' : value} onChange={(e) => {
const value = parseFloat(e.target.value) const value = parseFloat(e.target.value)
if (value < min || value > max) if (value < min || value > max)
return return
......
...@@ -96,7 +96,7 @@ const ModelSelector: FC<ModelSelectorProps> = ({ ...@@ -96,7 +96,7 @@ const ModelSelector: FC<ModelSelectorProps> = ({
) )
} }
</PortalToFollowElemTrigger> </PortalToFollowElemTrigger>
<PortalToFollowElemContent className={`z-[60] ${popupClassName}`}> <PortalToFollowElemContent className={`z-[1002] ${popupClassName}`}>
<Popup <Popup
defaultModel={defaultModel} defaultModel={defaultModel}
modelList={modelList} modelList={modelList}
......
...@@ -11,6 +11,8 @@ import { ...@@ -11,6 +11,8 @@ import {
} from '@/app/components/base/portal-to-follow-elem' } from '@/app/components/base/portal-to-follow-elem'
import ConfigRetrievalContent from '@/app/components/app/configuration/dataset-config/params-config/config-content' import ConfigRetrievalContent from '@/app/components/app/configuration/dataset-config/params-config/config-content'
import { RETRIEVE_TYPE } from '@/types/app' import { RETRIEVE_TYPE } from '@/types/app'
import { DATASET_DEFAULT } from '@/config'
import { useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks'
import type { import type {
DatasetConfigs, DatasetConfigs,
...@@ -35,6 +37,11 @@ const RetrievalConfig: FC<Props> = ({ ...@@ -35,6 +37,11 @@ const RetrievalConfig: FC<Props> = ({
const [open, setOpen] = useState(false) const [open, setOpen] = useState(false)
const {
defaultModel: rerankDefaultModel,
currentModel: isRerankDefaultModelVaild,
} = useModelListAndDefaultModelAndCurrentProviderAndModel(3)
const { multiple_retrieval_config } = payload const { multiple_retrieval_config } = payload
const handleChange = useCallback((configs: DatasetConfigs, isRetrievalModeChange?: boolean) => { const handleChange = useCallback((configs: DatasetConfigs, isRetrievalModeChange?: boolean) => {
if (isRetrievalModeChange) { if (isRetrievalModeChange) {
...@@ -43,11 +50,18 @@ const RetrievalConfig: FC<Props> = ({ ...@@ -43,11 +50,18 @@ const RetrievalConfig: FC<Props> = ({
} }
onMultipleRetrievalConfigChange({ onMultipleRetrievalConfigChange({
top_k: configs.top_k, top_k: configs.top_k,
score_threshold: configs.score_threshold_enabled ? configs.score_threshold : null, score_threshold: configs.score_threshold_enabled ? (configs.score_threshold || DATASET_DEFAULT.score_threshold) : null,
reranking_model: { reranking_model: payload.retrieval_mode === RETRIEVE_TYPE.oneWay
provider: configs.reranking_model?.reranking_provider_name, ? undefined
model: configs.reranking_model?.reranking_model_name, : (!configs.reranking_model?.reranking_provider_name
}, ? {
provider: rerankDefaultModel?.provider?.provider || '',
model: rerankDefaultModel?.model || '',
}
: {
provider: configs.reranking_model?.reranking_provider_name,
model: configs.reranking_model?.reranking_model_name,
}),
}) })
}, [onRetrievalModeChange, onMultipleRetrievalConfigChange]) }, [onRetrievalModeChange, onMultipleRetrievalConfigChange])
...@@ -75,13 +89,18 @@ const RetrievalConfig: FC<Props> = ({ ...@@ -75,13 +89,18 @@ const RetrievalConfig: FC<Props> = ({
datasetConfigs={ datasetConfigs={
{ {
retrieval_model: payload.retrieval_mode, retrieval_model: payload.retrieval_mode,
reranking_model: { reranking_model: !multiple_retrieval_config?.reranking_model?.provider
reranking_provider_name: multiple_retrieval_config?.reranking_model?.provider || '', ? {
reranking_model_name: multiple_retrieval_config?.reranking_model?.model || '', reranking_provider_name: rerankDefaultModel?.provider?.provider || '',
}, reranking_model_name: rerankDefaultModel?.model || '',
top_k: multiple_retrieval_config?.top_k || 5, }
: {
reranking_provider_name: multiple_retrieval_config?.reranking_model?.provider || '',
reranking_model_name: multiple_retrieval_config?.reranking_model?.model || '',
},
top_k: multiple_retrieval_config?.top_k || DATASET_DEFAULT.top_k,
score_threshold_enabled: !(multiple_retrieval_config?.score_threshold === undefined || multiple_retrieval_config?.score_threshold === null), score_threshold_enabled: !(multiple_retrieval_config?.score_threshold === undefined || multiple_retrieval_config?.score_threshold === null),
score_threshold: multiple_retrieval_config?.score_threshold || 0.5, score_threshold: multiple_retrieval_config?.score_threshold,
datasets: { datasets: {
datasets: [], datasets: [],
}, },
......
...@@ -11,7 +11,7 @@ export const mockData: KnowledgeRetrievalNodeType = { ...@@ -11,7 +11,7 @@ export const mockData: KnowledgeRetrievalNodeType = {
retrieval_mode: RETRIEVE_TYPE.oneWay, retrieval_mode: RETRIEVE_TYPE.oneWay,
multiple_retrieval_config: { multiple_retrieval_config: {
top_k: 10, top_k: 10,
score_threshold: 0.5, score_threshold: null,
reranking_model: { reranking_model: {
provider: '', provider: '',
model: '', model: '',
......
...@@ -67,21 +67,22 @@ const Panel: FC = () => { ...@@ -67,21 +67,22 @@ const Panel: FC = () => {
type: 'string', type: 'string',
description: t(`${i18nPrefix}.outputVars.content`), description: t(`${i18nPrefix}.outputVars.content`),
}, },
// url, title, link like bing search reference result: link, link page title, link page icon
{ {
name: 'title', name: 'title',
type: 'string', type: 'string',
description: t(`${i18nPrefix}.outputVars.title`), description: t(`${i18nPrefix}.outputVars.title`),
}, },
// { {
// name: 'url', name: 'url',
// type: 'string', type: 'string',
// description: t(`${i18nPrefix}.outputVars.url`) description: t(`${i18nPrefix}.outputVars.url`),
// }, },
// { {
// name: 'icon', name: 'icon',
// type: 'string', type: 'string',
// description: t(`${i18nPrefix}.outputVars.icon`) description: t(`${i18nPrefix}.outputVars.icon`),
// }, },
{ {
name: 'metadata', name: 'metadata',
type: 'object', type: 'object',
......
...@@ -4,7 +4,7 @@ import type { RETRIEVE_TYPE } from '@/types/app' ...@@ -4,7 +4,7 @@ import type { RETRIEVE_TYPE } from '@/types/app'
export type MultipleRetrievalConfig = { export type MultipleRetrievalConfig = {
top_k: number top_k: number
score_threshold: number | null | undefined score_threshold: number | null | undefined
reranking_model: { reranking_model?: {
provider: string provider: string
model: string model: string
} }
......
...@@ -61,6 +61,8 @@ const translation = { ...@@ -61,6 +61,8 @@ const translation = {
output: 'Retrieval segmented data', output: 'Retrieval segmented data',
content: 'Segmented content', content: 'Segmented content',
title: 'Segmented title', title: 'Segmented title',
icon: 'Segmented icon',
url: 'Segmented URL',
metadata: 'Other metadata', metadata: 'Other metadata',
}, },
}, },
......
...@@ -60,6 +60,8 @@ const translation = { ...@@ -60,6 +60,8 @@ const translation = {
output: '召回的分段', output: '召回的分段',
content: '分段内容', content: '分段内容',
title: '分段标题', title: '分段标题',
icon: '分段图标',
url: '分段链接',
metadata: '其他元数据', metadata: '其他元数据',
}, },
}, },
......
...@@ -143,7 +143,7 @@ export type DatasetConfigs = { ...@@ -143,7 +143,7 @@ export type DatasetConfigs = {
} }
top_k: number top_k: number
score_threshold_enabled: boolean score_threshold_enabled: boolean
score_threshold: number score_threshold?: number | null
datasets: { datasets: {
datasets: { datasets: {
enabled: boolean enabled: boolean
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment