diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2026-01-15 11:40:19 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2026-01-15 12:26:50 +0000 |
| commit | b223fd77dc7379c8fd2f26596cf12502a9354ea3 (patch) | |
| tree | 3a3709596dd253f7dd07bf6724a925d597250d60 | |
| parent | e30f059fce4242956bd289e6690b150ddc6cd0d5 (diff) | |
pkg/aflow: expect CitationMetadata
CitationMetadata may be present in replies sometimes.
CitationMetadata is a specific field in the Gemini API's response object
that alerts you when the model has directly quoted or closely derived
content from a specific source, such as a book, website, or open-source code repository.
We've got the following error:
syz-agent: unexpected reply fields ({Content:0xc0058eb4a0 CitationMetadata:0xc0094009a8
FinishMessage: TokenCount:0 FinishReason:STOP AvgLogprobs:0
GroundingMetadata:<nil> Index:0 LogprobsResult:<nil> SafetyRatings:[]
URLContextMetadata:<nil>})
| -rw-r--r-- | pkg/aflow/llm_agent.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/pkg/aflow/llm_agent.go b/pkg/aflow/llm_agent.go index 76661add6..b897643c7 100644 --- a/pkg/aflow/llm_agent.go +++ b/pkg/aflow/llm_agent.go @@ -191,9 +191,9 @@ func (a *LLMAgent) parseResponse(resp *genai.GenerateContentResponse) ( err = fmt.Errorf("%v (%v)", candidate.FinishMessage, candidate.FinishReason) return } - // We don't expect to receive these now. - if candidate.GroundingMetadata != nil || candidate.CitationMetadata != nil || - candidate.LogprobsResult != nil { + // We don't expect to receive these fields now. + // Note: CitationMetadata may be present sometimes, but we don't have uses for it. + if candidate.GroundingMetadata != nil || candidate.LogprobsResult != nil { err = fmt.Errorf("unexpected reply fields (%+v)", *candidate) return } |
