auto-git:
[add] dist/assets/index-g7N0HjkK.js [change] backend/app_settings.py [change] dist/index.html [unlink] dist/assets/index-BOZc6wlT.js
This commit is contained in:
@@ -11,11 +11,17 @@ APP_NAME = "Heimgeist"
|
|||||||
DEFAULT_BACKEND_API_URL = "http://127.0.0.1:8000"
|
DEFAULT_BACKEND_API_URL = "http://127.0.0.1:8000"
|
||||||
DEFAULT_OLLAMA_API_URL = "http://127.0.0.1:11434"
|
DEFAULT_OLLAMA_API_URL = "http://127.0.0.1:11434"
|
||||||
DEFAULT_EMBED_MODEL = "nomic-embed-text:latest"
|
DEFAULT_EMBED_MODEL = "nomic-embed-text:latest"
|
||||||
|
DEFAULT_RERANK_MODEL = DEFAULT_EMBED_MODEL
|
||||||
|
DEFAULT_TRANSCRIPTION_MODEL = "base"
|
||||||
BGE_EMBED_MODEL = "bge-m3:latest"
|
BGE_EMBED_MODEL = "bge-m3:latest"
|
||||||
DEFAULT_SETTINGS: Dict[str, Any] = {
|
DEFAULT_SETTINGS: Dict[str, Any] = {
|
||||||
"backendApiUrl": DEFAULT_BACKEND_API_URL,
|
"backendApiUrl": DEFAULT_BACKEND_API_URL,
|
||||||
"ollamaApiUrl": DEFAULT_OLLAMA_API_URL,
|
"ollamaApiUrl": DEFAULT_OLLAMA_API_URL,
|
||||||
|
"chatModel": "llama3",
|
||||||
|
"visionModel": "",
|
||||||
"embedModel": DEFAULT_EMBED_MODEL,
|
"embedModel": DEFAULT_EMBED_MODEL,
|
||||||
|
"rerankModel": DEFAULT_RERANK_MODEL,
|
||||||
|
"transcriptionModel": DEFAULT_TRANSCRIPTION_MODEL,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -63,10 +69,31 @@ def normalize_embed_model(value: Any) -> str:
|
|||||||
if not isinstance(value, str):
|
if not isinstance(value, str):
|
||||||
return DEFAULT_EMBED_MODEL
|
return DEFAULT_EMBED_MODEL
|
||||||
|
|
||||||
trimmed = value.strip().lower()
|
trimmed = value.strip()
|
||||||
if trimmed in {"bge", "bge-m3", BGE_EMBED_MODEL}:
|
if not trimmed:
|
||||||
|
return DEFAULT_EMBED_MODEL
|
||||||
|
|
||||||
|
lowered = trimmed.lower()
|
||||||
|
if lowered in {"bge", "bge-m3", BGE_EMBED_MODEL}:
|
||||||
return BGE_EMBED_MODEL
|
return BGE_EMBED_MODEL
|
||||||
return DEFAULT_EMBED_MODEL
|
if lowered in {"nomic", "nomic-embed-text", DEFAULT_EMBED_MODEL}:
|
||||||
|
return DEFAULT_EMBED_MODEL
|
||||||
|
return trimmed
|
||||||
|
|
||||||
|
|
||||||
|
def normalize_rerank_model(value: Any) -> str:
|
||||||
|
return normalize_embed_model(value)
|
||||||
|
|
||||||
|
|
||||||
|
def normalize_model_name(value: Any, fallback: str = "") -> str:
|
||||||
|
if not isinstance(value, str):
|
||||||
|
return fallback
|
||||||
|
trimmed = value.strip()
|
||||||
|
return trimmed or fallback
|
||||||
|
|
||||||
|
|
||||||
|
def normalize_transcription_model(value: Any) -> str:
|
||||||
|
return normalize_model_name(value, DEFAULT_TRANSCRIPTION_MODEL)
|
||||||
|
|
||||||
|
|
||||||
def load_app_settings() -> Dict[str, Any]:
|
def load_app_settings() -> Dict[str, Any]:
|
||||||
@@ -92,7 +119,15 @@ def load_app_settings() -> Dict[str, Any]:
|
|||||||
else:
|
else:
|
||||||
settings["backendApiUrl"] = _normalize_url(settings.get("backendApiUrl"), DEFAULT_BACKEND_API_URL)
|
settings["backendApiUrl"] = _normalize_url(settings.get("backendApiUrl"), DEFAULT_BACKEND_API_URL)
|
||||||
settings["ollamaApiUrl"] = _normalize_url(settings.get("ollamaApiUrl"), DEFAULT_OLLAMA_API_URL)
|
settings["ollamaApiUrl"] = _normalize_url(settings.get("ollamaApiUrl"), DEFAULT_OLLAMA_API_URL)
|
||||||
|
if "rerankModel" not in raw:
|
||||||
|
settings["rerankModel"] = settings.get("embedModel")
|
||||||
|
if "visionModel" not in raw:
|
||||||
|
settings["visionModel"] = settings.get("chatModel", "")
|
||||||
settings["embedModel"] = normalize_embed_model(settings.get("embedModel"))
|
settings["embedModel"] = normalize_embed_model(settings.get("embedModel"))
|
||||||
|
settings["rerankModel"] = normalize_rerank_model(settings.get("rerankModel"))
|
||||||
|
settings["chatModel"] = normalize_model_name(settings.get("chatModel"))
|
||||||
|
settings["visionModel"] = normalize_model_name(settings.get("visionModel"))
|
||||||
|
settings["transcriptionModel"] = normalize_transcription_model(settings.get("transcriptionModel"))
|
||||||
|
|
||||||
return settings
|
return settings
|
||||||
|
|
||||||
@@ -105,3 +140,13 @@ def get_ollama_api_url() -> str:
|
|||||||
def get_embed_model_preference() -> str:
|
def get_embed_model_preference() -> str:
|
||||||
settings = load_app_settings()
|
settings = load_app_settings()
|
||||||
return normalize_embed_model(settings.get("embedModel"))
|
return normalize_embed_model(settings.get("embedModel"))
|
||||||
|
|
||||||
|
|
||||||
|
def get_rerank_model_preference() -> str:
|
||||||
|
settings = load_app_settings()
|
||||||
|
return normalize_rerank_model(settings.get("rerankModel"))
|
||||||
|
|
||||||
|
|
||||||
|
def get_transcription_model_preference() -> str:
|
||||||
|
settings = load_app_settings()
|
||||||
|
return normalize_transcription_model(settings.get("transcriptionModel"))
|
||||||
|
|||||||
78
dist/assets/index-BOZc6wlT.js
vendored
78
dist/assets/index-BOZc6wlT.js
vendored
File diff suppressed because one or more lines are too long
88
dist/assets/index-g7N0HjkK.js
vendored
Normal file
88
dist/assets/index-g7N0HjkK.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dist/index.html
vendored
2
dist/index.html
vendored
@@ -5,7 +5,7 @@
|
|||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>LLM Desktop</title>
|
<title>LLM Desktop</title>
|
||||||
<script type="module" crossorigin src="/assets/index-BOZc6wlT.js"></script>
|
<script type="module" crossorigin src="/assets/index-g7N0HjkK.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-BFOWWhCS.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-BFOWWhCS.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
Reference in New Issue
Block a user