diff --git a/app/lib/.server/llm/api-key.ts b/app/lib/.server/llm/api-key.ts index 17eeeef2d..bbf5e5b87 100644 --- a/app/lib/.server/llm/api-key.ts +++ b/app/lib/.server/llm/api-key.ts @@ -19,6 +19,8 @@ export function getAPIKey(cloudflareEnv: Env, provider: string) { return env.GROQ_API_KEY || cloudflareEnv.GROQ_API_KEY; case 'OpenRouter': return env.OPEN_ROUTER_API_KEY || cloudflareEnv.OPEN_ROUTER_API_KEY; + case 'Deepseek': + return env.DEEPSEEK_API_KEY || cloudflareEnv.DEEPSEEK_API_KEY case 'Mistral': return env.MISTRAL_API_KEY || cloudflareEnv.MISTRAL_API_KEY; default: diff --git a/app/lib/.server/llm/model.ts b/app/lib/.server/llm/model.ts index e07fdc449..3cf80487b 100644 --- a/app/lib/.server/llm/model.ts +++ b/app/lib/.server/llm/model.ts @@ -50,6 +50,14 @@ export function getGroqModel(apiKey: string, model: string) { return openai(model); } +export function getDeepseekModel(apiKey: string, model: string){ + const openai = createOpenAI({ + baseURL: 'https://api.deepseek.com/beta', + apiKey, + }); + + return openai(model); +} export function getOllamaModel(model: string) { return ollama(model); } @@ -77,6 +85,8 @@ export function getModel(provider: string, model: string, env: Env) { return getOpenRouterModel(apiKey, model); case 'Google': return getGoogleModel(apiKey, model) + case 'Deepseek': + return getDeepseekModel(apiKey, model) case 'Mistral': return getMistralModel(apiKey, model); default: diff --git a/app/utils/constants.ts b/app/utils/constants.ts index 4132cda92..b4227c0bf 100644 --- a/app/utils/constants.ts +++ b/app/utils/constants.ts @@ -32,6 +32,8 @@ const staticModels: ModelInfo[] = [ { name: 'gpt-4-turbo', label: 'GPT-4 Turbo', provider: 'OpenAI' }, { name: 'gpt-4', label: 'GPT-4', provider: 'OpenAI' }, { name: 'gpt-3.5-turbo', label: 'GPT-3.5 Turbo', provider: 'OpenAI' }, + { name: 'deepseek-coder', label: 'Deepseek-Coder', provider: 'Deepseek'}, + { name: 'deepseek-chat', label: 'Deepseek-Chat', provider: 'Deepseek'}, { name: 'open-mistral-7b', label: 'Mistral 7B', provider: 'Mistral' }, { name: 'open-mixtral-8x7b', label: 'Mistral 8x7B', provider: 'Mistral' }, { name: 'open-mixtral-8x22b', label: 'Mistral 8x22B', provider: 'Mistral' }, diff --git a/worker-configuration.d.ts b/worker-configuration.d.ts index f3259893e..2f7f64234 100644 --- a/worker-configuration.d.ts +++ b/worker-configuration.d.ts @@ -4,4 +4,5 @@ interface Env { GROQ_API_KEY: string; OPEN_ROUTER_API_KEY: string; OLLAMA_API_BASE_URL: string; + DEEPSEEK_API_KEY: string; }