fix using pass_through_all_models

This commit is contained in:
Ishaan Jaff 2024-07-25 19:32:49 -07:00
parent af1cd9e06f
commit 693bcfac39
2 changed files with 22 additions and 15 deletions

View file

@ -11,6 +11,10 @@ model_list:
- model_name: "*" - model_name: "*"
litellm_params: litellm_params:
model: "*" model: "*"
- model_name: "*"
litellm_params:
model: openai/*
api_key: os.environ/OPENAI_API_KEY
general_settings: general_settings:
master_key: sk-1234 master_key: sk-1234
alerting: ["slack"] alerting: ["slack"]

View file

@ -2882,14 +2882,15 @@ async def chat_completion(
elif ( elif (
llm_router is not None llm_router is not None
and data["model"] not in router_model_names and data["model"] not in router_model_names
and llm_router.default_deployment is not None
): # model in router deployments, calling a specific deployment on the router
tasks.append(llm_router.acompletion(**data))
elif (
llm_router is not None
and llm_router.router_general_settings.pass_through_all_models is True and llm_router.router_general_settings.pass_through_all_models is True
): ):
tasks.append(litellm.acompletion(**data)) tasks.append(litellm.acompletion(**data))
elif (
llm_router is not None
and data["model"] not in router_model_names
and llm_router.default_deployment is not None
): # model in router deployments, calling a specific deployment on the router
tasks.append(llm_router.acompletion(**data))
elif user_model is not None: # `litellm --model <your-model-name>` elif user_model is not None: # `litellm --model <your-model-name>`
tasks.append(litellm.acompletion(**data)) tasks.append(litellm.acompletion(**data))
else: else:
@ -3144,6 +3145,12 @@ async def completion(
llm_router is not None and data["model"] in llm_router.get_model_ids() llm_router is not None and data["model"] in llm_router.get_model_ids()
): # model in router model list ): # model in router model list
llm_response = asyncio.create_task(llm_router.atext_completion(**data)) llm_response = asyncio.create_task(llm_router.atext_completion(**data))
elif (
llm_router is not None
and data["model"] not in router_model_names
and llm_router.router_general_settings.pass_through_all_models is True
):
llm_response = asyncio.create_task(litellm.atext_completion(**data))
elif ( elif (
llm_router is not None llm_router is not None
and data["model"] not in router_model_names and data["model"] not in router_model_names
@ -3152,11 +3159,6 @@ async def completion(
llm_response = asyncio.create_task(llm_router.atext_completion(**data)) llm_response = asyncio.create_task(llm_router.atext_completion(**data))
elif user_model is not None: # `litellm --model <your-model-name>` elif user_model is not None: # `litellm --model <your-model-name>`
llm_response = asyncio.create_task(litellm.atext_completion(**data)) llm_response = asyncio.create_task(litellm.atext_completion(**data))
elif (
llm_router is not None
and llm_router.router_general_settings.pass_through_all_models is True
):
llm_response = asyncio.create_task(litellm.atext_completion(**data))
else: else:
raise HTTPException( raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST, status_code=status.HTTP_400_BAD_REQUEST,
@ -3412,14 +3414,15 @@ async def embeddings(
elif ( elif (
llm_router is not None llm_router is not None
and data["model"] not in router_model_names and data["model"] not in router_model_names
and llm_router.default_deployment is not None
): # model in router deployments, calling a specific deployment on the router
tasks.append(llm_router.aembedding(**data))
elif (
llm_router is not None
and llm_router.router_general_settings.pass_through_all_models is True and llm_router.router_general_settings.pass_through_all_models is True
): ):
tasks.append(litellm.aembedding(**data)) tasks.append(litellm.aembedding(**data))
elif (
llm_router is not None
and data["model"] not in router_model_names
and llm_router.default_deployment is not None
): # model in router deployments, calling a specific deployment on the router
tasks.append(llm_router.aembedding(**data))
elif user_model is not None: # `litellm --model <your-model-name>` elif user_model is not None: # `litellm --model <your-model-name>`
tasks.append(litellm.aembedding(**data)) tasks.append(litellm.aembedding(**data))
else: else: