diff --git a/litellm/compression/message_stubbing.py b/litellm/compression/message_stubbing.py index 8d4e65752c1..5b0c09ae780 100644 --- a/litellm/compression/message_stubbing.py +++ b/litellm/compression/message_stubbing.py @@ -34,7 +34,7 @@ def extract_key(message: dict, fallback_index: int, used_keys: Set[str]) -> str: if match: # Use just the filename, not full path path = match.group(1) - key = path.split("/")[-1] + key = re.split(r"[\\/]", path)[-1] break if key is None: diff --git a/tests/test_litellm/test_compression.py b/tests/test_litellm/test_compression.py index 4fbcd4ed30d..aba1bb6f13a 100644 --- a/tests/test_litellm/test_compression.py +++ b/tests/test_litellm/test_compression.py @@ -98,6 +98,13 @@ def test_extract_key_with_filename(): assert key == "auth.py" +def test_extract_key_with_windows_file_path(): + msg = {"role": "user", "content": r"File: C:\repo\auth.py"} + used: set = set() + key = extract_key(msg, fallback_index=0, used_keys=used) + assert key == "auth.py" + + def test_extract_key_fallback(): msg = {"role": "user", "content": "Some random content without a filename"} used: set = set()