mirror of
https://github.com/encounter/adk-python.git
synced 2026-07-09 18:19:28 -07:00
feat: Expose log probs of candidates in LlmResponse
fixes https://github.com/google/adk-python/issues/2764 PiperOrigin-RevId: 807516910
This commit is contained in:
committed by
Copybara-Service
parent
1ce043a278
commit
f7bd3c111c
@@ -42,6 +42,8 @@ class LlmResponse(BaseModel):
|
||||
custom_metadata: The custom metadata of the LlmResponse.
|
||||
input_transcription: Audio transcription of user input.
|
||||
output_transcription: Audio transcription of model output.
|
||||
avg_logprobs: Average log probability of the generated tokens.
|
||||
logprobs_result: Detailed log probabilities for chosen and top candidate tokens.
|
||||
"""
|
||||
|
||||
model_config = ConfigDict(
|
||||
@@ -109,6 +111,12 @@ class LlmResponse(BaseModel):
|
||||
output_transcription: Optional[types.Transcription] = None
|
||||
"""Audio transcription of model output."""
|
||||
|
||||
avg_logprobs: Optional[float] = None
|
||||
"""Average log probability of the generated tokens."""
|
||||
|
||||
logprobs_result: Optional[types.LogprobsResult] = None
|
||||
"""Detailed log probabilities for chosen and top candidate tokens."""
|
||||
|
||||
@staticmethod
|
||||
def create(
|
||||
generate_content_response: types.GenerateContentResponse,
|
||||
@@ -131,6 +139,8 @@ class LlmResponse(BaseModel):
|
||||
grounding_metadata=candidate.grounding_metadata,
|
||||
usage_metadata=usage_metadata,
|
||||
finish_reason=candidate.finish_reason,
|
||||
avg_logprobs=candidate.avg_logprobs,
|
||||
logprobs_result=candidate.logprobs_result,
|
||||
)
|
||||
else:
|
||||
return LlmResponse(
|
||||
@@ -138,6 +148,8 @@ class LlmResponse(BaseModel):
|
||||
error_message=candidate.finish_message,
|
||||
usage_metadata=usage_metadata,
|
||||
finish_reason=candidate.finish_reason,
|
||||
avg_logprobs=candidate.avg_logprobs,
|
||||
logprobs_result=candidate.logprobs_result,
|
||||
)
|
||||
else:
|
||||
if generate_content_response.prompt_feedback:
|
||||
|
||||
Reference in New Issue
Block a user