diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index 5160c69d..b48e6ece 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -152,7 +152,7 @@ export const VISION_REGEX = new RegExp( ) export const TEXT_TO_IMAGE_REGEX = /flux|diffusion|stabilityai|sd-|dall|cogview/i -export const EMBEDDING_REGEX = /(?:^text-|embed|rerank|davinci|babbage|bge-|e5-|LLM2Vec|retrieval|uae-|gte-)/i +export const EMBEDDING_REGEX = /(?:^text-|embed|rerank|davinci|babbage|bge-|e5-|LLM2Vec|retrieval|uae-|gte-|jina)/i export const NOT_SUPPORTED_REGEX = /(?:^tts|rerank|whisper|speech)/i export function getModelLogo(modelId: string) { @@ -700,7 +700,56 @@ export const SYSTEM_MODELS: Record = { group: 'Mistral' } ], - jina: [], + jina: [ + { + id: 'jina-clip-v1', + provider: 'jina', + name: 'jina-clip-v1', + group: 'Jina Clip' + }, + { + id: 'jina-clip-v2', + provider: 'jina', + name: 'jina-clip-v2', + group: 'Jina Clip' + }, + { + id: 'jina-embeddings-v2-base-en', + provider: 'jina', + name: 'jina-embeddings-v2-base-en', + group: 'Jina Embeddings V2' + }, + { + id: 'jina-embeddings-v2-base-es', + provider: 'jina', + name: 'jina-embeddings-v2-base-es', + group: 'Jina Embeddings V2' + }, + { + id: 'jina-embeddings-v2-base-de', + provider: 'jina', + name: 'jina-embeddings-v2-base-de', + group: 'Jina Embeddings V2' + }, + { + id: 'jina-embeddings-v2-base-zh', + provider: 'jina', + name: 'jina-embeddings-v2-base-zh', + group: 'Jina Embeddings V2' + }, + { + id: 'jina-embeddings-v2-base-code', + provider: 'jina', + name: 'jina-embeddings-v2-base-code', + group: 'Jina Embeddings V2' + }, + { + id: 'jina-embeddings-v3', + provider: 'jina', + name: 'jina-embeddings-v3', + group: 'Jina Embeddings V3' + } + ], aihubmix: [ { id: 'gpt-4o-mini', diff --git a/src/renderer/src/providers/OpenAIProvider.ts b/src/renderer/src/providers/OpenAIProvider.ts index cfa7c4c9..45882836 100644 --- a/src/renderer/src/providers/OpenAIProvider.ts +++ b/src/renderer/src/providers/OpenAIProvider.ts @@ -41,7 +41,7 @@ export default class OpenAIProvider extends BaseProvider { } private get isNotSupportFiles() { - const providers = ['deepseek', 'baichuan', 'minimax', 'doubao'] + const providers = ['deepseek', 'baichuan', 'minimax'] return providers.includes(this.provider.id) } diff --git a/src/renderer/src/store/index.ts b/src/renderer/src/store/index.ts index 32445c61..fa734fb5 100644 --- a/src/renderer/src/store/index.ts +++ b/src/renderer/src/store/index.ts @@ -28,7 +28,7 @@ const persistedReducer = persistReducer( { key: 'cherry-studio', storage, - version: 49, + version: 50, blacklist: ['runtime'], migrate }, diff --git a/src/renderer/src/store/llm.ts b/src/renderer/src/store/llm.ts index 57723537..9ae332b2 100644 --- a/src/renderer/src/store/llm.ts +++ b/src/renderer/src/store/llm.ts @@ -304,15 +304,16 @@ const initialState: LlmState = { isSystem: true, enabled: false }, - // { - // id: 'jina', - // name: 'Jina', - // apiKey: '', - // apiHost: 'https://api.jina.ai', - // models: SYSTEM_MODELS.jina, - // isSystem: true, - // enabled: false - // }, + { + id: 'jina', + name: 'Jina', + type: 'openai', + apiKey: '', + apiHost: 'https://api.jina.ai', + models: SYSTEM_MODELS.jina, + isSystem: true, + enabled: false + }, { id: 'aihubmix', name: 'AiHubMix', diff --git a/src/renderer/src/store/migrate.ts b/src/renderer/src/store/migrate.ts index a3cae7ef..1fa21bc1 100644 --- a/src/renderer/src/store/migrate.ts +++ b/src/renderer/src/store/migrate.ts @@ -659,15 +659,6 @@ const migrateConfig = { isSystem: true, enabled: false } - // { - // id: 'jina', - // name: 'Jina', - // apiKey: '', - // apiHost: 'https://api.jina.ai', - // models: SYSTEM_MODELS.jina, - // isSystem: true, - // enabled: false - // } ] } } @@ -767,6 +758,19 @@ const migrateConfig = { ] } return state + }, + '50': (state: RootState) => { + state.llm.providers.push({ + id: 'jina', + name: 'Jina', + type: 'openai', + apiKey: '', + apiHost: 'https://api.jina.ai', + models: SYSTEM_MODELS.jina, + isSystem: true, + enabled: false + }) + return state } }