LLM-as-judge default config triggers google-genai's AFC warning in every eval run
@surajksharma07 arbeitet bereits daran.
Seit 17.9.2026.
Bewertung
- Schwierigkeit
- 1/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 86/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- python
- Bereich
- testing-qa
Rechercherichtung
Beginne bei src/google/adk/evaluation/llm_as_judge.py:224-225, wo LlmAsJudge die standardmäßige GenerateContentConfig für Judge-Anfragen erstellt. Überprüfe, dass die Standardeinstellung das automatische Function Calling deaktiviert, ohne die vom Benutzer bereitgestellte judge_model_config zu ändern, führe anschließend die relevanten Evaluierungsprüfungen aus und bestätige, dass die google-genai-AFC-Warnung nicht mehr erscheint.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
Every rubric-based eval run logs this google-genai warning once per process:
WARNING google_genai.models: Direct use of automatic function calling (AFC) in AsyncModels.generate_content is not recommended. Instead, we recommend to use AFC in AsyncChat.send_message. Similarly, direct use of AFC in AsyncModels.generate_content_stream is not recommended. ...
The agent under evaluation does not cause it. It comes from the LLM-as-judge request.
Where it comes from
LlmAsJudge builds the judge request with config=self._judge_model_options.judge_model_config or genai_types.GenerateContentConfig() (src/google/adk/evaluation/llm_as_judge.py:224-225 on main at ce53a36c0a, and the same in 2.9.0 and 2.9.1).
That default config sets neither tools nor automatic_function_calling. google-genai's AsyncModels.generate_content therefore takes its AFC branch and logs the warning:
_extra_utils.should_disable_afcreturnsFalsewhenautomatic_function_callingis unset.- With no tools there are no AFC-incompatible tool indexes, so the direct
_generate_contentpath is skipped.
An agent's own model calls do not hit this. ADK sends tools as function_declarations, which google-genai marks AFC-incompatible, so those calls go straight to _generate_content.
How it was observed
In an eval suite running rubric_based_*_quality_v1 metrics with gemini-3.5-flash as judge (google-adk 2.9.0, google-genai as resolved by it):
- The warning appears once per pytest process.
- It always appears right after the agent's inference for the case ends and right before the rubric verdicts.
- It never appears during the agent's own model calls.
- The deployed agent's logs, same code without the eval harness, contain no occurrence over 7 days.
Suggestion
The judge never needs automatic function calling. Its default config could disable it explicitly:
config=self._judge_model_options.judge_model_config
or genai_types.GenerateContentConfig(
automatic_function_calling=genai_types.AutomaticFunctionCallingConfig(disable=True)
),
This does not change the request sent to the model (the field is client-side only) and removes a warning that points users at their own agent. Users who pass judge_model_config are unaffected.
- Vorherrschende Sprache
- Python
- Sterne
- 21.6k
- Forks
- 4k
- Ø Merge
- 13 Std. 49 Min.
- Gemergte PRs (30 T.)
- 10
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus google/adk-python
-
mcp
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
google/adk-python#7217 · 2 Kommentare · 1 zugewiesene Person ·
-
tools
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
google/adk-python#7206 · 1 Kommentar · 1 zugewiesene Person ·
-
tools
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
google/adk-python#7205 · 1 Kommentar · 1 zugewiesene Person ·
-
mcp
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
google/adk-python#7196 · 1 Kommentar · 1 zugewiesene Person ·
-
mcp
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
google/adk-python#7144 · 1 Kommentar · 1 zugewiesene Person ·
Alle Issues in google/adk-python
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100