21 lines
707 B
TypeScript
21 lines
707 B
TypeScript
import { KnowledgeBaseParams } from '@types'
|
|
|
|
import BaseReranker from './BaseReranker'
|
|
import DefaultReranker from './DefaultReranker'
|
|
import JinaReranker from './JinaReranker'
|
|
import SiliconFlowReranker from './SiliconFlowReranker'
|
|
import VoyageReranker from './VoyageReranker'
|
|
|
|
export default class RerankerFactory {
|
|
static create(base: KnowledgeBaseParams): BaseReranker {
|
|
if (base.rerankModelProvider === 'silicon') {
|
|
return new SiliconFlowReranker(base)
|
|
} else if (base.rerankModelProvider === 'jina') {
|
|
return new JinaReranker(base)
|
|
} else if (base.rerankModelProvider === 'voyageai') {
|
|
return new VoyageReranker(base)
|
|
}
|
|
return new DefaultReranker(base)
|
|
}
|
|
}
|