You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.9 KiB
49 lines
1.9 KiB
import type { LLMModelType, LLMProvider } from "@/types";
|
|
import { getProviderDisplayName, isPopiProviderMode } from "@/lib/providerMode";
|
|
|
|
export interface LLMModelOption {
|
|
value: LLMModelType;
|
|
label: string;
|
|
}
|
|
|
|
export const DEFAULT_NEWAPIWG_LLM_MODEL_ID: LLMModelType = "doubao-seed-2-0-lite-260428";
|
|
export const DEFAULT_POPISERVER_LLM_MODEL_ID: LLMModelType = "kimi-k2.6";
|
|
|
|
const ALL_LLM_PROVIDERS: { value: LLMProvider; label: string }[] = [
|
|
{ value: "popiserver", label: getProviderDisplayName("popiserver") },
|
|
{ value: "newapiwg", label: getProviderDisplayName("newapiwg") },
|
|
{ value: "google", label: "Google" },
|
|
{ value: "openai", label: "OpenAI" },
|
|
{ value: "anthropic", label: "Anthropic" },
|
|
];
|
|
|
|
export const LLM_PROVIDERS: { value: LLMProvider; label: string }[] =
|
|
isPopiProviderMode()
|
|
? ALL_LLM_PROVIDERS.filter((provider) => provider.value === "popiserver")
|
|
: ALL_LLM_PROVIDERS;
|
|
|
|
export const LLM_MODELS: Record<LLMProvider, LLMModelOption[]> = {
|
|
popiserver: [
|
|
{ value: DEFAULT_POPISERVER_LLM_MODEL_ID, label: "Kimi K2.6" },
|
|
],
|
|
newapiwg: [
|
|
{ value: "doubao-seed-2-0-lite-260428", label: "Doubao Seed 2.0 Lite" },
|
|
{ value: "doubao-seed-2-0-pro-260215", label: "Doubao Seed 2.0 Pro" },
|
|
// { value: "gpt-4.1-mini", label: "GPT-4.1 Mini" },
|
|
],
|
|
google: [
|
|
{ value: "gemini-3-flash-preview", label: "Gemini 3 Flash" },
|
|
{ value: "gemini-2.5-flash", label: "Gemini 2.5 Flash" },
|
|
{ value: "gemini-3-pro-preview", label: "Gemini 3.0 Pro" },
|
|
{ value: "gemini-3.1-pro-preview", label: "Gemini 3.1 Pro" },
|
|
],
|
|
openai: [
|
|
{ value: "gpt-4.1-mini", label: "GPT-4.1 Mini" },
|
|
{ value: "gpt-4.1-nano", label: "GPT-4.1 Nano" },
|
|
],
|
|
anthropic: [
|
|
{ value: "claude-sonnet-4.5", label: "Claude Sonnet 4.5" },
|
|
{ value: "claude-haiku-4.5", label: "Claude Haiku 4.5" },
|
|
{ value: "claude-opus-4.6", label: "Claude Opus 4.6" },
|
|
],
|
|
};
|
|
|