This commit is contained in:
Timothy Jaeryang Baek 2025-06-28 19:15:52 +04:00
parent 1b064a6c85
commit 962e078a9a
2 changed files with 196 additions and 192 deletions

View file

@ -1248,12 +1248,7 @@ async def get_models(
return filtered_models
if request.app.state.MODELS and (
request.app.state.config.ENABLE_MODEL_LIST_CACHE and not refresh
):
all_models = list(request.app.state.MODELS.values())
else:
all_models = await get_all_models(request, user=user)
all_models = await get_all_models(request, refresh=refresh, user=user)
models = []
for model in all_models:

View file

@ -76,7 +76,12 @@ async def get_all_base_models(request: Request, user: UserModel = None):
return function_models + openai_models + ollama_models
async def get_all_models(request, user: UserModel = None):
async def get_all_models(request, refresh: bool = False, user: UserModel = None):
if request.app.state.MODELS and (
request.app.state.config.ENABLE_MODEL_LIST_CACHE and not refresh
):
return list(request.app.state.MODELS.values())
else:
models = await get_all_base_models(request, user=user)
# If there are no models, return an empty list
@ -260,12 +265,16 @@ async def get_all_models(request, user: UserModel = None):
for model in models:
action_ids = [
action_id
for action_id in list(set(model.pop("action_ids", []) + global_action_ids))
for action_id in list(
set(model.pop("action_ids", []) + global_action_ids)
)
if action_id in enabled_action_ids
]
filter_ids = [
filter_id
for filter_id in list(set(model.pop("filter_ids", []) + global_filter_ids))
for filter_id in list(
set(model.pop("filter_ids", []) + global_filter_ids)
)
if filter_id in enabled_filter_ids
]