mirror of
https://github.com/tiennm99/litellm.git
synced 2026-08-10 22:24:51 +00:00
Merge pull request #14191 from kayoch1n/fix-h11-model-name
Remove "/" or ":" from model name when being used as h11 header name
This commit is contained in:
@@ -317,17 +317,26 @@ def get_remaining_tokens_and_requests_from_request_data(data: Dict) -> Dict[str,
|
||||
_metadata = data.get("metadata", None) or {}
|
||||
model_group = get_model_group_from_request_data(data)
|
||||
|
||||
# The h11 package considers "/" or ":" invalid and raise a LocalProtocolError
|
||||
h11_model_group_name = (
|
||||
model_group.replace("/", "-").replace(":", "-") if model_group else None
|
||||
)
|
||||
|
||||
# Remaining Requests
|
||||
remaining_requests_variable_name = f"litellm-key-remaining-requests-{model_group}"
|
||||
remaining_requests = _metadata.get(remaining_requests_variable_name, None)
|
||||
if remaining_requests:
|
||||
headers[f"x-litellm-key-remaining-requests-{model_group}"] = remaining_requests
|
||||
headers[f"x-litellm-key-remaining-requests-{h11_model_group_name}"] = (
|
||||
remaining_requests
|
||||
)
|
||||
|
||||
# Remaining Tokens
|
||||
remaining_tokens_variable_name = f"litellm-key-remaining-tokens-{model_group}"
|
||||
remaining_tokens = _metadata.get(remaining_tokens_variable_name, None)
|
||||
if remaining_tokens:
|
||||
headers[f"x-litellm-key-remaining-tokens-{model_group}"] = remaining_tokens
|
||||
headers[f"x-litellm-key-remaining-tokens-{h11_model_group_name}"] = (
|
||||
remaining_tokens
|
||||
)
|
||||
|
||||
return headers
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
import sys
|
||||
import os
|
||||
|
||||
sys.path.insert(
|
||||
0, os.path.abspath("../../..")
|
||||
) # Adds the parent directory to the system path
|
||||
|
||||
from litellm.proxy.common_utils.callback_utils import (
|
||||
get_remaining_tokens_and_requests_from_request_data,
|
||||
)
|
||||
|
||||
|
||||
def test_get_remaining_tokens_and_requests_from_request_data():
|
||||
model_group = "openrouter/google/gemini-2.0-flash-001"
|
||||
casedata = {
|
||||
"metadata": {
|
||||
"model_group": model_group,
|
||||
f"litellm-key-remaining-requests-{model_group}": 100,
|
||||
f"litellm-key-remaining-tokens-{model_group}": 200,
|
||||
}
|
||||
}
|
||||
|
||||
headers = get_remaining_tokens_and_requests_from_request_data(casedata)
|
||||
|
||||
expected_name = "openrouter-google-gemini-2.0-flash-001"
|
||||
assert headers == {
|
||||
f"x-litellm-key-remaining-requests-{expected_name}": 100,
|
||||
f"x-litellm-key-remaining-tokens-{expected_name}": 200,
|
||||
}
|
||||
Reference in New Issue
Block a user