diff --git a/frontend/src/app/settings/page.tsx b/frontend/src/app/settings/page.tsx index eea555c2..f49ff393 100644 --- a/frontend/src/app/settings/page.tsx +++ b/frontend/src/app/settings/page.tsx @@ -4,11 +4,13 @@ import { Loader2, PlugZap, RefreshCw } from "lucide-react"; import { useSearchParams } from "next/navigation"; import { Suspense, useCallback, useEffect, useState } from "react"; import { useUpdateFlowSettingMutation } from "@/app/api/mutations/useUpdateFlowSettingMutation"; +import { + useGetIBMModelsQuery, + useGetOllamaModelsQuery, + useGetOpenAIModelsQuery, +} from "@/app/api/queries/useGetModelsQuery"; import { useGetSettingsQuery } from "@/app/api/queries/useGetSettingsQuery"; -import { useGetOpenAIModelsQuery, useGetOllamaModelsQuery, useGetIBMModelsQuery } from "@/app/api/queries/useGetModelsQuery"; import { ConfirmationDialog } from "@/components/confirmation-dialog"; -import { ModelSelectItems } from "./helpers/model-select-item"; -import { getFallbackModels, type ModelProvider } from "./helpers/model-helpers"; import { ProtectedRoute } from "@/components/protected-route"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; @@ -33,6 +35,8 @@ import { Textarea } from "@/components/ui/textarea"; import { useAuth } from "@/contexts/auth-context"; import { useTask } from "@/contexts/task-context"; import { useDebounce } from "@/lib/debounce"; +import { getFallbackModels, type ModelProvider } from "./helpers/model-helpers"; +import { ModelSelectItems } from "./helpers/model-select-item"; const MAX_SYSTEM_PROMPT_CHARS = 2000; @@ -105,42 +109,46 @@ function KnowledgeSourcesPage() { // Fetch settings using React Query const { data: settings = {} } = useGetSettingsQuery({ - enabled: isAuthenticated, + enabled: isAuthenticated || isNoAuthMode, }); // Get the current provider from settings - const currentProvider = (settings.provider?.model_provider || 'openai') as ModelProvider; + const currentProvider = (settings.provider?.model_provider || + "openai") as ModelProvider; // Fetch available models based on provider const { data: openaiModelsData } = useGetOpenAIModelsQuery( undefined, // Let backend use stored API key from configuration { - enabled: isAuthenticated && currentProvider === 'openai', - } + enabled: + (isAuthenticated || isNoAuthMode) && currentProvider === "openai", + }, ); const { data: ollamaModelsData } = useGetOllamaModelsQuery( undefined, // No params for now, could be extended later { - enabled: isAuthenticated && currentProvider === 'ollama', - } + enabled: + (isAuthenticated || isNoAuthMode) && currentProvider === "ollama", + }, ); const { data: ibmModelsData } = useGetIBMModelsQuery( undefined, // No params for now, could be extended later { - enabled: isAuthenticated && currentProvider === 'ibm', - } + enabled: (isAuthenticated || isNoAuthMode) && currentProvider === "ibm", + }, ); // Select the appropriate models data based on provider - const modelsData = currentProvider === 'openai' - ? openaiModelsData - : currentProvider === 'ollama' - ? ollamaModelsData - : currentProvider === 'ibm' - ? ibmModelsData - : openaiModelsData; // fallback to openai + const modelsData = + currentProvider === "openai" + ? openaiModelsData + : currentProvider === "ollama" + ? ollamaModelsData + : currentProvider === "ibm" + ? ibmModelsData + : openaiModelsData; // fallback to openai // Mutations const updateFlowSettingMutation = useUpdateFlowSettingMutation({ @@ -152,7 +160,6 @@ function KnowledgeSourcesPage() { }, }); - // Debounced update function const debouncedUpdate = useDebounce( (variables: Parameters[0]) => { @@ -224,7 +231,6 @@ function KnowledgeSourcesPage() { debouncedUpdate({ doclingPresets: mode }); }; - // Helper function to get connector icon const getConnectorIcon = useCallback((iconName: string) => { const iconMap: { [key: string]: React.ReactElement } = { @@ -613,7 +619,11 @@ function KnowledgeSourcesPage() { Language Model m.default)?.value || "text-embedding-ada-002" + settings.knowledge?.embedding_model || + modelsData?.embedding_models?.find((m) => m.default)?.value || + "text-embedding-ada-002" } onValueChange={handleEmbeddingModelChange} > @@ -746,7 +771,9 @@ function KnowledgeSourcesPage() { @@ -807,7 +834,10 @@ function KnowledgeSourcesPage() {
-