mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-12 04:15:25 +00:00
refac
Some checks are pending
Deploy to HuggingFace Spaces / check-secret (push) Waiting to run
Deploy to HuggingFace Spaces / deploy (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-cuda126-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / build-main-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-main-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda126-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda126-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-ollama-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-ollama-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-slim-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-slim-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / merge-main-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-cuda-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-ollama-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-slim-images (push) Blocked by required conditions
Python CI / Format Backend (push) Waiting to run
Frontend Build / Format & Build Frontend (push) Waiting to run
Frontend Build / Frontend Unit Tests (push) Waiting to run
Some checks are pending
Deploy to HuggingFace Spaces / check-secret (push) Waiting to run
Deploy to HuggingFace Spaces / deploy (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-cuda126-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / build-main-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-main-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda126-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-cuda126-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-ollama-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-ollama-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / build-slim-image (linux/amd64, ubuntu-latest) (push) Waiting to run
Create and publish Docker images with specific build args / build-slim-image (linux/arm64, ubuntu-24.04-arm) (push) Waiting to run
Create and publish Docker images with specific build args / merge-main-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-cuda-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-ollama-images (push) Blocked by required conditions
Create and publish Docker images with specific build args / merge-slim-images (push) Blocked by required conditions
Python CI / Format Backend (push) Waiting to run
Frontend Build / Format & Build Frontend (push) Waiting to run
Frontend Build / Frontend Unit Tests (push) Waiting to run
This commit is contained in:
parent
ee61970fb0
commit
fdf7ca15ea
1 changed files with 36 additions and 31 deletions
|
|
@ -501,30 +501,9 @@ async def get_all_models(request: Request, user: UserModel) -> dict[str, list]:
|
||||||
return response
|
return response
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def merge_models_lists(model_lists):
|
def is_supported_openai_models(model_id):
|
||||||
log.debug(f"merge_models_lists {model_lists}")
|
if any(
|
||||||
merged_list = []
|
name in model_id
|
||||||
|
|
||||||
for idx, models in enumerate(model_lists):
|
|
||||||
if models is not None and "error" not in models:
|
|
||||||
|
|
||||||
merged_list.extend(
|
|
||||||
[
|
|
||||||
{
|
|
||||||
**model,
|
|
||||||
"name": model.get("name", model["id"]),
|
|
||||||
"owned_by": "openai",
|
|
||||||
"openai": model,
|
|
||||||
"connection_type": model.get("connection_type", "external"),
|
|
||||||
"urlIdx": idx,
|
|
||||||
}
|
|
||||||
for model in models
|
|
||||||
if (model.get("id") or model.get("name"))
|
|
||||||
and (
|
|
||||||
"api.openai.com"
|
|
||||||
not in request.app.state.config.OPENAI_API_BASE_URLS[idx]
|
|
||||||
or not any(
|
|
||||||
name in model["id"]
|
|
||||||
for name in [
|
for name in [
|
||||||
"babbage",
|
"babbage",
|
||||||
"dall-e",
|
"dall-e",
|
||||||
|
|
@ -533,18 +512,44 @@ async def get_all_models(request: Request, user: UserModel) -> dict[str, list]:
|
||||||
"tts",
|
"tts",
|
||||||
"whisper",
|
"whisper",
|
||||||
]
|
]
|
||||||
)
|
):
|
||||||
)
|
return False
|
||||||
]
|
return True
|
||||||
)
|
|
||||||
|
|
||||||
return merged_list
|
def get_merged_models(model_lists):
|
||||||
|
log.debug(f"merge_models_lists {model_lists}")
|
||||||
|
models = {}
|
||||||
|
|
||||||
models = {"data": merge_models_lists(map(extract_data, responses))}
|
for idx, model_list in enumerate(model_lists):
|
||||||
|
if model_list is not None and "error" not in model_list:
|
||||||
|
for model in model_list:
|
||||||
|
model_id = model.get("id") or model.get("name")
|
||||||
|
|
||||||
|
if (
|
||||||
|
"api.openai.com"
|
||||||
|
in request.app.state.config.OPENAI_API_BASE_URLS[idx]
|
||||||
|
and not is_supported_openai_models(model_id)
|
||||||
|
):
|
||||||
|
# Skip unwanted OpenAI models
|
||||||
|
continue
|
||||||
|
|
||||||
|
if model_id and model_id not in models:
|
||||||
|
models[model_id] = {
|
||||||
|
**model,
|
||||||
|
"name": model.get("name", model_id),
|
||||||
|
"owned_by": "openai",
|
||||||
|
"openai": model,
|
||||||
|
"connection_type": model.get("connection_type", "external"),
|
||||||
|
"urlIdx": idx,
|
||||||
|
}
|
||||||
|
|
||||||
|
return models
|
||||||
|
|
||||||
|
models = get_merged_models(map(extract_data, responses))
|
||||||
log.debug(f"models: {models}")
|
log.debug(f"models: {models}")
|
||||||
|
|
||||||
request.app.state.OPENAI_MODELS = {model["id"]: model for model in models["data"]}
|
request.app.state.OPENAI_MODELS = map(extract_data, responses)
|
||||||
return models
|
return {"data": list(models.values())}
|
||||||
|
|
||||||
|
|
||||||
@router.get("/models")
|
@router.get("/models")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue