mirror of
https://github.com/open-webui/open-webui.git
synced 2026-04-30 01:10:17 -05:00
refac
This commit is contained in:
@@ -151,17 +151,17 @@ async def get_all_models(request, refresh: bool = False, user: UserModel = None)
|
|||||||
custom_models = Models.get_all_models()
|
custom_models = Models.get_all_models()
|
||||||
|
|
||||||
# Single O(1) lookup: Ollama base names first, then exact IDs (exact wins).
|
# Single O(1) lookup: Ollama base names first, then exact IDs (exact wins).
|
||||||
model_lookup = {}
|
base_model_lookup = {}
|
||||||
for model in models:
|
for model in models:
|
||||||
if model.get("owned_by") == "ollama":
|
if model.get("owned_by") == "ollama":
|
||||||
model_lookup.setdefault(model["id"].split(":")[0], model)
|
base_model_lookup.setdefault(model["id"].split(":")[0], model)
|
||||||
model_lookup[model["id"]] = model
|
base_model_lookup[model["id"]] = model
|
||||||
|
|
||||||
existing_ids = {m["id"] for m in models}
|
existing_ids = {m["id"] for m in models}
|
||||||
|
|
||||||
for custom_model in custom_models:
|
for custom_model in custom_models:
|
||||||
if custom_model.base_model_id is None:
|
if custom_model.base_model_id is None:
|
||||||
model = model_lookup.get(custom_model.id)
|
model = base_model_lookup.get(custom_model.id)
|
||||||
|
|
||||||
if model:
|
if model:
|
||||||
if custom_model.is_active:
|
if custom_model.is_active:
|
||||||
@@ -188,14 +188,17 @@ async def get_all_models(request, refresh: bool = False, user: UserModel = None)
|
|||||||
else:
|
else:
|
||||||
models.remove(model)
|
models.remove(model)
|
||||||
|
|
||||||
elif custom_model.is_active and custom_model.id not in existing_ids:
|
elif custom_model.is_active:
|
||||||
|
if custom_model.id in existing_ids:
|
||||||
|
continue
|
||||||
|
|
||||||
owned_by = "openai"
|
owned_by = "openai"
|
||||||
connection_type = None
|
connection_type = None
|
||||||
pipe = None
|
pipe = None
|
||||||
|
|
||||||
base_model = model_lookup.get(custom_model.base_model_id)
|
base_model = base_model_lookup.get(custom_model.base_model_id)
|
||||||
if base_model is None:
|
if base_model is None:
|
||||||
base_model = model_lookup.get(custom_model.base_model_id.split(":")[0])
|
base_model = base_model_lookup.get(custom_model.base_model_id.split(":")[0])
|
||||||
if base_model:
|
if base_model:
|
||||||
owned_by = base_model.get("owned_by", "unknown")
|
owned_by = base_model.get("owned_by", "unknown")
|
||||||
if "pipe" in base_model:
|
if "pipe" in base_model:
|
||||||
|
|||||||
Reference in New Issue
Block a user