mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-08 05:39:13 +00:00
Simplify migration scripts management. Make them use static version
- Only make them update config when it's run conditions are satisfies - Use static schema version to simplify reasoning about run conditions
This commit is contained in:
@@ -13,13 +13,13 @@ def migrate_offline_model(args):
|
|||||||
|
|
||||||
if version_no is None or version.parse(version_no) < version.parse("0.10.1"):
|
if version_no is None or version.parse(version_no) < version.parse("0.10.1"):
|
||||||
logger.info(f"Migrating offline model used for version {version_no} to latest version for {args.version_no}")
|
logger.info(f"Migrating offline model used for version {version_no} to latest version for {args.version_no}")
|
||||||
|
raw_config["version"] = "0.10.1"
|
||||||
|
|
||||||
# If the user has downloaded the offline model, remove it from the cache.
|
# If the user has downloaded the offline model, remove it from the cache.
|
||||||
offline_model_path = os.path.expanduser("~/.cache/gpt4all/llama-2-7b-chat.ggmlv3.q4_K_S.bin")
|
offline_model_path = os.path.expanduser("~/.cache/gpt4all/llama-2-7b-chat.ggmlv3.q4_K_S.bin")
|
||||||
if os.path.exists(offline_model_path):
|
if os.path.exists(offline_model_path):
|
||||||
os.remove(offline_model_path)
|
os.remove(offline_model_path)
|
||||||
|
|
||||||
raw_config["version"] = args.version_no
|
save_config_to_file(raw_config, args.config_file)
|
||||||
save_config_to_file(raw_config, args.config_file)
|
|
||||||
|
|
||||||
return args
|
return args
|
||||||
|
|||||||
@@ -36,8 +36,6 @@ from khoj.utils.yaml import load_config_from_file, save_config_to_file
|
|||||||
def migrate_processor_conversation_schema(args):
|
def migrate_processor_conversation_schema(args):
|
||||||
raw_config = load_config_from_file(args.config_file)
|
raw_config = load_config_from_file(args.config_file)
|
||||||
|
|
||||||
raw_config["version"] = args.version_no
|
|
||||||
|
|
||||||
if "processor" not in raw_config:
|
if "processor" not in raw_config:
|
||||||
return args
|
return args
|
||||||
if raw_config["processor"] is None:
|
if raw_config["processor"] is None:
|
||||||
@@ -45,22 +43,24 @@ def migrate_processor_conversation_schema(args):
|
|||||||
if "conversation" not in raw_config["processor"]:
|
if "conversation" not in raw_config["processor"]:
|
||||||
return args
|
return args
|
||||||
|
|
||||||
# Add enable_offline_chat to khoj config schema
|
|
||||||
if "enable-offline-chat" not in raw_config["processor"]["conversation"]:
|
|
||||||
raw_config["processor"]["conversation"]["enable-offline-chat"] = False
|
|
||||||
save_config_to_file(raw_config, args.config_file)
|
|
||||||
|
|
||||||
current_openai_api_key = raw_config["processor"]["conversation"].get("openai-api-key", None)
|
current_openai_api_key = raw_config["processor"]["conversation"].get("openai-api-key", None)
|
||||||
current_chat_model = raw_config["processor"]["conversation"].get("chat-model", None)
|
current_chat_model = raw_config["processor"]["conversation"].get("chat-model", None)
|
||||||
if current_openai_api_key is None and current_chat_model is None:
|
if current_openai_api_key is None and current_chat_model is None:
|
||||||
return args
|
return args
|
||||||
|
|
||||||
conversation_logfile = raw_config["processor"]["conversation"].get("conversation-logfile", None)
|
raw_config["version"] = "0.10.0"
|
||||||
|
|
||||||
|
# Add enable_offline_chat to khoj config schema
|
||||||
|
if "enable-offline-chat" not in raw_config["processor"]["conversation"]:
|
||||||
|
raw_config["processor"]["conversation"]["enable-offline-chat"] = False
|
||||||
|
|
||||||
|
# Update conversation processor schema
|
||||||
|
conversation_logfile = raw_config["processor"]["conversation"].get("conversation-logfile", None)
|
||||||
raw_config["processor"]["conversation"] = {
|
raw_config["processor"]["conversation"] = {
|
||||||
"openai": {"chat-model": current_chat_model, "api-key": current_openai_api_key},
|
"openai": {"chat-model": current_chat_model, "api-key": current_openai_api_key},
|
||||||
"conversation-logfile": conversation_logfile,
|
"conversation-logfile": conversation_logfile,
|
||||||
"enable-offline-chat": False,
|
"enable-offline-chat": False,
|
||||||
}
|
}
|
||||||
|
|
||||||
save_config_to_file(raw_config, args.config_file)
|
save_config_to_file(raw_config, args.config_file)
|
||||||
return args
|
return args
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ def migrate_config_to_version(args):
|
|||||||
|
|
||||||
# Add version to khoj config schema
|
# Add version to khoj config schema
|
||||||
if "version" not in raw_config:
|
if "version" not in raw_config:
|
||||||
raw_config["version"] = args.version_no
|
raw_config["version"] = "0.9.0"
|
||||||
save_config_to_file(raw_config, args.config_file)
|
save_config_to_file(raw_config, args.config_file)
|
||||||
|
|
||||||
# regenerate khoj index on first start of this version
|
# regenerate khoj index on first start of this version
|
||||||
|
|||||||
Reference in New Issue
Block a user