Revert "Allow configuration to on what threshold to try truncating request content in db"

This reverts commit 771052d67d.
This commit is contained in:
WilsonSunBritten
2025-08-28 16:12:42 -06:00
parent 771052d67d
commit 026480358b
2 changed files with 3 additions and 114 deletions
@@ -53,7 +53,7 @@ def _get_spend_logs_metadata(
guardrail_information: Optional[StandardLoggingGuardrailInformation] = None,
usage_object: Optional[dict] = None,
model_map_information: Optional[StandardLoggingModelInformation] = None,
cold_storage_object_key: Optional[str] = None,
cold_storage_object_key: Optional[str] = None
) -> SpendLogsMetadata:
if metadata is None:
return SpendLogsMetadata(
@@ -101,7 +101,7 @@ def _get_spend_logs_metadata(
clean_metadata["usage_object"] = usage_object
clean_metadata["model_map_information"] = model_map_information
clean_metadata["cold_storage_object_key"] = cold_storage_object_key
return clean_metadata
@@ -484,7 +484,6 @@ def _sanitize_request_body_for_spend_logs_payload(
Truncates strings longer than 1000 characters and handles nested dictionaries.
"""
from litellm.constants import LITELLM_TRUNCATED_PAYLOAD_FIELD
MAX_STRING_LENGTH = 1000
if visited is None:
@@ -523,21 +522,8 @@ def _get_proxy_server_request_for_spend_logs_payload(
)
if _proxy_server_request is not None:
_request_body = _proxy_server_request.get("body", {}) or {}
_request_body = _sanitize_request_body_for_spend_logs_payload(_request_body)
_request_body_json_str = json.dumps(_request_body, default=str)
# Check if request body size exceeds truncation threshold
max_body_size_before_trunc = litellm_params.get(
"max_request_size_before_trunc"
)
if (
max_body_size_before_trunc is None
or len(_request_body_json_str) > max_body_size_before_trunc
):
_request_body = _sanitize_request_body_for_spend_logs_payload(
_request_body
)
_request_body_json_str = json.dumps(_request_body, default=str)
return _request_body_json_str
return "{}"
-97
View File
@@ -336,100 +336,3 @@ async def test_spend_report_endpoint():
print(f"Total Spend: {total_spend}")
print("Metadata: ", metadata)
print()
# Helper function to generate test request bodies
def _generate_test_request_bodies():
large_content = "x" * 2000 # 2000 characters
small_content = "x" * 50 # 50 characters
large_request_body = {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": large_content}]
}
small_request_body = {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": small_content}]
}
return large_request_body, small_request_body, large_content, small_content
def _setup_spend_logs_settings():
"""Helper to mock the settings for storing prompts in spend logs"""
import litellm.proxy.proxy_server
litellm.proxy.proxy_server.general_settings = {"store_prompts_in_spend_logs": True}
def test_large_request_no_truncation_threshold():
"""Test that large request with no threshold gets truncated"""
from litellm.proxy.spend_tracking.spend_tracking_utils import _get_proxy_server_request_for_spend_logs_payload
large_request_body, _, _, _ = _generate_test_request_bodies()
_setup_spend_logs_settings()
litellm_params = {
"proxy_server_request": {"body": large_request_body}
}
result = _get_proxy_server_request_for_spend_logs_payload({}, litellm_params)
# Should be truncated (contains truncation indicator)
assert "LITELLM_TRUNCATED_PAYLOAD_FIELD" in result
def test_large_request_high_truncation_threshold():
"""Test that large request with high threshold does not get truncated"""
from litellm.proxy.spend_tracking.spend_tracking_utils import _get_proxy_server_request_for_spend_logs_payload
large_request_body, _, large_content, _ = _generate_test_request_bodies()
_setup_spend_logs_settings()
litellm_params = {
"proxy_server_request": {"body": large_request_body},
"max_request_size_before_trunc": 10000 # Higher than request size
}
result = _get_proxy_server_request_for_spend_logs_payload({}, litellm_params)
# Should not be truncated (full content preserved)
assert "LITELLM_TRUNCATED_PAYLOAD_FIELD" not in result
assert large_content in result
def test_large_request_low_truncation_threshold():
"""Test that large request with low threshold gets truncated"""
from litellm.proxy.spend_tracking.spend_tracking_utils import _get_proxy_server_request_for_spend_logs_payload
large_request_body, _, _, _ = _generate_test_request_bodies()
_setup_spend_logs_settings()
litellm_params = {
"proxy_server_request": {"body": large_request_body},
"max_request_size_before_trunc": 100 # Lower than request size
}
result = _get_proxy_server_request_for_spend_logs_payload({}, litellm_params)
# Should be truncated
assert "LITELLM_TRUNCATED_PAYLOAD_FIELD" in result
def test_small_request_low_truncation_threshold():
"""Test that small request with low threshold does not get truncated"""
from litellm.proxy.spend_tracking.spend_tracking_utils import _get_proxy_server_request_for_spend_logs_payload
_, small_request_body, _, small_content = _generate_test_request_bodies()
_setup_spend_logs_settings()
litellm_params = {
"proxy_server_request": {"body": small_request_body},
"max_request_size_before_trunc": 100 # Higher than small request size
}
result = _get_proxy_server_request_for_spend_logs_payload({}, litellm_params)
# Should not be truncated (content is small enough)
assert "LITELLM_TRUNCATED_PAYLOAD_FIELD" not in result
assert small_content in result