Fix get_model_from_request() to extract model ID from Vertex AI passthrough URLs #18097
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Title
Fix get_model_from_request() to extract model ID from Vertex AI passthrough URLs
Relevant issues
Pre-Submission checklist
Please complete all items before asking a LiteLLM maintainer to review your PR
tests/litellm/directory, Adding at least 1 test is a hard requirement - see detailsmake test-unitType
🐛 Bug Fix
Changes
Summary
This PR enhances the model extraction logic in the proxy authentication module to properly handle Vertex AI passthrough routes. Previously, the
get_model_from_request()function could not extract model IDs from Vertex AI passthrough URLs, which follows a distinct pattern compared to OpenAI deployments.Problem
Vertex AI passthrough endpoints have a URL structure like:
The existing model extraction logic only handled OpenAI deployments (
/openai/deployments/{model}/), leaving Vertex AI models unidentified.Solution
Added regex-based model extraction for Vertex AI routes:
/vertex_ai/.../models/{model_id}:*/models/([^/:]+)Testing
Added comprehensive test coverage with 7 parametrized test cases in
test_get_model_from_request_vertex_ai_passthrough():Files Changed
litellm/proxy/auth/auth_utils.py: Added Vertex AI model extraction logictests/local_testing/test_auth_utils.py: Added parametrized test cases