diff --git a/backend/apps/openai/main.py b/backend/apps/openai/main.py index e902bea27..375ed3f12 100644 --- a/backend/apps/openai/main.py +++ b/backend/apps/openai/main.py @@ -179,20 +179,26 @@ def merge_models_lists(model_lists): async def get_all_models(): print("get_all_models") - tasks = [ - fetch_url(f"{url}/models", app.state.OPENAI_API_KEYS[idx]) - for idx, url in enumerate(app.state.OPENAI_API_BASE_URLS) - ] - responses = await asyncio.gather(*tasks) - responses = list(filter(lambda x: x is not None and "error" not in x, responses)) - models = { - "data": merge_models_lists( - list(map(lambda response: response["data"], responses)) - ) - } - app.state.MODELS = {model["id"]: model for model in models["data"]} - return models + if len(app.state.OPENAI_API_KEYS) == 1 and app.state.OPENAI_API_KEYS[0] == "": + models = {"data": []} + else: + tasks = [ + fetch_url(f"{url}/models", app.state.OPENAI_API_KEYS[idx]) + for idx, url in enumerate(app.state.OPENAI_API_BASE_URLS) + ] + responses = await asyncio.gather(*tasks) + responses = list( + filter(lambda x: x is not None and "error" not in x, responses) + ) + models = { + "data": merge_models_lists( + list(map(lambda response: response["data"], responses)) + ) + } + app.state.MODELS = {model["id"]: model for model in models["data"]} + + return models @app.get("/models") diff --git a/backend/config.py b/backend/config.py index 019e44e01..f680e08ae 100644 --- a/backend/config.py +++ b/backend/config.py @@ -234,8 +234,6 @@ OLLAMA_BASE_URLS = [url.strip() for url in OLLAMA_BASE_URLS.split(";")] OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY", "") OPENAI_API_BASE_URL = os.environ.get("OPENAI_API_BASE_URL", "") -if OPENAI_API_KEY == "": - OPENAI_API_KEY = "none" if OPENAI_API_BASE_URL == "": OPENAI_API_BASE_URL = "https://api.openai.com/v1"