From 4a4eac6f25784247eb98f35f48438e37bb42c431 Mon Sep 17 00:00:00 2001 From: perf3ct Date: Mon, 17 Mar 2025 20:07:53 +0000 Subject: [PATCH] Allow users to specify OpenAI embedding and chat models --- .../type_widgets/options/ai_settings.ts | 302 +++++++++++++----- src/public/translations/en/translation.json | 7 + src/routes/api/openai.ts | 75 +++++ src/routes/routes.ts | 4 + 4 files changed, 309 insertions(+), 79 deletions(-) create mode 100644 src/routes/api/openai.ts diff --git a/src/public/app/widgets/type_widgets/options/ai_settings.ts b/src/public/app/widgets/type_widgets/options/ai_settings.ts index 8622bbcef..3dde7e084 100644 --- a/src/public/app/widgets/type_widgets/options/ai_settings.ts +++ b/src/public/app/widgets/type_widgets/options/ai_settings.ts @@ -46,6 +46,20 @@ interface FailedEmbeddingNotes { }>; } +interface OpenAIModelResponse { + success: boolean; + chatModels: Array<{ + id: string; + name: string; + type: string; + }>; + embeddingModels: Array<{ + id: string; + name: string; + type: string; + }>; +} + export default class AiSettingsWidget extends OptionsWidget { private statsRefreshInterval: NodeJS.Timeout | null = null; private indexRebuildRefreshInterval: NodeJS.Timeout | null = null; @@ -141,92 +155,116 @@ export default class AiSettingsWidget extends OptionsWidget {