mirror of
https://github.com/EvolutionAPI/adk-python.git
synced 2025-07-14 01:41:25 -06:00
Copybara import of the project:
-- e4aceb8428b8d2c321e7b44a16869997dd5f0dff by ajdaling <ajdaling@gmail.com>: Fixes issue #311: Add usage_metadata to llm_response COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/694 from chapelhillnorth:fix-issue-311 2735bc01a6a57a5302b58af33266bfbeafc8e184 PiperOrigin-RevId: 758435162
This commit is contained in:
parent
66553b18c6
commit
1f0fd7bfce
@ -85,6 +85,9 @@ class LlmResponse(BaseModel):
|
||||
NOTE: the entire dict must be JSON serializable.
|
||||
"""
|
||||
|
||||
usage_metadata: Optional[types.GenerateContentResponseUsageMetadata] = None
|
||||
"""The usage metadata of the LlmResponse"""
|
||||
|
||||
@staticmethod
|
||||
def create(
|
||||
generate_content_response: types.GenerateContentResponse,
|
||||
@ -98,18 +101,20 @@ class LlmResponse(BaseModel):
|
||||
Returns:
|
||||
The LlmResponse.
|
||||
"""
|
||||
|
||||
usage_metadata = generate_content_response.usage_metadata
|
||||
if generate_content_response.candidates:
|
||||
candidate = generate_content_response.candidates[0]
|
||||
if candidate.content and candidate.content.parts:
|
||||
return LlmResponse(
|
||||
content=candidate.content,
|
||||
grounding_metadata=candidate.grounding_metadata,
|
||||
usage_metadata=usage_metadata,
|
||||
)
|
||||
else:
|
||||
return LlmResponse(
|
||||
error_code=candidate.finish_reason,
|
||||
error_message=candidate.finish_message,
|
||||
usage_metadata=usage_metadata,
|
||||
)
|
||||
else:
|
||||
if generate_content_response.prompt_feedback:
|
||||
@ -117,9 +122,11 @@ class LlmResponse(BaseModel):
|
||||
return LlmResponse(
|
||||
error_code=prompt_feedback.block_reason,
|
||||
error_message=prompt_feedback.block_reason_message,
|
||||
usage_metadata=usage_metadata,
|
||||
)
|
||||
else:
|
||||
return LlmResponse(
|
||||
error_code='UNKNOWN_ERROR',
|
||||
error_message='Unknown error.',
|
||||
usage_metadata=usage_metadata,
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user