From dac93e06ad93271874927e1a8075992a92b7db3f Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Wed, 15 Jan 2025 13:36:09 +0700 Subject: [PATCH] chore: add chat completion field form add remote engine --- .../Settings/Engines/ModalAddRemoteEngine.tsx | 27 +++++++++++++++++-- .../Settings/Engines/RemoteEngineSettings.tsx | 22 +++++++++++++-- web/utils/modelEngine.ts | 23 ++++++++++++++++ 3 files changed, 68 insertions(+), 4 deletions(-) diff --git a/web/screens/Settings/Engines/ModalAddRemoteEngine.tsx b/web/screens/Settings/Engines/ModalAddRemoteEngine.tsx index 7ea4877cc8..a857c5c69b 100644 --- a/web/screens/Settings/Engines/ModalAddRemoteEngine.tsx +++ b/web/screens/Settings/Engines/ModalAddRemoteEngine.tsx @@ -11,8 +11,15 @@ import { addRemoteEngine, useGetEngines } from '@/hooks/useEngineManagement' const engineSchema = z.object({ engineName: z.string().min(1, 'Engine name is required'), - modelListUrl: z.string().url('Enter a valid Model List URL'), + modelListUrl: z + .string() + .url('Enter a valid Model List URL') + .or(z.literal('')), headerTemplate: z.string().optional(), + chatCmpletionsUrl: z + .string() + .url('Enter a valid Model List URL') + .or(z.literal('')), apiKey: z.string().optional(), requestFormat: z.string().optional(), responseFormat: z.string().optional(), @@ -29,7 +36,7 @@ const ModalAddRemoteEngine = () => { resolver: zodResolver(engineSchema), defaultValues: { engineName: '', - apiUrl: '', + chatCmpletionsUrl: '', modelListUrl: '', headerTemplate: '', apiKey: '', @@ -49,6 +56,7 @@ const ModalAddRemoteEngine = () => { transform_req: { chat_completions: { template: data.requestFormat, + url: data.chatCmpletionsUrl, }, }, transform_resp: { @@ -112,6 +120,21 @@ const ModalAddRemoteEngine = () => { )} +
+ + + {errors.chatCmpletionsUrl && ( +

+ {errors.chatCmpletionsUrl.message} +

+ )} +
+
@@ -221,7 +235,11 @@ const RemoteEngineSettings = ({ > Advance Settings - + {isActiveAdvanceSetting ? ( + + ) : ( + + )}

diff --git a/web/utils/modelEngine.ts b/web/utils/modelEngine.ts index 3648fc8c1b..8e92d6ca8d 100644 --- a/web/utils/modelEngine.ts +++ b/web/utils/modelEngine.ts @@ -33,6 +33,29 @@ export const getLogoEngine = (engine: InferenceEngine) => { } } +export const getAPIKeyInstructionURL = (engine: InferenceEngine) => { + switch (engine) { + case InferenceEngine.anthropic: + return 'https://console.anthropic.com/settings/keys' + case InferenceEngine.cohere: + return 'https://dashboard.cohere.com/api-keys' + case InferenceEngine.groq: + return 'https://console.groq.com/keys' + case InferenceEngine.martian: + return 'https://withmartian.com/dashboard' + case InferenceEngine.mistral: + return 'https://console.mistral.ai/api-keys' + case InferenceEngine.nvidia: + return 'https://org.ngc.nvidia.com/setup/personal-keys' + case InferenceEngine.openai: + return 'https://platform.openai.com/account/api-keys' + case InferenceEngine.openrouter: + return 'https://openrouter.ai/keys' + default: + return undefined + } +} + /** * Check whether the engine is conform to LocalOAIEngine * @param engine