Anon
commited on
Commit
·
9a2fc92
1
Parent(s):
a6d81b1
Added support for xAI Grok Beta
Browse files- app/lib/.server/llm/api-key.ts +2 -0
- app/lib/.server/llm/model.ts +11 -0
- app/utils/constants.ts +2 -0
app/lib/.server/llm/api-key.ts
CHANGED
|
@@ -25,6 +25,8 @@ export function getAPIKey(cloudflareEnv: Env, provider: string) {
|
|
| 25 |
return env.MISTRAL_API_KEY || cloudflareEnv.MISTRAL_API_KEY;
|
| 26 |
case "OpenAILike":
|
| 27 |
return env.OPENAI_LIKE_API_KEY || cloudflareEnv.OPENAI_LIKE_API_KEY;
|
|
|
|
|
|
|
| 28 |
default:
|
| 29 |
return "";
|
| 30 |
}
|
|
|
|
| 25 |
return env.MISTRAL_API_KEY || cloudflareEnv.MISTRAL_API_KEY;
|
| 26 |
case "OpenAILike":
|
| 27 |
return env.OPENAI_LIKE_API_KEY || cloudflareEnv.OPENAI_LIKE_API_KEY;
|
| 28 |
+
case "xAI":
|
| 29 |
+
return env.XAI_API_KEY || cloudflareEnv.XAI_API_KEY;
|
| 30 |
default:
|
| 31 |
return "";
|
| 32 |
}
|
app/lib/.server/llm/model.ts
CHANGED
|
@@ -80,6 +80,15 @@ export function getOpenRouterModel(apiKey: string, model: string) {
|
|
| 80 |
return openRouter.chat(model);
|
| 81 |
}
|
| 82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
export function getModel(provider: string, model: string, env: Env) {
|
| 84 |
const apiKey = getAPIKey(env, provider);
|
| 85 |
const baseURL = getBaseURL(env, provider);
|
|
@@ -101,6 +110,8 @@ export function getModel(provider: string, model: string, env: Env) {
|
|
| 101 |
return getDeepseekModel(apiKey, model)
|
| 102 |
case 'Mistral':
|
| 103 |
return getMistralModel(apiKey, model);
|
|
|
|
|
|
|
| 104 |
default:
|
| 105 |
return getOllamaModel(baseURL, model);
|
| 106 |
}
|
|
|
|
| 80 |
return openRouter.chat(model);
|
| 81 |
}
|
| 82 |
|
| 83 |
+
export function getXAIModel(apiKey: string, model: string) {
|
| 84 |
+
const openai = createOpenAI({
|
| 85 |
+
baseURL: 'https://api.x.ai/v1',
|
| 86 |
+
apiKey,
|
| 87 |
+
});
|
| 88 |
+
|
| 89 |
+
return openai(model);
|
| 90 |
+
}
|
| 91 |
+
|
| 92 |
export function getModel(provider: string, model: string, env: Env) {
|
| 93 |
const apiKey = getAPIKey(env, provider);
|
| 94 |
const baseURL = getBaseURL(env, provider);
|
|
|
|
| 110 |
return getDeepseekModel(apiKey, model)
|
| 111 |
case 'Mistral':
|
| 112 |
return getMistralModel(apiKey, model);
|
| 113 |
+
case 'xAI':
|
| 114 |
+
return getXAIModel(apiKey, model);
|
| 115 |
default:
|
| 116 |
return getOllamaModel(baseURL, model);
|
| 117 |
}
|
app/utils/constants.ts
CHANGED
|
@@ -15,6 +15,7 @@ const staticModels: ModelInfo[] = [
|
|
| 15 |
{ name: 'deepseek/deepseek-coder', label: 'Deepseek-Coder V2 236B (OpenRouter)', provider: 'OpenRouter' },
|
| 16 |
{ name: 'google/gemini-flash-1.5', label: 'Google Gemini Flash 1.5 (OpenRouter)', provider: 'OpenRouter' },
|
| 17 |
{ name: 'google/gemini-pro-1.5', label: 'Google Gemini Pro 1.5 (OpenRouter)', provider: 'OpenRouter' },
|
|
|
|
| 18 |
{ name: 'mistralai/mistral-nemo', label: 'OpenRouter Mistral Nemo (OpenRouter)', provider: 'OpenRouter' },
|
| 19 |
{ name: 'qwen/qwen-110b-chat', label: 'OpenRouter Qwen 110b Chat (OpenRouter)', provider: 'OpenRouter' },
|
| 20 |
{ name: 'cohere/command', label: 'Cohere Command (OpenRouter)', provider: 'OpenRouter' },
|
|
@@ -32,6 +33,7 @@ const staticModels: ModelInfo[] = [
|
|
| 32 |
{ name: 'gpt-4-turbo', label: 'GPT-4 Turbo', provider: 'OpenAI' },
|
| 33 |
{ name: 'gpt-4', label: 'GPT-4', provider: 'OpenAI' },
|
| 34 |
{ name: 'gpt-3.5-turbo', label: 'GPT-3.5 Turbo', provider: 'OpenAI' },
|
|
|
|
| 35 |
{ name: 'deepseek-coder', label: 'Deepseek-Coder', provider: 'Deepseek'},
|
| 36 |
{ name: 'deepseek-chat', label: 'Deepseek-Chat', provider: 'Deepseek'},
|
| 37 |
{ name: 'open-mistral-7b', label: 'Mistral 7B', provider: 'Mistral' },
|
|
|
|
| 15 |
{ name: 'deepseek/deepseek-coder', label: 'Deepseek-Coder V2 236B (OpenRouter)', provider: 'OpenRouter' },
|
| 16 |
{ name: 'google/gemini-flash-1.5', label: 'Google Gemini Flash 1.5 (OpenRouter)', provider: 'OpenRouter' },
|
| 17 |
{ name: 'google/gemini-pro-1.5', label: 'Google Gemini Pro 1.5 (OpenRouter)', provider: 'OpenRouter' },
|
| 18 |
+
{ name: 'x-ai/grok-beta', label: "xAI Grok Beta (OpenRouter)", provider: 'OpenRouter' },
|
| 19 |
{ name: 'mistralai/mistral-nemo', label: 'OpenRouter Mistral Nemo (OpenRouter)', provider: 'OpenRouter' },
|
| 20 |
{ name: 'qwen/qwen-110b-chat', label: 'OpenRouter Qwen 110b Chat (OpenRouter)', provider: 'OpenRouter' },
|
| 21 |
{ name: 'cohere/command', label: 'Cohere Command (OpenRouter)', provider: 'OpenRouter' },
|
|
|
|
| 33 |
{ name: 'gpt-4-turbo', label: 'GPT-4 Turbo', provider: 'OpenAI' },
|
| 34 |
{ name: 'gpt-4', label: 'GPT-4', provider: 'OpenAI' },
|
| 35 |
{ name: 'gpt-3.5-turbo', label: 'GPT-3.5 Turbo', provider: 'OpenAI' },
|
| 36 |
+
{ name: 'grok-beta', label: "xAI Grok Beta", provider: 'xAI' },
|
| 37 |
{ name: 'deepseek-coder', label: 'Deepseek-Coder', provider: 'Deepseek'},
|
| 38 |
{ name: 'deepseek-chat', label: 'Deepseek-Chat', provider: 'Deepseek'},
|
| 39 |
{ name: 'open-mistral-7b', label: 'Mistral 7B', provider: 'Mistral' },
|