diff --git a/src/khoj/database/adapters/__init__.py b/src/khoj/database/adapters/__init__.py index df693a70..48f1a6bd 100644 --- a/src/khoj/database/adapters/__init__.py +++ b/src/khoj/database/adapters/__init__.py @@ -761,6 +761,10 @@ class ConversationAdapters: def get_all_conversation_configs(): return ChatModelOptions.objects.all() + @staticmethod + async def aget_all_conversation_configs(): + return await sync_to_async(list)(ChatModelOptions.objects.all()) + @staticmethod def get_vision_enabled_config(): conversation_configurations = ConversationAdapters.get_all_conversation_configs() @@ -769,6 +773,14 @@ class ConversationAdapters: return config return None + @staticmethod + async def aget_vision_enabled_config(): + conversation_configurations = await ConversationAdapters.aget_all_conversation_configs() + for config in conversation_configurations: + if config.vision_enabled: + return config + return None + @staticmethod def get_openai_conversation_config(): return OpenAIProcessorConversationConfig.objects.filter().first() diff --git a/src/khoj/routers/helpers.py b/src/khoj/routers/helpers.py index 8dd84873..b94db6cd 100644 --- a/src/khoj/routers/helpers.py +++ b/src/khoj/routers/helpers.py @@ -595,7 +595,7 @@ async def send_message_to_model_wrapper( vision_available = conversation_config.vision_enabled if not vision_available and uploaded_image_url: - vision_enabled_config = ConversationAdapters.get_vision_enabled_config() + vision_enabled_config = await ConversationAdapters.aget_vision_enabled_config() if vision_enabled_config: conversation_config = vision_enabled_config vision_available = True