mirror of
https://github.com/langgenius/dify.git
synced 2025-07-08 17:53:21 +00:00
51 lines
1.5 KiB
TypeScript
51 lines
1.5 KiB
TypeScript
![]() |
import type { BackendModel } from '../../header/account-setting/model-page/declarations'
|
||
|
import { RETRIEVE_METHOD, type RetrievalConfig } from '@/types/app'
|
||
|
|
||
|
export const isReRankModelSelected = ({
|
||
|
rerankDefaultModel,
|
||
|
isRerankDefaultModelVaild,
|
||
|
retrievalConfig,
|
||
|
indexMethod,
|
||
|
}: {
|
||
|
rerankDefaultModel?: BackendModel
|
||
|
isRerankDefaultModelVaild: boolean
|
||
|
retrievalConfig: RetrievalConfig
|
||
|
indexMethod?: string
|
||
|
}) => {
|
||
|
const rerankModel = (retrievalConfig.reranking_model?.reranking_model_name ? retrievalConfig.reranking_model : undefined) || (isRerankDefaultModelVaild ? rerankDefaultModel : undefined)
|
||
|
if (
|
||
|
indexMethod === 'high_quality'
|
||
|
&& (retrievalConfig.reranking_enable || retrievalConfig.search_method === RETRIEVE_METHOD.fullText)
|
||
|
&& !rerankModel
|
||
|
)
|
||
|
return false
|
||
|
|
||
|
return true
|
||
|
}
|
||
|
|
||
|
export const ensureRerankModelSelected = ({
|
||
|
rerankDefaultModel,
|
||
|
indexMethod,
|
||
|
retrievalConfig,
|
||
|
}: {
|
||
|
rerankDefaultModel: BackendModel
|
||
|
retrievalConfig: RetrievalConfig
|
||
|
indexMethod?: string
|
||
|
}) => {
|
||
|
const rerankModel = retrievalConfig.reranking_model?.reranking_model_name ? retrievalConfig.reranking_model : undefined
|
||
|
if (
|
||
|
indexMethod === 'high_quality'
|
||
|
&& (retrievalConfig.reranking_enable || retrievalConfig.search_method === RETRIEVE_METHOD.fullText)
|
||
|
&& !rerankModel
|
||
|
) {
|
||
|
return {
|
||
|
...retrievalConfig,
|
||
|
reranking_model: {
|
||
|
reranking_provider_name: rerankDefaultModel.model_provider.provider_name,
|
||
|
reranking_model_name: rerankDefaultModel.model_name,
|
||
|
},
|
||
|
}
|
||
|
}
|
||
|
return retrievalConfig
|
||
|
}
|