diff --git a/litellm/llms/gpustack/rerank/transformation.py b/litellm/llms/gpustack/rerank/transformation.py index 56f79379278..6686c7b77c9 100644 --- a/litellm/llms/gpustack/rerank/transformation.py +++ b/litellm/llms/gpustack/rerank/transformation.py @@ -116,9 +116,9 @@ class GPUStackRerankConfig(BaseRerankConfig): model_response: RerankResponse, logging_obj: object, api_key: str | None = None, - request_data: dict[str, object] = {}, - optional_params: dict[str, object] = {}, - litellm_params: dict[str, object] = {}, + request_data: dict[str, object] | None = None, + optional_params: dict[str, object] | None = None, + litellm_params: dict[str, object] | None = None, ) -> RerankResponse: response_json: Final = TypeAdapter(GPUStackRerankResponsePayload).validate_json(raw_response.content) total_tokens: Final = response_json.usage.total_tokens or 0 diff --git a/litellm/utils.py b/litellm/utils.py index 24792a45756..a1f79d7f69d 100644 --- a/litellm/utils.py +++ b/litellm/utils.py @@ -8181,10 +8181,15 @@ class ProviderConfigManager: return litellm.InfinityRerankConfig() elif litellm.LlmProviders.JINA_AI == provider: return litellm.JinaAIRerankConfig() - elif litellm.LlmProviders.GPUSTACK == provider: - return litellm.GPUStackRerankConfig() - elif litellm.LlmProviders.HOSTED_VLLM == provider: - return litellm.HostedVLLMRerankConfig() + elif provider in ( + litellm.LlmProviders.GPUSTACK, + litellm.LlmProviders.HOSTED_VLLM, + ): + rerank_configs: Final = { + litellm.LlmProviders.GPUSTACK: litellm.GPUStackRerankConfig, + litellm.LlmProviders.HOSTED_VLLM: litellm.HostedVLLMRerankConfig, + } + return rerank_configs[provider]() elif litellm.LlmProviders.HUGGINGFACE == provider: return litellm.HuggingFaceRerankConfig() elif litellm.LlmProviders.DEEPINFRA == provider: diff --git a/provider_endpoints_support.json b/provider_endpoints_support.json index 0712e8e383d..f7798606ac2 100644 --- a/provider_endpoints_support.json +++ b/provider_endpoints_support.json @@ -1226,6 +1226,22 @@ "interactions": true } }, + "gpustack": { + "display_name": "GPUStack (`gpustack`)", + "url": "https://docs.litellm.ai/docs/providers/gpustack", + "endpoints": { + "chat_completions": false, + "messages": false, + "responses": false, + "embeddings": true, + "image_generations": false, + "audio_transcriptions": false, + "audio_speech": false, + "moderations": false, + "batches": false, + "rerank": true + } + }, "heroku": { "display_name": "Heroku (`heroku`)", "url": "https://docs.litellm.ai/docs/providers/heroku",