mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-23 05:34:41 +00:00
Merge 03fcf03e13 into c58fc0c996
This commit is contained in:
commit
99c5affa9c
2 changed files with 27 additions and 0 deletions
|
|
@ -662,6 +662,12 @@ class OpenAIResponsesHandler(BaseTranslation):
|
|||
data["instructions"] = written_back.instructions # rebind-ok: data is an out-param
|
||||
else:
|
||||
await self._apply_guardrailed_texts(data, input_data, extracted, guardrail_to_apply, guardrailed_inputs)
|
||||
if litellm_logging_obj is not None:
|
||||
sanitized_input: Final = data.get("input")
|
||||
sanitized_messages: Final = self.get_structured_messages(data) or []
|
||||
litellm_logging_obj.messages = sanitized_messages
|
||||
litellm_logging_obj.model_call_details["messages"] = sanitized_messages
|
||||
litellm_logging_obj.model_call_details["input"] = sanitized_input
|
||||
verbose_proxy_logger.debug("OpenAI Responses API: Processed input messages: %s", data.get("input"))
|
||||
return data
|
||||
|
||||
|
|
|
|||
|
|
@ -265,6 +265,27 @@ class TestOpenAIResponsesHandlerInputProcessing:
|
|||
assert result["input"] == "Hello world [GUARDRAILED]"
|
||||
assert result["model"] == "gpt-4"
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_rewritten_input_refreshes_logging_snapshot(self):
|
||||
handler = OpenAIResponsesHandler()
|
||||
guardrail = MockGuardrail(guardrail_name="test")
|
||||
logging_obj = MagicMock()
|
||||
original_messages = [{"role": "user", "content": "sensitive-value"}]
|
||||
logging_obj.messages = original_messages
|
||||
logging_obj.model_call_details = {
|
||||
"messages": original_messages,
|
||||
"input": "sensitive-value",
|
||||
}
|
||||
data = {"input": "sensitive-value", "model": "gpt-4"}
|
||||
|
||||
result = await handler.process_input_messages(data, guardrail, logging_obj)
|
||||
|
||||
assert result["input"] == "sensitive-value [GUARDRAILED]"
|
||||
sanitized_messages = [{"role": "user", "content": result["input"]}]
|
||||
assert logging_obj.messages == sanitized_messages
|
||||
assert logging_obj.model_call_details["messages"] == sanitized_messages
|
||||
assert logging_obj.model_call_details["input"] == result["input"]
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_process_input_none(self):
|
||||
"""Test processing when input is None"""
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue