fix(reranker): fix reranking API integration with own parameters (#3629)
This commit is contained in:
parent
d11f892c26
commit
8f1528b21c
@ -13,7 +13,7 @@ export default abstract class BaseReranker {
|
|||||||
|
|
||||||
public defaultHeaders() {
|
public defaultHeaders() {
|
||||||
return {
|
return {
|
||||||
Authorization: `Bearer ${this.base.apiKey}`,
|
Authorization: `Bearer ${this.base.rerankApiKey}`,
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,10 @@ export default class SiliconFlowReranker extends BaseReranker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public rerank = async (query: string, searchResults: ExtractChunkData[]): Promise<ExtractChunkData[]> => {
|
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(
|
const { data } = await axios.post(
|
||||||
url,
|
url,
|
||||||
|
|||||||
@ -11,10 +11,12 @@ import FileManager from './FileManager'
|
|||||||
|
|
||||||
export const getKnowledgeBaseParams = (base: KnowledgeBase): KnowledgeBaseParams => {
|
export const getKnowledgeBaseParams = (base: KnowledgeBase): KnowledgeBaseParams => {
|
||||||
const provider = getProviderByModel(base.model)
|
const provider = getProviderByModel(base.model)
|
||||||
|
const rerankProvider = getProviderByModel(base.rerankModel)
|
||||||
const aiProvider = new AiProvider(provider)
|
const aiProvider = new AiProvider(provider)
|
||||||
|
const rerankAiProvider = new AiProvider(rerankProvider)
|
||||||
|
|
||||||
let host = aiProvider.getBaseURL()
|
let host = aiProvider.getBaseURL()
|
||||||
|
const rerankHost = rerankAiProvider.getBaseURL()
|
||||||
if (provider.type === 'gemini') {
|
if (provider.type === 'gemini') {
|
||||||
host = host + '/v1beta/openai/'
|
host = host + '/v1beta/openai/'
|
||||||
}
|
}
|
||||||
@ -40,6 +42,8 @@ export const getKnowledgeBaseParams = (base: KnowledgeBase): KnowledgeBaseParams
|
|||||||
baseURL: host,
|
baseURL: host,
|
||||||
chunkSize,
|
chunkSize,
|
||||||
chunkOverlap: base.chunkOverlap,
|
chunkOverlap: base.chunkOverlap,
|
||||||
|
rerankBaseURL: rerankHost,
|
||||||
|
rerankApiKey: rerankAiProvider.getApiKey() || 'secret',
|
||||||
rerankModel: base.rerankModel?.id,
|
rerankModel: base.rerankModel?.id,
|
||||||
rerankModelProvider: base.rerankModel?.provider,
|
rerankModelProvider: base.rerankModel?.provider,
|
||||||
topN: base.topN
|
topN: base.topN
|
||||||
|
|||||||
@ -270,6 +270,8 @@ export type KnowledgeBaseParams = {
|
|||||||
baseURL: string
|
baseURL: string
|
||||||
chunkSize?: number
|
chunkSize?: number
|
||||||
chunkOverlap?: number
|
chunkOverlap?: number
|
||||||
|
rerankApiKey?: string
|
||||||
|
rerankBaseURL?: string
|
||||||
rerankModel?: string
|
rerankModel?: string
|
||||||
rerankModelProvider?: string
|
rerankModelProvider?: string
|
||||||
topN?: number
|
topN?: number
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user