mirror of
https://github.com/enricoros/big-AGI.git
synced 2026-05-10 21:50:14 -07:00
Adjust all Vendors ranks
This commit is contained in:
+1
-1
@@ -14,7 +14,7 @@ import type { ModelVendorId } from './vendors.registry';
|
||||
export interface IModelVendor<TServiceSettings = unknown, TAccess = unknown, TLLMOptions = unknown, TDLLM = DLLM<TLLMOptions>> {
|
||||
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;
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ interface DAnthropicServiceSettings {
|
||||
export const ModelVendorAnthropic: IModelVendor<DAnthropicServiceSettings, AnthropicAccessSchema, DOpenAILLMOptions> = {
|
||||
id: 'anthropic',
|
||||
name: 'Anthropic',
|
||||
rank: 13,
|
||||
displayRank: 12,
|
||||
location: 'cloud',
|
||||
brandColor: '#cc785c',
|
||||
instanceLimit: 1,
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ interface DAzureServiceSettings {
|
||||
export const ModelVendorAzure: IModelVendor<DAzureServiceSettings, OpenAIAccessSchema, DOpenAILLMOptions> = {
|
||||
id: 'azure',
|
||||
name: 'Azure',
|
||||
rank: 14,
|
||||
displayRank: 30,
|
||||
location: 'cloud',
|
||||
instanceLimit: 2,
|
||||
hasBackendCapKey: 'hasLlmAzureOpenAI',
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ export interface DDeepseekServiceSettings {
|
||||
export const ModelVendorDeepseek: IModelVendor<DDeepseekServiceSettings, OpenAIAccessSchema, DOpenAILLMOptions> = {
|
||||
id: 'deepseek',
|
||||
name: 'Deepseek',
|
||||
rank: 19,
|
||||
displayRank: 16,
|
||||
location: 'cloud',
|
||||
instanceLimit: 1,
|
||||
hasBackendCapKey: 'hasLlmDeepseek',
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ interface LLMOptionsGemini {
|
||||
export const ModelVendorGemini: IModelVendor<DGeminiServiceSettings, GeminiAccessSchema, LLMOptionsGemini> = {
|
||||
id: 'googleai',
|
||||
name: 'Gemini',
|
||||
rank: 11,
|
||||
displayRank: 14,
|
||||
location: 'cloud',
|
||||
instanceLimit: 1,
|
||||
hasBackendCapKey: 'hasLlmGemini',
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ interface DGroqServiceSettings {
|
||||
export const ModelVendorGroq: IModelVendor<DGroqServiceSettings, OpenAIAccessSchema, DOpenAILLMOptions> = {
|
||||
id: 'groq',
|
||||
name: 'Groq',
|
||||
rank: 18,
|
||||
displayRank: 32,
|
||||
location: 'cloud',
|
||||
instanceLimit: 1,
|
||||
hasBackendCapKey: 'hasLlmGroq',
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ interface DLMStudioServiceSettings {
|
||||
export const ModelVendorLMStudio: IModelVendor<DLMStudioServiceSettings, OpenAIAccessSchema, DOpenAILLMOptions> = {
|
||||
id: 'lmstudio',
|
||||
name: 'LM Studio',
|
||||
rank: 21,
|
||||
displayRank: 52,
|
||||
location: 'local',
|
||||
instanceLimit: 1,
|
||||
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ interface DLocalAIServiceSettings {
|
||||
export const ModelVendorLocalAI: IModelVendor<DLocalAIServiceSettings, OpenAIAccessSchema, DOpenAILLMOptions> = {
|
||||
id: 'localai',
|
||||
name: 'LocalAI',
|
||||
rank: 20,
|
||||
displayRank: 50,
|
||||
location: 'local',
|
||||
instanceLimit: 4,
|
||||
hasBackendCapKey: 'hasLlmLocalAIHost',
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ type DMistralServiceSettings = Pick<DOpenAIServiceSettings, 'oaiKey' | 'oaiHost'
|
||||
export const ModelVendorMistral: IModelVendor<DMistralServiceSettings, OpenAIAccessSchema, DOpenAILLMOptions> = {
|
||||
id: 'mistral',
|
||||
name: 'Mistral',
|
||||
rank: 15,
|
||||
displayRank: 18,
|
||||
location: 'cloud',
|
||||
instanceLimit: 1,
|
||||
hasBackendCapKey: 'hasLlmMistral',
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ interface DOllamaServiceSettings {
|
||||
export const ModelVendorOllama: IModelVendor<DOllamaServiceSettings, OllamaAccessSchema, DOpenAILLMOptions> = {
|
||||
id: 'ollama',
|
||||
name: 'Ollama',
|
||||
rank: 22,
|
||||
displayRank: 54,
|
||||
location: 'local',
|
||||
instanceLimit: 2,
|
||||
hasBackendCapKey: 'hasLlmOllama',
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ export interface DOpenAILLMOptions {
|
||||
export const ModelVendorOpenAI: IModelVendor<DOpenAIServiceSettings, OpenAIAccessSchema, DOpenAILLMOptions> = {
|
||||
id: 'openai',
|
||||
name: 'OpenAI',
|
||||
rank: 10,
|
||||
displayRank: 10,
|
||||
location: 'cloud',
|
||||
instanceLimit: 5,
|
||||
hasBackendCapKey: 'hasLlmOpenAI',
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ export interface DOpenPipeServiceSettings {
|
||||
export const ModelVendorOpenPipe: IModelVendor<DOpenPipeServiceSettings, OpenAIAccessSchema, DOpenAILLMOptions> = {
|
||||
id: 'openpipe',
|
||||
name: 'OpenPipe',
|
||||
rank: 16,
|
||||
displayRank: 42,
|
||||
location: 'cloud',
|
||||
instanceLimit: 1,
|
||||
hasBackendCapKey: 'hasLlmOpenPipe',
|
||||
|
||||
@@ -32,7 +32,7 @@ export interface DOpenRouterServiceSettings {
|
||||
export const ModelVendorOpenRouter: IModelVendor<DOpenRouterServiceSettings, OpenAIAccessSchema, DOpenAILLMOptions> = {
|
||||
id: 'openrouter',
|
||||
name: 'OpenRouter',
|
||||
rank: 12,
|
||||
displayRank: 40,
|
||||
location: 'cloud',
|
||||
instanceLimit: 1,
|
||||
hasFreeModels: true,
|
||||
|
||||
@@ -16,7 +16,7 @@ interface DPerpexityServiceSettings {
|
||||
export const ModelVendorPerplexity: IModelVendor<DPerpexityServiceSettings, OpenAIAccessSchema, DOpenAILLMOptions> = {
|
||||
id: 'perplexity',
|
||||
name: 'Perplexity',
|
||||
rank: 18,
|
||||
displayRank: 20,
|
||||
location: 'cloud',
|
||||
instanceLimit: 1,
|
||||
hasBackendCapKey: 'hasLlmPerplexity',
|
||||
|
||||
@@ -18,7 +18,7 @@ interface DTogetherAIServiceSettings {
|
||||
export const ModelVendorTogetherAI: IModelVendor<DTogetherAIServiceSettings, OpenAIAccessSchema, DOpenAILLMOptions> = {
|
||||
id: 'togetherai',
|
||||
name: 'Together AI',
|
||||
rank: 17,
|
||||
displayRank: 34,
|
||||
location: 'cloud',
|
||||
instanceLimit: 1,
|
||||
hasBackendCapKey: 'hasLlmTogetherAI',
|
||||
|
||||
+4
-3
@@ -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<ModelVendorId, IModelVendor> = {
|
||||
anthropic: ModelVendorAnthropic,
|
||||
azure: ModelVendorAzure,
|
||||
deepseek: ModelVendorDeepseek,
|
||||
googleai: ModelVendorGemini,
|
||||
groq: ModelVendorGroq,
|
||||
lmstudio: ModelVendorLMStudio,
|
||||
@@ -47,13 +49,12 @@ const MODEL_VENDOR_REGISTRY: Record<ModelVendorId, IModelVendor> = {
|
||||
openrouter: ModelVendorOpenRouter,
|
||||
perplexity: ModelVendorPerplexity,
|
||||
togetherai: ModelVendorTogetherAI,
|
||||
deepseek: ModelVendorDeepseek,
|
||||
} as Record<string, IModelVendor>;
|
||||
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user