3737 ResponseReasoningSummaryTextDeltaEvent ,
3838 ResponseTextDeltaEvent ,
3939 ResponseCompletedEvent ,
40+ ResponseIncompleteEvent ,
41+ ResponseError ,
42+ )
43+ from volcenginesdkarkruntime .types .responses .response_incomplete_details import (
44+ IncompleteDetails ,
4045)
4146from 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+
554579def 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