fix(reranker): fix reranking API integration with own parameters (#3629)

This commit is contained in:
SuYao 2025-03-20 14:50:09 +08:00 committed by GitHub
parent d11f892c26
commit 8f1528b21c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 12 additions and 3 deletions

View File

@ -13,7 +13,7 @@ export default abstract class BaseReranker {
public defaultHeaders() {
return {
Authorization: `Bearer ${this.base.apiKey}`,
Authorization: `Bearer ${this.base.rerankApiKey}`,
'Content-Type': 'application/json'
}
}

View File

@ -10,7 +10,10 @@ export default class SiliconFlowReranker extends BaseReranker {
}
public rerank = async (query: string, searchResults: ExtractChunkData[]): Promise<ExtractChunkData[]> => {
const url = `${this.base.baseURL}/rerank`
const baseURL = this.base?.rerankBaseURL?.endsWith('/')
? this.base.rerankBaseURL.slice(0, -1)
: this.base.rerankBaseURL
const url = `${baseURL}/rerank`
const { data } = await axios.post(
url,

View File

@ -11,10 +11,12 @@ import FileManager from './FileManager'
export const getKnowledgeBaseParams = (base: KnowledgeBase): KnowledgeBaseParams => {
const provider = getProviderByModel(base.model)
const rerankProvider = getProviderByModel(base.rerankModel)
const aiProvider = new AiProvider(provider)
const rerankAiProvider = new AiProvider(rerankProvider)
let host = aiProvider.getBaseURL()
const rerankHost = rerankAiProvider.getBaseURL()
if (provider.type === 'gemini') {
host = host + '/v1beta/openai/'
}
@ -40,6 +42,8 @@ export const getKnowledgeBaseParams = (base: KnowledgeBase): KnowledgeBaseParams
baseURL: host,
chunkSize,
chunkOverlap: base.chunkOverlap,
rerankBaseURL: rerankHost,
rerankApiKey: rerankAiProvider.getApiKey() || 'secret',
rerankModel: base.rerankModel?.id,
rerankModelProvider: base.rerankModel?.provider,
topN: base.topN

View File

@ -270,6 +270,8 @@ export type KnowledgeBaseParams = {
baseURL: string
chunkSize?: number
chunkOverlap?: number
rerankApiKey?: string
rerankBaseURL?: string
rerankModel?: string
rerankModelProvider?: string
topN?: number