diff --git a/src/modules/llms/vendors/IModelVendor.ts b/src/modules/llms/vendors/IModelVendor.ts index 309e54e00..320d9fb6a 100644 --- a/src/modules/llms/vendors/IModelVendor.ts +++ b/src/modules/llms/vendors/IModelVendor.ts @@ -14,7 +14,7 @@ import type { ModelVendorId } from './vendors.registry'; export interface IModelVendor> { readonly id: ModelVendorId; readonly name: string; - readonly rank: number; + readonly displayRank: number; // [10...] Foundation Models, [30...] 3rd party Clouds, [40...] Aggregators, [50...] Local Models readonly location: 'local' | 'cloud'; readonly brandColor?: string; readonly instanceLimit?: number; diff --git a/src/modules/llms/vendors/anthropic/anthropic.vendor.ts b/src/modules/llms/vendors/anthropic/anthropic.vendor.ts index f2873a879..32d7559a8 100644 --- a/src/modules/llms/vendors/anthropic/anthropic.vendor.ts +++ b/src/modules/llms/vendors/anthropic/anthropic.vendor.ts @@ -22,7 +22,7 @@ interface DAnthropicServiceSettings { export const ModelVendorAnthropic: IModelVendor = { id: 'anthropic', name: 'Anthropic', - rank: 13, + displayRank: 12, location: 'cloud', brandColor: '#cc785c', instanceLimit: 1, diff --git a/src/modules/llms/vendors/azure/azure.vendor.ts b/src/modules/llms/vendors/azure/azure.vendor.ts index 6d3b6a867..3025b1643 100644 --- a/src/modules/llms/vendors/azure/azure.vendor.ts +++ b/src/modules/llms/vendors/azure/azure.vendor.ts @@ -36,7 +36,7 @@ interface DAzureServiceSettings { export const ModelVendorAzure: IModelVendor = { id: 'azure', name: 'Azure', - rank: 14, + displayRank: 30, location: 'cloud', instanceLimit: 2, hasBackendCapKey: 'hasLlmAzureOpenAI', diff --git a/src/modules/llms/vendors/deepseek/deepseekai.vendor.ts b/src/modules/llms/vendors/deepseek/deepseekai.vendor.ts index e7280b33d..48cb5cbd5 100644 --- a/src/modules/llms/vendors/deepseek/deepseekai.vendor.ts +++ b/src/modules/llms/vendors/deepseek/deepseekai.vendor.ts @@ -16,7 +16,7 @@ export interface DDeepseekServiceSettings { export const ModelVendorDeepseek: IModelVendor = { id: 'deepseek', name: 'Deepseek', - rank: 19, + displayRank: 16, location: 'cloud', instanceLimit: 1, hasBackendCapKey: 'hasLlmDeepseek', diff --git a/src/modules/llms/vendors/gemini/gemini.vendor.ts b/src/modules/llms/vendors/gemini/gemini.vendor.ts index 714ac4ad2..f9842dabd 100644 --- a/src/modules/llms/vendors/gemini/gemini.vendor.ts +++ b/src/modules/llms/vendors/gemini/gemini.vendor.ts @@ -28,7 +28,7 @@ interface LLMOptionsGemini { export const ModelVendorGemini: IModelVendor = { id: 'googleai', name: 'Gemini', - rank: 11, + displayRank: 14, location: 'cloud', instanceLimit: 1, hasBackendCapKey: 'hasLlmGemini', diff --git a/src/modules/llms/vendors/groq/groq.vendor.ts b/src/modules/llms/vendors/groq/groq.vendor.ts index a4ecd10d2..b598f5886 100644 --- a/src/modules/llms/vendors/groq/groq.vendor.ts +++ b/src/modules/llms/vendors/groq/groq.vendor.ts @@ -16,7 +16,7 @@ interface DGroqServiceSettings { export const ModelVendorGroq: IModelVendor = { id: 'groq', name: 'Groq', - rank: 18, + displayRank: 32, location: 'cloud', instanceLimit: 1, hasBackendCapKey: 'hasLlmGroq', diff --git a/src/modules/llms/vendors/lmstudio/lmstudio.vendor.ts b/src/modules/llms/vendors/lmstudio/lmstudio.vendor.ts index 35d3821d7..d06a04915 100644 --- a/src/modules/llms/vendors/lmstudio/lmstudio.vendor.ts +++ b/src/modules/llms/vendors/lmstudio/lmstudio.vendor.ts @@ -15,7 +15,7 @@ interface DLMStudioServiceSettings { export const ModelVendorLMStudio: IModelVendor = { id: 'lmstudio', name: 'LM Studio', - rank: 21, + displayRank: 52, location: 'local', instanceLimit: 1, diff --git a/src/modules/llms/vendors/localai/localai.vendor.ts b/src/modules/llms/vendors/localai/localai.vendor.ts index 5dec617b8..af56c5579 100644 --- a/src/modules/llms/vendors/localai/localai.vendor.ts +++ b/src/modules/llms/vendors/localai/localai.vendor.ts @@ -17,7 +17,7 @@ interface DLocalAIServiceSettings { export const ModelVendorLocalAI: IModelVendor = { id: 'localai', name: 'LocalAI', - rank: 20, + displayRank: 50, location: 'local', instanceLimit: 4, hasBackendCapKey: 'hasLlmLocalAIHost', diff --git a/src/modules/llms/vendors/mistral/mistral.vendor.ts b/src/modules/llms/vendors/mistral/mistral.vendor.ts index 164ab3330..624dca957 100644 --- a/src/modules/llms/vendors/mistral/mistral.vendor.ts +++ b/src/modules/llms/vendors/mistral/mistral.vendor.ts @@ -19,7 +19,7 @@ type DMistralServiceSettings = Pick = { id: 'mistral', name: 'Mistral', - rank: 15, + displayRank: 18, location: 'cloud', instanceLimit: 1, hasBackendCapKey: 'hasLlmMistral', diff --git a/src/modules/llms/vendors/ollama/ollama.vendor.ts b/src/modules/llms/vendors/ollama/ollama.vendor.ts index fbeae276e..470cd42a9 100644 --- a/src/modules/llms/vendors/ollama/ollama.vendor.ts +++ b/src/modules/llms/vendors/ollama/ollama.vendor.ts @@ -19,7 +19,7 @@ interface DOllamaServiceSettings { export const ModelVendorOllama: IModelVendor = { id: 'ollama', name: 'Ollama', - rank: 22, + displayRank: 54, location: 'local', instanceLimit: 2, hasBackendCapKey: 'hasLlmOllama', diff --git a/src/modules/llms/vendors/openai/openai.vendor.ts b/src/modules/llms/vendors/openai/openai.vendor.ts index 2c73ef0ef..4a3baab28 100644 --- a/src/modules/llms/vendors/openai/openai.vendor.ts +++ b/src/modules/llms/vendors/openai/openai.vendor.ts @@ -33,7 +33,7 @@ export interface DOpenAILLMOptions { export const ModelVendorOpenAI: IModelVendor = { id: 'openai', name: 'OpenAI', - rank: 10, + displayRank: 10, location: 'cloud', instanceLimit: 5, hasBackendCapKey: 'hasLlmOpenAI', diff --git a/src/modules/llms/vendors/openpipe/openpipe.vendor.ts b/src/modules/llms/vendors/openpipe/openpipe.vendor.ts index 847e1ada0..822e75488 100644 --- a/src/modules/llms/vendors/openpipe/openpipe.vendor.ts +++ b/src/modules/llms/vendors/openpipe/openpipe.vendor.ts @@ -17,7 +17,7 @@ export interface DOpenPipeServiceSettings { export const ModelVendorOpenPipe: IModelVendor = { id: 'openpipe', name: 'OpenPipe', - rank: 16, + displayRank: 42, location: 'cloud', instanceLimit: 1, hasBackendCapKey: 'hasLlmOpenPipe', diff --git a/src/modules/llms/vendors/openrouter/openrouter.vendor.ts b/src/modules/llms/vendors/openrouter/openrouter.vendor.ts index 3826eff6e..b2430a670 100644 --- a/src/modules/llms/vendors/openrouter/openrouter.vendor.ts +++ b/src/modules/llms/vendors/openrouter/openrouter.vendor.ts @@ -32,7 +32,7 @@ export interface DOpenRouterServiceSettings { export const ModelVendorOpenRouter: IModelVendor = { id: 'openrouter', name: 'OpenRouter', - rank: 12, + displayRank: 40, location: 'cloud', instanceLimit: 1, hasFreeModels: true, diff --git a/src/modules/llms/vendors/perplexity/perplexity.vendor.ts b/src/modules/llms/vendors/perplexity/perplexity.vendor.ts index e5c81e82a..ce47356ad 100644 --- a/src/modules/llms/vendors/perplexity/perplexity.vendor.ts +++ b/src/modules/llms/vendors/perplexity/perplexity.vendor.ts @@ -16,7 +16,7 @@ interface DPerpexityServiceSettings { export const ModelVendorPerplexity: IModelVendor = { id: 'perplexity', name: 'Perplexity', - rank: 18, + displayRank: 20, location: 'cloud', instanceLimit: 1, hasBackendCapKey: 'hasLlmPerplexity', diff --git a/src/modules/llms/vendors/togetherai/togetherai.vendor.ts b/src/modules/llms/vendors/togetherai/togetherai.vendor.ts index e92655467..3482785c8 100644 --- a/src/modules/llms/vendors/togetherai/togetherai.vendor.ts +++ b/src/modules/llms/vendors/togetherai/togetherai.vendor.ts @@ -18,7 +18,7 @@ interface DTogetherAIServiceSettings { export const ModelVendorTogetherAI: IModelVendor = { id: 'togetherai', name: 'Together AI', - rank: 17, + displayRank: 34, location: 'cloud', instanceLimit: 1, hasBackendCapKey: 'hasLlmTogetherAI', diff --git a/src/modules/llms/vendors/vendors.registry.ts b/src/modules/llms/vendors/vendors.registry.ts index 4bcbd416a..0d9652b50 100644 --- a/src/modules/llms/vendors/vendors.registry.ts +++ b/src/modules/llms/vendors/vendors.registry.ts @@ -19,6 +19,7 @@ import type { IModelVendor } from './IModelVendor'; export type ModelVendorId = | 'anthropic' | 'azure' + | 'deepseek' | 'googleai' | 'groq' | 'lmstudio' @@ -30,12 +31,13 @@ export type ModelVendorId = | 'openrouter' | 'perplexity' | 'togetherai' - | 'deepseek'; + ; /** Global: Vendor Instances Registry **/ const MODEL_VENDOR_REGISTRY: Record = { anthropic: ModelVendorAnthropic, azure: ModelVendorAzure, + deepseek: ModelVendorDeepseek, googleai: ModelVendorGemini, groq: ModelVendorGroq, lmstudio: ModelVendorLMStudio, @@ -47,13 +49,12 @@ const MODEL_VENDOR_REGISTRY: Record = { openrouter: ModelVendorOpenRouter, perplexity: ModelVendorPerplexity, togetherai: ModelVendorTogetherAI, - deepseek: ModelVendorDeepseek, } as Record; export function findAllModelVendors(): IModelVendor[] { const modelVendors = Object.values(MODEL_VENDOR_REGISTRY); - modelVendors.sort((a, b) => a.rank - b.rank); + modelVendors.sort((a, b) => a.displayRank - b.displayRank); return modelVendors; }