diff --git a/litellm/files/main.py b/litellm/files/main.py index e0913a6b940..b55dd021bc8 100644 --- a/litellm/files/main.py +++ b/litellm/files/main.py @@ -14,6 +14,13 @@ from typing import Any, Coroutine, Dict, Literal, Optional, Union, cast import httpx +# Type aliases for provider parameters +FileCreateProvider = Literal["openai", "azure", "gemini", "vertex_ai", "bedrock", "hosted_vllm", "manus", "anthropic"] +FileRetrieveProvider = Literal["openai", "azure", "gemini", "vertex_ai", "hosted_vllm", "manus", "anthropic"] +FileDeleteProvider = Literal["openai", "azure", "gemini", "manus", "anthropic"] +FileListProvider = Literal["openai", "azure", "manus", "anthropic"] +FileContentProvider = Literal["openai", "azure", "vertex_ai", "bedrock", "hosted_vllm", "anthropic", "manus"] + import litellm from litellm import get_secret_str from litellm.litellm_core_utils.get_llm_provider_logic import get_llm_provider @@ -61,16 +68,7 @@ async def acreate_file( file: FileTypes, purpose: Literal["assistants", "batch", "fine-tune", "messages"], expires_after: Optional[FileExpiresAfter] = None, - custom_llm_provider: Literal[ - "openai", - "azure", - "gemini", - "vertex_ai", - "bedrock", - "hosted_vllm", - "manus", - "anthropic", - ] = "openai", + custom_llm_provider: FileCreateProvider = "openai", extra_headers: Optional[Dict[str, str]] = None, extra_body: Optional[Dict[str, str]] = None, **kwargs, @@ -115,18 +113,7 @@ def create_file( file: FileTypes, purpose: Literal["assistants", "batch", "fine-tune", "messages"], expires_after: Optional[FileExpiresAfter] = None, - custom_llm_provider: Optional[ - Literal[ - "openai", - "azure", - "gemini", - "vertex_ai", - "bedrock", - "hosted_vllm", - "manus", - "anthropic", - ] - ] = None, + custom_llm_provider: Optional[FileCreateProvider] = None, extra_headers: Optional[Dict[str, str]] = None, extra_body: Optional[Dict[str, str]] = None, **kwargs, @@ -255,9 +242,7 @@ def create_file( @client async def afile_retrieve( file_id: str, - custom_llm_provider: Literal[ - "openai", "azure", "gemini", "vertex_ai", "hosted_vllm", "manus", "anthropic" - ] = "openai", + custom_llm_provider: FileRetrieveProvider = "openai", extra_headers: Optional[Dict[str, str]] = None, extra_body: Optional[Dict[str, str]] = None, **kwargs, @@ -298,9 +283,7 @@ async def afile_retrieve( @client def file_retrieve( file_id: str, - custom_llm_provider: Literal[ - "openai", "azure", "gemini", "vertex_ai", "hosted_vllm", "manus", "anthropic" - ] = "openai", + custom_llm_provider: FileRetrieveProvider = "openai", extra_headers: Optional[Dict[str, str]] = None, extra_body: Optional[Dict[str, str]] = None, **kwargs, @@ -428,9 +411,7 @@ def file_retrieve( @client async def afile_delete( file_id: str, - custom_llm_provider: Literal[ - "openai", "azure", "gemini", "manus", "anthropic" - ] = "openai", + custom_llm_provider: FileDeleteProvider = "openai", extra_headers: Optional[Dict[str, str]] = None, extra_body: Optional[Dict[str, str]] = None, **kwargs, @@ -474,9 +455,7 @@ async def afile_delete( def file_delete( file_id: str, model: Optional[str] = None, - custom_llm_provider: Union[ - Literal["openai", "azure", "gemini", "manus", "anthropic"], str - ] = "openai", + custom_llm_provider: Union[FileDeleteProvider, str] = "openai", extra_headers: Optional[Dict[str, str]] = None, extra_body: Optional[Dict[str, str]] = None, **kwargs, @@ -609,7 +588,7 @@ def file_delete( # List files @client async def afile_list( - custom_llm_provider: Literal["openai", "azure", "manus", "anthropic"] = "openai", + custom_llm_provider: FileListProvider = "openai", purpose: Optional[str] = None, extra_headers: Optional[Dict[str, str]] = None, extra_body: Optional[Dict[str, str]] = None, @@ -650,7 +629,7 @@ async def afile_list( @client def file_list( - custom_llm_provider: Literal["openai", "azure", "manus", "anthropic"] = "openai", + custom_llm_provider: FileListProvider = "openai", purpose: Optional[str] = None, extra_headers: Optional[Dict[str, str]] = None, extra_body: Optional[Dict[str, str]] = None, @@ -777,9 +756,7 @@ def file_list( @client async def afile_content( file_id: str, - custom_llm_provider: Literal[ - "openai", "azure", "vertex_ai", "bedrock", "hosted_vllm", "anthropic", "manus" - ] = "openai", + custom_llm_provider: FileContentProvider = "openai", extra_headers: Optional[Dict[str, str]] = None, extra_body: Optional[Dict[str, str]] = None, **kwargs, @@ -823,20 +800,7 @@ async def afile_content( def file_content( file_id: str, model: Optional[str] = None, - custom_llm_provider: Optional[ - Union[ - Literal[ - "openai", - "azure", - "vertex_ai", - "bedrock", - "hosted_vllm", - "anthropic", - "manus", - ], - str, - ] - ] = None, + custom_llm_provider: Optional[Union[FileContentProvider, str]] = None, extra_headers: Optional[Dict[str, str]] = None, extra_body: Optional[Dict[str, str]] = None, **kwargs,