fix provider call

This commit is contained in:
Mike Fortman 2025-09-22 12:29:23 -05:00
parent dfd60574d0
commit 033a40600c
3 changed files with 18 additions and 5 deletions

View file

@ -54,7 +54,7 @@ export const useGetOpenAIModelsQuery = (
queryKey: ["models", "openai", params], queryKey: ["models", "openai", params],
queryFn: getOpenAIModels, queryFn: getOpenAIModels,
retry: 2, retry: 2,
enabled: !!params?.apiKey, // Only run if API key is provided enabled: options?.enabled !== false, // Allow enabling/disabling from options
staleTime: 0, // Always fetch fresh data staleTime: 0, // Always fetch fresh data
gcTime: 0, // Don't cache results gcTime: 0, // Don't cache results
...options, ...options,

View file

@ -112,9 +112,12 @@ function KnowledgeSourcesPage() {
const currentProvider = (settings.provider?.model_provider || 'openai') as ModelProvider; const currentProvider = (settings.provider?.model_provider || 'openai') as ModelProvider;
// Fetch available models based on provider // Fetch available models based on provider
const { data: openaiModelsData } = useGetOpenAIModelsQuery({ const { data: openaiModelsData } = useGetOpenAIModelsQuery(
enabled: isAuthenticated && currentProvider === 'openai', undefined, // Let backend use stored API key from configuration
}); {
enabled: isAuthenticated && currentProvider === 'openai',
}
);
const { data: ollamaModelsData } = useGetOllamaModelsQuery( const { data: ollamaModelsData } = useGetOllamaModelsQuery(
undefined, // No params for now, could be extended later undefined, // No params for now, could be extended later

View file

@ -1,5 +1,6 @@
from starlette.responses import JSONResponse from starlette.responses import JSONResponse
from utils.logging_config import get_logger from utils.logging_config import get_logger
from config.settings import get_openrag_config
logger = get_logger(__name__) logger = get_logger(__name__)
@ -11,9 +12,18 @@ async def get_openai_models(request, models_service, session_manager):
query_params = dict(request.query_params) query_params = dict(request.query_params)
api_key = query_params.get("api_key") api_key = query_params.get("api_key")
# If no API key provided, try to get it from stored configuration
if not api_key:
try:
config = get_openrag_config()
api_key = config.provider.api_key
logger.info(f"Retrieved API key from config: {'yes' if api_key else 'no'}")
except Exception as e:
logger.error(f"Failed to get config: {e}")
if not api_key: if not api_key:
return JSONResponse( return JSONResponse(
{"error": "OpenAI API key is required as query parameter"}, {"error": "OpenAI API key is required either as query parameter or in configuration"},
status_code=400 status_code=400
) )