I'm noticing that when I run LiteLLM with Presidio and AWS Bedrock via Open WebUI, while the logs show that things are being redacted, when I check my cloud logs (CloudWatch) things are not.
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: model_checks.py:85 - ALL KEY MODELS - 0
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: model_checks.py:112 - ALL TEAM MODELS - 0
litellm-1 | INFO: 172.18.0.5:53562 - "GET /models HTTP/1.1" 200 OK
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: proxy_server.py:3436 - Request received by LiteLLM:
litellm-1 | {
litellm-1 | "stream": true,
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: model_checks.py:85 - ALL KEY MODELS - 0
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: model_checks.py:112 - ALL TEAM MODELS - 0
litellm-1 | INFO: 172.18.0.5:53562 - "GET /models HTTP/1.1" 200 OK
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: proxy_server.py:3436 - Request received by LiteLLM:
litellm-1 | {
litellm-1 | "stream": true,
litellm-1 | "model": "bedrock-claude-3.5-sonnet",
litellm-1 | "messages": [
litellm-1 | {
litellm-1 | "role": "user",
litellm-1 | "content": "."
litellm-1 | },
litellm-1 | {
litellm-1 | "role": "assistant",
litellm-1 | "content": "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."
litellm-1 | },
litellm-1 | {
litellm-1 | "role": "user",
litellm-1 | "content": "My name is Bobby. What is my name backwards?"
litellm-1 | }
litellm-1 | ]
litellm-1 | }
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: litellm_pre_call_utils.py:450 - Request Headers: Headers({'host': 'litellm:4000', 'authorization': 'Bearer anything', 'content-type': 'application/json', 'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'user-agent': 'Python/3.11 aiohttp/3.11.8', 'content-length': '396'})
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: litellm_pre_call_utils.py:456 - receiving data: {'stream': True, 'model': 'bedrock-claude-3.5-sonnet', 'messages': [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is Bobby. What is my name backwards?'}], 'proxy_server_request': {'url': 'http://litellm:4000/chat/completions', 'method': 'POST', 'headers': {'host': 'litellm:4000', 'content-type': 'application/json', 'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'user-agent': 'Python/3.11 aiohttp/3.11.8', 'content-length': '396'}, 'body': {'stream': True, 'model': 'bedrock-claude-3.5-sonnet', 'messages': [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is Bobby. What is my name backwards?'}]}}}
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: litellm_pre_call_utils.py:607 - [PROXY] returned data from litellm_pre_call_utils: {'stream': True, 'model': 'bedrock-claude-3.5-sonnet', 'messages': [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is Bobby. What is my name backwards?'}], 'proxy_server_request': {'url': 'http://litellm:4000/chat/completions', 'method': 'POST', 'headers': {'host': 'litellm:4000', 'content-type': 'application/json', 'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'user-agent': 'Python/3.11 aiohttp/3.11.8', 'content-length': '396'}, 'body': {'stream': True, 'model': 'bedrock-claude-3.5-sonnet', 'messages': [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is Bobby. What is my name backwards?'}]}}, 'metadata': {'requester_metadata': {}, 'user_api_key_hash': 'anything', 'user_api_key_alias': None, 'user_api_key_team_id': None, 'user_api_key_user_id': None, 'user_api_key_org_id': None, 'user_api_key_team_alias': None, 'user_api_key_end_user_id': None, 'user_api_key': 'anything', 'user_api_end_user_max_budget': None, 'litellm_api_version': '1.59.7', 'global_max_parallel_requests': None, 'user_api_key_team_max_budget': None, 'user_api_key_team_spend': None, 'user_api_key_spend': 0.0, 'user_api_key_max_budget': None, 'user_api_key_model_max_budget': {}, 'user_api_key_metadata': {}, 'headers': {'host': 'litellm:4000', 'content-type': 'application/json', 'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'user-agent': 'Python/3.11 aiohttp/3.11.8', 'content-length': '396'}, 'endpoint': 'http://litellm:4000/chat/completions', 'litellm_parent_otel_span': None, 'requester_ip_address': ''}}
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: utils.py:476 - Inside Proxy Logging Pre-call hook!
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: parallel_request_limiter.py:48 - Inside Max Parallel Request Pre-Call Hook
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: parallel_request_limiter.py:48 - current: {'current_requests': 0, 'current_tpm': 464, 'current_rpm': 1}
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: max_budget_limiter.py:23 - Inside Max Budget Limiter Pre-Call Hook
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: cache_control_check.py:27 - Inside Cache Control Check Pre-Call Hook
litellm-1 | 22:43:39 - LiteLLM Router:DEBUG: router.py:3063 - Inside async function with retries: args - (); kwargs - {'proxy_server_request': {'url': 'http://litellm:4000/chat/completions', 'method': 'POST', 'headers': {'host': 'litellm:4000', 'content-type': 'application/json', 'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'user-agent': 'Python/3.11 aiohttp/3.11.8', 'content-length': '396'}, 'body': {'stream': True, 'model': 'bedrock-claude-3.5-sonnet', 'messages': [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is Bobby. What is my name backwards?'}]}}, 'metadata': {'requester_metadata': {}, 'user_api_key_hash': 'anything', 'user_api_key_alias': None, 'user_api_key_team_id': None, 'user_api_key_user_id': None, 'user_api_key_org_id': None, 'user_api_key_team_alias': None, 'user_api_key_end_user_id': None, 'user_api_key': 'anything', 'user_api_end_user_max_budget': None, 'litellm_api_version': '1.59.7', 'global_max_parallel_requests': None, 'user_api_key_team_max_budget': None, 'user_api_key_team_spend': None, 'user_api_key_spend': 0.0, 'user_api_key_max_budget': None, 'user_api_key_model_max_budget': {}, 'user_api_key_metadata': {}, 'headers': {'host': 'litellm:4000', 'content-type': 'application/json', 'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'user-agent': 'Python/3.11 aiohttp/3.11.8', 'content-length': '396'}, 'endpoint': 'http://litellm:4000/chat/completions', 'litellm_parent_otel_span': None, 'requester_ip_address': '', 'model_group': 'bedrock-claude-3.5-sonnet'}, 'litellm_call_id': '9cc93ce7-0c76-4d1c-9b29-e1947307a4e7', 'litellm_logging_obj': <litellm.litellm_core_utils.litellm_logging.Logging object at 0xffff9917d350>, 'model': 'bedrock-claude-3.5-sonnet', 'messages': [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is Bobby. What is my name backwards?'}], 'stream': True, 'original_function': <bound method Router._acompletion of <litellm.router.Router object at 0xffff9d65c980>>, 'num_retries': 2, 'litellm_trace_id': '74ad16cd-5c93-40d5-8868-4c9a628b3328'}
litellm-1 | 22:43:39 - LiteLLM Router:DEBUG: router.py:3085 - async function w/ retries: original_function - <bound method Router._acompletion of <litellm.router.Router object at 0xffff9d65c980>>, num_retries - 2
litellm-1 | 22:43:39 - LiteLLM Router:DEBUG: router.py:868 - Inside _acompletion()- model: bedrock-claude-3.5-sonnet; kwargs: {'proxy_server_request': {'url': 'http://litellm:4000/chat/completions', 'method': 'POST', 'headers': {'host': 'litellm:4000', 'content-type': 'application/json', 'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'user-agent': 'Python/3.11 aiohttp/3.11.8', 'content-length': '396'}, 'body': {'stream': True, 'model': 'bedrock-claude-3.5-sonnet', 'messages': [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is Bobby. What is my name backwards?'}]}}, 'metadata': {'requester_metadata': {}, 'user_api_key_hash': 'anything', 'user_api_key_alias': None, 'user_api_key_team_id': None, 'user_api_key_user_id': None, 'user_api_key_org_id': None, 'user_api_key_team_alias': None, 'user_api_key_end_user_id': None, 'user_api_key': 'anything', 'user_api_end_user_max_budget': None, 'litellm_api_version': '1.59.7', 'global_max_parallel_requests': None, 'user_api_key_team_max_budget': None, 'user_api_key_team_spend': None, 'user_api_key_spend': 0.0, 'user_api_key_max_budget': None, 'user_api_key_model_max_budget': {}, 'user_api_key_metadata': {}, 'headers': {'host': 'litellm:4000', 'content-type': 'application/json', 'accept': '*/*', 'accept-encoding': 'gzip, deflate', 'user-agent': 'Python/3.11 aiohttp/3.11.8', 'content-length': '396'}, 'endpoint': 'http://litellm:4000/chat/completions', 'litellm_parent_otel_span': None, 'requester_ip_address': '', 'model_group': 'bedrock-claude-3.5-sonnet', 'model_group_size': 1}, 'litellm_call_id': '9cc93ce7-0c76-4d1c-9b29-e1947307a4e7', 'litellm_logging_obj': <litellm.litellm_core_utils.litellm_logging.Logging object at 0xffff9917d350>, 'stream': True, 'litellm_trace_id': '74ad16cd-5c93-40d5-8868-4c9a628b3328'}
litellm-1 | 22:43:39 - LiteLLM Router:DEBUG: router.py:5359 - initial list of deployments: [{'model_name': 'bedrock-claude-3.5-sonnet', 'litellm_params': {'model': 'bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0'}, 'model_info': {'id': 'f2ba4839a7858dfafc0cbb29ebbdbb92d9f0817d4af578395aa2264022bf3412', 'db_model': False}}]
litellm-1 | 22:43:39 - LiteLLM Router:DEBUG: cooldown_handlers.py:310 - retrieve cooldown models: []
litellm-1 | 22:43:39 - LiteLLM Router:DEBUG: router.py:5420 - async cooldown deployments: []
litellm-1 | 22:43:39 - LiteLLM Router:DEBUG: router.py:5423 - cooldown_deployments: []
litellm-1 | 22:43:39 - LiteLLM Router:DEBUG: router.py:5702 - cooldown deployments: []
litellm-1 | 22:43:39 - LiteLLM Router:INFO: router.py:963 - litellm.acompletion(model=bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0) 200 OK
litellm-1 | 22:43:39 - LiteLLM Router:DEBUG: router.py:2828 - Async Response: <litellm.litellm_core_utils.streaming_handler.CustomStreamWrapper object at 0xffff9917f100>
litellm-1 | INFO: 172.18.0.5:53568 - "POST /chat/completions HTTP/1.1" 200 OK
litellm-1 | 22:43:39 - LiteLLM Proxy:DEBUG: proxy_server.py:2907 - inside generator
webui-1 | INFO: 172.18.0.1:64910 - "POST /api/chat/completions HTTP/1.1" 200 OK
webui-1 | INFO: 172.18.0.1:64910 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 OK
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: proxy_server.py:2911 - async_data_generator: received streaming chunk - ModelResponseStream(id='chatcmpl-7e2799e1-42f4-4df0-ba87-1fa831f15db1', created=1737931420, model='anthropic.claude-3-5-sonnet-20240620-v1:0', object='chat.completion.chunk', system_fingerprint=None, choices=[StreamingChoices(finish_reason=None, index=0, delta=Delta(provider_specific_fields={}, content='Your name backwards is', role='assistant', function_call=None, tool_calls=None, audio=None), logprobs=None)], stream_options=None)
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': '.', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: proxy_server.py:2911 - async_data_generator: received streaming chunk - ModelResponseStream(id='chatcmpl-7e2799e1-42f4-4df0-ba87-1fa831f15db1', created=1737931420, model='anthropic.claude-3-5-sonnet-20240620-v1:0', object='chat.completion.chunk', system_fingerprint=None, choices=[StreamingChoices(finish_reason=None, index=0, delta=Delta(provider_specific_fields={}, content=':', role=None, function_call=None, tool_calls=None, audio=None), logprobs=None)], stream_options=None)
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': '.', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: proxy_server.py:2911 - async_data_generator: received streaming chunk - ModelResponseStream(id='chatcmpl-7e2799e1-42f4-4df0-ba87-1fa831f15db1', created=1737931420, model='anthropic.claude-3-5-sonnet-20240620-v1:0', object='chat.completion.chunk', system_fingerprint=None, choices=[StreamingChoices(finish_reason=None, index=0, delta=Delta(provider_specific_fields={}, content='\n\nybboB', role=None, function_call=None, tool_calls=None, audio=None), logprobs=None)], stream_options=None)
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': 'My name is Bobby. What is my name backwards?', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': '.', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: proxy_server.py:2911 - async_data_generator: received streaming chunk - ModelResponseStream(id='chatcmpl-7e2799e1-42f4-4df0-ba87-1fa831f15db1', created=1737931420, model='anthropic.claude-3-5-sonnet-20240620-v1:0', object='chat.completion.chunk', system_fingerprint=None, choices=[StreamingChoices(finish_reason='stop', index=0, delta=Delta(provider_specific_fields={}, content=None, role=None, function_call=None, tool_calls=None, audio=None), logprobs=None)], stream_options=None)
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': 'My name is Bobby. What is my name backwards?', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': 'My name is Bobby. What is my name backwards?', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': '.', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': 'My name is Bobby. What is my name backwards?', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: model_max_budget_limiter.py:151 - in RouterBudgetLimiting.async_log_success_event
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: model_max_budget_limiter.py:167 - Not running _PROXY_VirtualKeyModelMaxBudgetLimiter.async_log_success_event because user_api_key_model_max_budget is None or empty. `user_api_key_model_max_budget`={}
presidio-analyzer-1 | 2025-01-26 22:43:40,204 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: parallel_request_limiter.py:48 - INSIDE parallel request limiter ASYNC SUCCESS LOGGING
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: parallel_request_limiter.py:48 - updated_value in success call: {'current_requests': 0, 'current_tpm': 539, 'current_rpm': 2}, precise_minute: 2025-01-26-22-43
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: parallel_request_limiter.py:48 - updated_value in success call: {'current_requests': 0, 'current_tpm': 539, 'current_rpm': 2}, precise_minute: 2025-01-26-22-43
webui-1 | INFO: 172.18.0.1:64910 - "POST /api/chat/completed HTTP/1.1" 200 OK
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,224 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'items': []}
webui-1 | INFO: 172.18.0.1:64910 - "POST /api/v1/chats/27a964a1-443f-4668-84ca-574bf3e39ccb HTTP/1.1" 200 OK
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,229 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': '.', 'items': []}
webui-1 | INFO: 172.18.0.1:64910 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 OK
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,236 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': 'My name is <PERSON>. What is my name backwards?', 'items': [{'start': 11, 'end': 19, 'entity_type': 'PERSON', 'text': '<PERSON>', 'operator': 'replace'}]}
litellm-1 | 22:43:40 - LiteLLM Proxy:INFO: presidio.py:335 - Presidio PII Masking: Redacted pii message: [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is <PERSON>. What is my name backwards?'}]
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=pre_call
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=pre_call
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': '.', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': 'My name is <PERSON>. What is my name backwards?', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,242 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': '.', 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,253 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,264 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,269 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': '.', 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,274 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': '.', 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,280 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': 'My name is <PERSON>. What is my name backwards?', 'items': [{'start': 11, 'end': 19, 'entity_type': 'PERSON', 'text': '<PERSON>', 'operator': 'replace'}]}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,291 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:INFO: presidio.py:335 - Presidio PII Masking: Redacted pii message: [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is <PERSON>. What is my name backwards?'}]
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=pre_call
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=pre_call
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': '.', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': 'My name is <PERSON>. What is my name backwards?', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,298 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': 'My name is <PERSON>. What is my name backwards?', 'items': [{'start': 11, 'end': 19, 'entity_type': 'PERSON', 'text': '<PERSON>', 'operator': 'replace'}]}
litellm-1 | 22:43:40 - LiteLLM Proxy:INFO: presidio.py:335 - Presidio PII Masking: Redacted pii message: [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is <PERSON>. What is my name backwards?'}]
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=pre_call
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=pre_call
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': '.', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': 'My name is <PERSON>. What is my name backwards?', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,304 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': 'My name is <PERSON>. What is my name backwards?', 'items': [{'start': 11, 'end': 19, 'entity_type': 'PERSON', 'text': '<PERSON>', 'operator': 'replace'}]}
litellm-1 | 22:43:40 - LiteLLM Proxy:INFO: presidio.py:335 - Presidio PII Masking: Redacted pii message: [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is <PERSON>. What is my name backwards?'}]
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=pre_call
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=pre_call
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': '.', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:163 - Making request to: http://presidio-analyzer:5002/analyze with payload: {'text': 'My name is <PERSON>. What is my name backwards?', 'language': 'en'}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,315 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,337 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': '.', 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,343 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': 'My name is <PERSON>. What is my name backwards?', 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:INFO: presidio.py:335 - Presidio PII Masking: Redacted pii message: [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is <PERSON>. What is my name backwards?'}]
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=post_call
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=post_call
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,348 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': '.', 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,358 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,365 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': 'My name is <PERSON>. What is my name backwards?', 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:INFO: presidio.py:335 - Presidio PII Masking: Redacted pii message: [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is <PERSON>. What is my name backwards?'}]
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=post_call
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=post_call
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,375 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,380 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': '.', 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,386 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': 'My name is <PERSON>. What is my name backwards?', 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:INFO: presidio.py:335 - Presidio PII Masking: Redacted pii message: [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is <PERSON>. What is my name backwards?'}]
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=post_call
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=post_call
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,390 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': '.', 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
presidio-analyzer-1 | 2025-01-26 22:43:40,400 - presidio-analyzer - INFO - Fetching all recognizers for language en
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind.", 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:176 - Making request to: http://presidio-anonymizer:5001/anonymize
litellm-1 | 22:43:40 - LiteLLM Proxy:DEBUG: presidio.py:189 - redacted_text: {'text': 'My name is <PERSON>. What is my name backwards?', 'items': []}
litellm-1 | 22:43:40 - LiteLLM Proxy:INFO: presidio.py:335 - Presidio PII Masking: Redacted pii message: [{'role': 'user', 'content': '.'}, {'role': 'assistant', 'content': "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind."}, {'role': 'user', 'content': 'My name is <PERSON>. What is my name backwards?'}]
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=post_call
litellm-1 | 22:43:40 - LiteLLM:WARNING: custom_guardrail.py:165 - Guardrail Tracing is only available for premium users. Skipping guardrail logging for guardrail=presidio-pre-guard event_hook=post_call
Note that the text isn't redacted. The ultimate response is this:
This should not be possible.
ghcr.io/berriai/litellm@sha256:1d0c5293526b55569e0d98e20e395c239452f017562b3eee3a8ce1590e3fdfa7
What happened?
I'm noticing that when I run LiteLLM with Presidio and AWS Bedrock via Open WebUI, while the logs show that things are being redacted, when I check my cloud logs (CloudWatch) things are not.
Current settings:
When I enter in the following prompt using Open WebUI:
I get these logs from LiteLLM:
And from AWS Bedrock's model invocation logs in CloudWatch in the backend:
{ "schemaType": "ModelInvocationLog", "schemaVersion": "1.0", "timestamp": "2025-01-26T22:43:39Z", "accountId": "<snip>", "identity": { "arn": "arn:aws:sts::<snip>:assumed-role/user-admin/<snip>" }, "region": "us-west-2", "requestId": "f8c97cd5-9009-46bf-9110-24b34d4283dd", "operation": "ConverseStream", "modelId": "anthropic.claude-3-5-sonnet-20240620-v1:0", "input": { "inputContentType": "application/json", "inputBodyJson": { "messages": [ { "role": "user", "content": [ { "text": "." } ] }, { "role": "assistant", "content": [ { "text": "I don't have any additional context or question to respond to. Is there something specific you'd like to ask or discuss? I'm happy to help if you have a question or topic in mind." } ] }, { "role": "user", "content": [ { "text": "My name is Bobby. What is my name backwards?" } ] } ], "system": [], "inferenceConfig": {}, "additionalModelRequestFields": {} }, "inputTokenCount": 65 }, "output": { "outputContentType": "application/json", "outputBodyJson": { "output": { "message": { "role": "assistant", "content": [ { "text": "Your name backwards is:\n\nybboB" } ] } }, "stopReason": "end_turn", "metrics": { "latencyMs": 908 }, "usage": { "inputTokens": 65, "outputTokens": 13, "totalTokens": 78 } }, "outputTokenCount": 13 } }Note that the text isn't redacted. The ultimate response is this:
This should not be possible.
See this Discord thread for initial discussion
Are you a ML Ops Team?
No
What LiteLLM version are you on ?
ghcr.io/berriai/litellm@sha256:1d0c5293526b55569e0d98e20e395c239452f017562b3eee3a8ce1590e3fdfa7
Twitter / LinkedIn details
No response