Skip to content

Commit

Permalink
feat: log input text for OpenAI format API
Browse files Browse the repository at this point in the history
To fix #1608

Signed-off-by: Peter Pan <[email protected]>
  • Loading branch information
panpan0000 committed Feb 24, 2025
1 parent c979580 commit c23304e
Showing 1 changed file with 29 additions and 2 deletions.
31 changes: 29 additions & 2 deletions python/sglang/srt/openai_api/adapter.py
Original file line number Diff line number Diff line change
Expand Up @@ -866,6 +866,14 @@ def v1_chat_generate_request(
orchestrator,
request_ids: List[str] = None,
):
def format_openai_content_for_logging(content):
if isinstance(content, dict) and "text" in content:
return content["text"]
elif isinstance(content, list):
return " ".join(map(str, content))
else:
return str(content)

input_ids = []
sampling_params_list = []
image_data_list = []
Expand Down Expand Up @@ -995,11 +1003,29 @@ def v1_chat_generate_request(

image_data_list.append(image_data)
modalities_list.append(modalities)

# User input context for logging

user_content_text = ""
if orchestrator.server_args.log_requests:
user_content_text = (
" ".join(
[
format_openai_content_for_logging(msg.content)
for msg in request.messages
if msg.role == "user"
]
)
if request.messages
else ""
)

if len(all_requests) == 1:
if isinstance(input_ids[0], str):
prompt_kwargs = {"text": input_ids[0]}
else:
prompt_kwargs = {"input_ids": input_ids[0]}
prompt_kwargs = {"input_ids": input_ids[0], "text": user_content_text}

sampling_params_list = sampling_params_list[0]
image_data_list = image_data_list[0]
return_logprobs = return_logprobs[0]
Expand All @@ -1010,8 +1036,9 @@ def v1_chat_generate_request(
else:
if isinstance(input_ids[0], str):
prompt_kwargs = {"text": input_ids}

else:
prompt_kwargs = {"input_ids": input_ids}
prompt_kwargs = {"input_ids": input_ids[0], "text": user_content_text}

adapted_request = GenerateReqInput(
**prompt_kwargs,
Expand Down

0 comments on commit c23304e

Please sign in to comment.