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],
queryFn: getOpenAIModels,
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
gcTime: 0, // Don't cache results
...options,

View file

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

View file

@ -1,5 +1,6 @@
from starlette.responses import JSONResponse
from utils.logging_config import get_logger
from config.settings import get_openrag_config
logger = get_logger(__name__)
@ -11,9 +12,18 @@ async def get_openai_models(request, models_service, session_manager):
query_params = dict(request.query_params)
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:
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
)