From 76ed97d066802aa4c23fe28a29512ce3b2112817 Mon Sep 17 00:00:00 2001 From: Debanjum Date: Tue, 15 Jul 2025 14:12:37 -0700 Subject: [PATCH] Set friendly name for auto loaded chat models during first run The chat model friendly name field was introduced in a8c47a70f. But we weren't setting the friendly name for ollama models, which get automatically loaded on first run. This broke setting chat model options, server admin settings and creating new chat pages (at least) as they display the chat model's friendly name. This change ensures the friendly name for auto loaded chat models is set to resolve these issues. We also add a null ref check to web app model selector as an additional safeguard to prevent new chat page crash due to missing friendly name going forward. Resolves #1208 --- src/interface/web/app/common/modelSelector.tsx | 2 +- src/khoj/utils/initialization.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/interface/web/app/common/modelSelector.tsx b/src/interface/web/app/common/modelSelector.tsx index d234d5b5..62485dd8 100644 --- a/src/interface/web/app/common/modelSelector.tsx +++ b/src/interface/web/app/common/modelSelector.tsx @@ -92,7 +92,7 @@ export function ModelSelector({ ...props }: ModelSelectorProps) { disabled={props.disabled ?? false} >

- {selectedModel ? selectedModel.name.substring(0, 20) : "Select a model..."} + {selectedModel ? selectedModel.name?.substring(0, 20) : "Select a model..."}

diff --git a/src/khoj/utils/initialization.py b/src/khoj/utils/initialization.py index 903c1278..9ed1bdff 100644 --- a/src/khoj/utils/initialization.py +++ b/src/khoj/utils/initialization.py @@ -235,6 +235,7 @@ def initialization(interactive: bool = True): chat_model_options = { "name": chat_model, + "friendly_name": chat_model, "model_type": model_type, "max_prompt_size": default_max_tokens, "vision_enabled": vision_enabled, @@ -275,6 +276,7 @@ def initialization(interactive: bool = True): if not existing_models.filter(name=model_name).exists(): ChatModel.objects.create( name=model_name, + friendly_name=model_name, model_type=ChatModel.ModelType.OPENAI, max_prompt_size=model_to_prompt_size.get(model_name), vision_enabled=model_name in default_openai_chat_models,