Skip to content

Commit 214deb3

Browse files
authored
chore: ark_llm record logs (volcengine#496)
1 parent a246bc5 commit 214deb3

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

veadk/models/ark_llm.py

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@
3737
ResponseReasoningSummaryTextDeltaEvent,
3838
ResponseTextDeltaEvent,
3939
ResponseCompletedEvent,
40+
ResponseIncompleteEvent,
41+
ResponseError,
42+
)
43+
from volcenginesdkarkruntime.types.responses.response_incomplete_details import (
44+
IncompleteDetails,
4045
)
4146
from volcenginesdkarkruntime.types.responses.response_input_message_content_list_param import (
4247
ResponseInputTextParam,
@@ -551,6 +556,26 @@ def request_reorganization_by_ark(request_data: Dict) -> Dict:
551556

552557
# ---------------------------------------
553558
# output transfer -----------------------
559+
def record_logs(raw_response: ArkTypeResponse):
560+
try:
561+
if isinstance(raw_response, ArkTypeResponse):
562+
error_message = ""
563+
if raw_response.error and isinstance(raw_response.error, ResponseError):
564+
error_message += f"The response with error code `{raw_response.error.code}`, error message is `{raw_response.error.message}`"
565+
566+
if raw_response.incomplete_details and isinstance(
567+
raw_response.incomplete_details, IncompleteDetails
568+
):
569+
error_message += f"The reason for the incomplete return is `{raw_response.incomplete_details.reason}`, content_filter: `{raw_response.incomplete_details.content_filter}`"
570+
logger.debug(
571+
f"Ark response: Received Response from model `{raw_response.model}` with id `{raw_response.id}`. "
572+
f"Status: `{raw_response.status}`. "
573+
f"{error_message}"
574+
)
575+
except Exception as e:
576+
logger.error(f"Failed to record ark logs: {e}")
577+
578+
554579
def event_to_generate_content_response(
555580
event: Union[ArkTypeResponse, ResponseStreamEvent],
556581
*,
@@ -587,7 +612,9 @@ def event_to_generate_content_response(
587612
parts.append(types.Part(text=event.delta, thought=True))
588613
elif isinstance(event, ResponseTextDeltaEvent):
589614
parts.append(types.Part.from_text(text=event.delta))
590-
elif isinstance(event, ResponseCompletedEvent):
615+
elif isinstance(event, ResponseCompletedEvent) or isinstance(
616+
event, ResponseIncompleteEvent
617+
):
591618
raw_response = event.response
592619
llm_response = ark_response_to_generate_content_response(raw_response)
593620
return llm_response
@@ -607,6 +634,7 @@ def ark_response_to_generate_content_response(
607634
ArkTypeResponse -> LlmResponse
608635
instead of `_model_response_to_generate_content_response`,
609636
"""
637+
record_logs(raw_response)
610638
outputs = raw_response.output
611639
status = raw_response.status
612640
incomplete_details = getattr(

0 commit comments

Comments
 (0)