From 6cfa7d0eb6f45601f9449d8e2a626b54a60157e0 Mon Sep 17 00:00:00 2001 From: Alice39s <180387319+Alice39s@users.noreply.github.com> Date: Mon, 24 Feb 2025 13:07:11 +0900 Subject: [PATCH] feat: Improve support for the Codestral and additional Mistral models - Added new image asset `codestral.png` for Codestral model. - Updated `embedings.ts` to include the `mistral-embed` embedding model with `max_context: 8000`. - Updated `models.ts` to: - Add support for Codestral model with `codestral-latest` ID. - Introduce new Mistral models, including: - `ministral-3b-latest` - `ministral-8b-latest` - `mistral-large-latest` - `mistral-small-latest` - `mistral-embed` - Organize models into appropriate groups (e.g., "Mistral Chat", "Mistral Code"). - Adjusted `getModelLogo` function to include Codestral and Ministral logos. --- .../src/assets/images/models/codestral.png | Bin 0 -> 1198 bytes src/renderer/src/config/embedings.ts | 4 ++ src/renderer/src/config/models.ts | 51 ++++++++++++++++-- 3 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 src/renderer/src/assets/images/models/codestral.png diff --git a/src/renderer/src/assets/images/models/codestral.png b/src/renderer/src/assets/images/models/codestral.png new file mode 100644 index 0000000000000000000000000000000000000000..26d0e6ebd191c880a23259af4533e9228eea9fe4 GIT binary patch literal 1198 zcmZ9J3rtg27{?En()JdKbaTFVE8{T*JD@IffD~HWLP0_`404O>JfQ1YdJp&+@1;A7q0GwI? zRw>V_lOq6d&?Jd>@F9fO*&(~On$T7eL#K$jQGBS0Xmo&$05$;FOtTx*xQ>h<@B-aF zt|rbS@H~KxbjwJ))oixnbNFvfL_PxZ0nA6tWx?|m(es~g!EZMaSqR(@paKv|1ZDxe zr;*443;ov?3Vrdyb$Ee~{Qyd2Q_M#^t%qK-k^4+P#iyRkkLwmIB8h^v=HXxQ=~3Kh zu(qpgmPJeTR#@Z-XUAZ7xor`*RP*7?Q`mJ9+AY?atxyTz&2qh7uU4x&N!_?Una74w z0A-F)>Ht6ShNh<`lc}q#OReeFS7$((1Cj28-)dH=R8%SzMNy_RstIR6F$2akU>qGv z{NdE7Mx$XenN&Ke@<(AjN{F3tO$&x$WLN13P;aKeI0h8a;U0fFosRiXi1=l>q}Dm* zWLrD*$l(k?qXN+Dh?mU z3wYp!lZTL8&@fQ~pEilCM&1pQyIsB}M>cZYn$^l;}kNA8MJ$@eA5tw4Ry%#so- z`6oL&S27A~KYg@DI1!y5h&uJ><#qR0`6Yamaa^*xRC0539!;>>KSMrcq=-F?;jT6M zlHQ$T)PzT2SB9`2qV@#oIgR|@(!1@}IgvP|$iheygzeqp7BiYQGP zFT=5km~y{+tz?I`cvt+fuEPCx)wr&8<0f}{DcNhC{941Ef#+edh0n>ad=ulphe;)v zjI%dKMj8lVg|LHIAweNwJ6Iu{&@c|`oeeA&hsC1qrbhk`P-ICn(+|H2gmB(w{{#30 zJkBP8fd5XwG8M7|m_(s`g<*$t!v1A~PyAFsGOsT&3bLGo9ahRfrb3b-+oar|(NW`i PoJ<1|KaqDeCaw5yb8Q_M literal 0 HcmV?d00001 diff --git a/src/renderer/src/config/embedings.ts b/src/renderer/src/config/embedings.ts index 369fd962..12734cc1 100644 --- a/src/renderer/src/config/embedings.ts +++ b/src/renderer/src/config/embedings.ts @@ -238,6 +238,10 @@ export const EMBEDDING_MODELS = [ { id: 'mxbai-embed-2d-large-v1', max_context: 512 + }, + { + id: 'mistral-embed', + max_context: 8000 } ] diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index 95458b4a..6b9f1dda 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -20,6 +20,7 @@ import ClaudeModelLogo from '@renderer/assets/images/models/claude.png' import ClaudeModelLogoDark from '@renderer/assets/images/models/claude_dark.png' import CodegeexModelLogo from '@renderer/assets/images/models/codegeex.png' import CodegeexModelLogoDark from '@renderer/assets/images/models/codegeex_dark.png' +import CodestralModelLogo from '@renderer/assets/images/models/codestral.png' import CohereModelLogo from '@renderer/assets/images/models/cohere.png' import CohereModelLogoDark from '@renderer/assets/images/models/cohere_dark.png' import CopilotModelLogo from '@renderer/assets/images/models/copilot.png' @@ -203,6 +204,8 @@ export function getModelLogo(modelId: string) { llama: isLight ? LlamaModelLogo : LlamaModelLogoDark, mixtral: isLight ? MistralModelLogo : MistralModelLogo, mistral: isLight ? MistralModelLogo : MistralModelLogoDark, + codestral: CodestralModelLogo, + ministral: isLight ? MistralModelLogo : MistralModelLogoDark, moonshot: isLight ? MoonshotModelLogo : MoonshotModelLogoDark, kimi: isLight ? MoonshotModelLogo : MoonshotModelLogoDark, phi: isLight ? MicrosoftModelLogo : MicrosoftModelLogoDark, @@ -1068,14 +1071,56 @@ export const SYSTEM_MODELS: Record = { { id: 'pixtral-12b-2409', provider: 'mistral', - name: 'Pixtral-12B-2409', + name: 'Pixtral 12B [Free]', group: 'Pixtral' }, + { + id: 'pixtral-large-latest', + provider: 'mistral', + name: 'Pixtral Large', + group: 'Pixtral' + }, + { + id: 'ministral-3b-latest', + provider: 'mistral', + name: 'Mistral 3B [Free]', + group: 'Mistral Mini' + }, + { + id: 'ministral-8b-latest', + provider: 'mistral', + name: 'Mistral 8B [Free]', + group: 'Mistral Mini' + }, + { + id: 'codestral-latest', + provider: 'mistral', + name: 'Mistral Codestral', + group: 'Mistral Code' + }, + { + id: 'mistral-large-latest', + provider: 'mistral', + name: 'Mistral Large', + group: 'Mistral Chat' + }, + { + id: 'mistral-small-latest', + provider: 'mistral', + name: 'Mistral Small', + group: 'Mistral Chat' + }, { id: 'open-mistral-nemo', provider: 'mistral', - name: 'Open-Mistral-Nemo', - group: 'Mistral' + name: 'Mistral Nemo', + group: 'Mistral Chat' + }, + { + id: 'mistral-embed', + provider: 'mistral', + name: 'Mistral Embedding', + group: 'Mistral Embed' } ], jina: [