Entwicklerleitfaden für Gemini 4 Argon

Gemini 4 Argon ist das Frontier-Modell von Google, das sich für komplexe Aufgaben in der realen Welt in verschiedenen Bereichen wie Programmierung, Finanzen, Recht, Cybersicherheit und Wissenschaft eignet. Es ist das erste Modell der Gemini 4-Familie.

In diesem Dokument erfahren Sie, was es Neues bei Gemini 4 Argon gibt, welche API-Konventionen es erzwingt, wie Sie zu diesem Modell migrieren und wie Sie es schnell ausprobieren können. Eine Übersicht über die Gemini 4-Familie finden Sie unter Erste Schritte mit Gemini 4.

Neuerungen bei Gemini 4 Argon

  • Einheitliches Tokenlimit für Eingabe und Ausgabe: 4 Argon hat ein einheitliches Limit von 1.048.576 Token, das sowohl Eingabe- als auch Ausgabe tokens umfasst. Die Ausgabe umfasst den Thinking-Modus, Funktionsaufrufe und die endgültige Antwort.
  • Lange Decodes mit bis zu 1.048.576 Token: Die Generierung wird über das Ausgabelimit für einzelne Anfragen (65.536 Token oder 32.768 Token für nicht streamende direkte HTTP-Anfragen) hinaus auf bis zu 1.048.576 Token (abzüglich Ihrer Eingabetokens) für GenerateContent erweitert. Das Google Gen AI SDK verarbeitet continuation_token automatisch für alle Anfragen. Alternativ können Sie continuation_token in einer eigenen Fortsetzungsschleife verwalten.
  • Thinking-Modi: LOW, MEDIUM (Standard für gemini-4-argon) und HIGH (Standard für gemini-4-argon-cyber-permissive).
  • Implizites Caching mit dauerhaftem Caching: Das implizite Caching wird automatisch auf gemeinsame Prompt-Präfixe mit 6.144 Token oder mehr angewendet. Das dauerhafte Caching ist standardmäßig aktiviert. Explizites Kontext-Caching wird nicht unterstützt.
  • Agentisches Videoverständnis: Allgemein verfügbar und standardmäßig deaktiviert.

Kurzanleitung

Bevor Sie beginnen, müssen Sie sich mit Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) oder einem API-Schlüssel bei der Agent Platform authentifizieren. Weitere Informationen finden Sie unter Erste Schritte mit der Gemini Enterprise Agent Platform.

Ersetzen Sie in den folgenden Codeblöcken PROJECT_ID durch Ihre Projekt-ID.

In Agent Studio testen

So testen Sie Prompts und konfigurieren gemini-4-argon in der Agent Studio UI:

  1. Öffnen Sie Agent Studio in Ihrem Cloud de Confiance by S3NS Projekt und wählen Sie gemini-4-argon unter der Gruppe „Gemini“ aus.
  2. Konfigurieren Sie unter Modelleinstellungen Folgendes:
    • Thinking-Modus: Wählen Sie Low, Medium (Standard) oder High aus.
    • Region: Wählen Sie Global, us oder eu aus.
    • Tokenausgabelimit: Legen Sie einen Wert zwischen 32,768 und 1,048,576 fest (1,048,576 Standardwert). Agent Studio verarbeitet Fortsetzungstokens automatisch für Antworten, die das Limit für einzelne Anfragen überschreiten.

Installation

Führen Sie ein Upgrade auf das aktuelle Google Gen AI SDK durch (google-genai >= 2.30.1 für Python, @google/genai >= 2.29.1 für JavaScript, >= 1.74.0 für Go, >= 1.77.0 für Java, >= 1.26.0 für .NET oder >= 1.6.0 für Kotlin):

pip install --upgrade "google-genai>=2.30.1"

Einfache Anfrage

Python (GenerateContent)

from google import genai
from google.genai import types

client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")

response = client.models.generate_content(
    model="gemini-4-argon",
    contents="Design a lock-free ring buffer in Rust for multi-producer, single-consumer telemetry ingestion.",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(
            thinking_level="MEDIUM",  # Default: "MEDIUM" (Valid: "LOW", "MEDIUM", "HIGH")
        ),
    ),
)
print(response.text)

Python (Interactions API)

from google import genai

client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")

# Turn 1: Initial request (stored server-side by default)
turn1 = client.interactions.create(
    model="gemini-4-argon",
    input="Design a lock-free ring buffer in Rust for multi-producer, single-consumer telemetry ingestion.",
    store=True,
)
print(turn1.output_text)

# Turn 2: Continue the conversation using previous_interaction_id
turn2 = client.interactions.create(
    model="gemini-4-argon",
    input="Add a bounded backpressure policy and unit tests for concurrent writers.",
    previous_interaction_id=turn1.id,
)
print(turn2.output_text)

REST

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-4-argon:generateContent" \
-d '{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "Provide an architectural review of this Go interface."
        }
      ]
    }
  ],
  "generationConfig": {
    "thinkingConfig": {
      "thinkingLevel": "MEDIUM"
    }
  }
}'

Strukturierte Ausgabe

from pydantic import BaseModel, Field
from google import genai
from google.genai import types

class ArchitectureReview(BaseModel):
    component: str = Field(description="Service or module name")
    bottlenecks: list[str] = Field(description="Throughput or latency bottlenecks")
    recommended_changes: list[str] = Field(description="Concrete refactoring steps")

client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")

response = client.models.generate_content(
    model="gemini-4-argon",
    contents="Review a synchronous order-processing pipeline backed by a single primary database at 15,000 writes/sec.",
    config=types.GenerateContentConfig(
        response_mime_type="application/json",
        response_schema=ArchitectureReview,
        thinking_config=types.ThinkingConfig(thinking_level="HIGH"),
    ),
)
print(response.text)

Lange Decodes

Standardmäßig werden bei einer einzelnen API-Anfrage bis zu 65.536 Ausgabetokens generiert (oder 32.768 Token für nicht streamende direkte HTTP-Anfragen). Die Ausgabe umfasst den Thinking-Modus, Funktionsaufrufe und die endgültige Antwort. Wenn Sie mit GenerateContent (v1beta1) bis zu 1.048.576 Vervollständigungen generieren möchten, legen Sie für max_output_tokens einen Wert über 65.536 für Streaming-Anfragen oder über 32.768 für nicht streamende Anfragen fest (bis zu 1.048.576). Das Google Gen AI SDK folgt automatisch continuation_token für alle Anfragen, wenn finish_reason den Wert CONTINUATION hat. Sie können automatic_continuation=False in GenerateContentConfig festlegen, um die automatische Fortsetzung zu deaktivieren. Alternativ können Sie continuation_token in einer benutzerdefinierten Schleife übergeben.

from google import genai
from google.genai import types

client = genai.Client(enterprise=True, project="PROJECT_ID", location="global")

# Automatic continuation is enabled by default in google-genai >= 2.30.1.
# Chunks across all continuation requests are yielded as a single stream.
for chunk in client.models.generate_content_stream(
    model="gemini-4-argon",
    contents="Write a complete formal proof of the prime number theorem.",
    config=types.GenerateContentConfig(
        max_output_tokens=256000,
        thinking_config=types.ThinkingConfig(thinking_level="HIGH"),
    ),
):
    print(chunk.text, end="")

# Set automatic_continuation=False to disable automatic continuation.
for chunk in client.models.generate_content_stream(
    model="gemini-4-argon",
    contents="Write a complete formal proof of the prime number theorem.",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_level="HIGH"),
        automatic_continuation=False,
    ),
):
    print(chunk.text, end="")

REST (benutzerdefinierte Fortsetzungsschleife)

# Request 1: Initial request with maxOutputTokens > 32,768
curl -s -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-4-argon:generateContent" \
  -d '{
    "contents": [{
      "role": "user",
      "parts": [{"text": "Write a complete formal proof of the prime number theorem."}]
    }],
    "generationConfig": {
      "maxOutputTokens": 131072,
      "thinkingConfig": {"thinkingLevel": "HIGH"}
    }
  }'

# Request 2: Resend the original request with top-level continuationToken
# from Request 1 (candidates[0].continuationToken)
curl -s -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-4-argon:generateContent" \
  -d '{
    "contents": [{
      "role": "user",
      "parts": [{"text": "Write a complete formal proof of the prime number theorem."}]
    }],
    "continuationToken": "CONTINUATION_TOKEN_FROM_REQUEST_1",
    "generationConfig": {
      "maxOutputTokens": 131072,
      "thinkingConfig": {"thinkingLevel": "HIGH"}
    }
  }'

Obligatorische API-Regeln und Verhaltenskonventionen

Gemini 4 Argon erzwingt die folgenden Konventionen:

  • Thinking-Modi: Gemini 4 Argon unterstützt drei thinking_level Werte (thinking_budget und MINIMAL wird ein HTTP 400 Validierungsfehler zurückgegeben):

    Thinking-Modus Empfohlene Arbeitslasten
    HIGH (Standard für gemini-4-argon-cyber-permissive) Softwareentwicklung mit mehreren Dateien, formale Beweise, Architekturdesign und Erkennung von Sicherheitslücken.
    MEDIUM (Standard für gemini-4-argon) Allgemeine Programmierung, Toolnutzung, Fragen und Antworten zu Dokumenten und Videoverständnis.
    LOW Klassifizierung, Zusammenfassung und Extraktion von Metadaten.
  • Einheitliches Tokenlimit für Eingabe und Ausgabe und Ausgabelimits für einzelne Anfragen:

    • 1,048,576 ist das allgemeine Tokenlimit des Modells und umfasst sowohl Eingabe- als auch Ausgabetokens. Die Ausgabe umfasst den Thinking-Modus, Funktionsaufrufe und die endgültige Antwort. max_output_tokens steuert die Obergrenze für Ausgabetokens für die Generierung (bis zu 1,048,576 abzüglich Ihrer Eingabetokens). Wenn Sie für max_output_tokens einen Wert über 1,048,576 festlegen, wird ein HTTP-Fehler 400 zurückgegeben.
    • Um unbeabsichtigte lange Vervollständigungen zu vermeiden, beträgt das Standardausgabelimit für einzelne Anfragen (Thinking-Modus + Modellantwort) 65.536 Token (oder 32.768 Token für nicht streamende direkte HTTP-Anfragen).
  • Lange Decodes:

    • Funktionsweise langer Decodes: Bei langen Decodes wird eine Generierung von bis zu 1.048.576 Token auf mehrere GenerateContent Inferenzschritte aufgeteilt. Wenn für eine Aufgabe beispielsweise 256.000 Ausgabetokens erforderlich sind (einschließlich Gedanken, Funktionsaufrufe und die endgültige Antwort), werden bei der ersten Streaming-Anfrage bis zu 65.536 Ausgabetokens generiert und finish_reason=CONTINUATION mit einem verschlüsselten continuation_token ausgegeben, das einen Hash des ursprünglichen Prompts und des Generierungsstatus bis zu diesem Zeitpunkt enthält. Wenn Sie continuation_token in nachfolgenden Anfragen mit dem ursprünglichen Prompt einfügen, wird die Generierung an der Stelle fortgesetzt, an der sie unterbrochen wurde, bis continuation_token nicht mehr ausgegeben wird und finish_reason=STOP. In Agent Studio werden Fortsetzungstokens automatisch verarbeitet, wenn Sie das Ausgabetokenlimit auf einen Wert zwischen 65.536 und 1.048.576 festlegen.
    • Wann sollten lange Decodes verwendet werden?: Die meisten Anfragen werden innerhalb des Limits pro Anfrage abgeschlossen (65.536 Token oder 32.768 Token für nicht streamende REST-Aufrufe). Verwenden Sie lange Decodes nur, wenn für eine Antwort mehr Ausgabe erforderlich ist. Lange Decodes geben dem Modell mehr Spielraum für Schlussfolgerungen. Sie machen Antworten nicht länger. Verwenden Sie thinking_level, um den Detailgrad der Schlussfolgerungen zu steuern.
    Arbeitslast Lange Decodes verwenden? Warum
    Schwierige Mathematik, Wissenschaft, Forschung und formale Beweise Ja Das Modell kann mehr als 65.536 Token verwenden,um seine Schlussfolgerungen zu untersuchen und zu überprüfen.
    Die schwierigsten Programmier- und Agentenaufgaben Ja Für einige Aufgaben sind mehr als 65.536 Token für den Thinking-Modus und Code in einer Antwort erforderlich. Die meisten Programmier- und Agentenaufgaben werden mit weniger als 65.536 Token abgeschlossen.
    Evaluierungstools, die am Ausgabelimit anhalten Ja Lange Decodes verhindern abgeschnittene Antworten, wenn das Modell eine gesamte Anfrage mit 65.536 oder 32.768 Token für den Thinking-Modus verwendet.
    Chat, Fragen und Antworten, Zusammenfassung, Klassifizierung und Extraktion Nein Diese Aufgaben werden mit deutlich weniger als 32.768 Token abgeschlossen.
    Anfragen mit einer festen Länge, z. B. „Schreibe ein Buch mit 700.000 Wörtern“ Nein Das Modell berücksichtigt keine Längenangaben.
    Agenten, die Tools in vielen kurzen Schritten aufrufen Nein Jeder Schritt ist kurz. Große Ausgaben in jedem Schritt führen schnell zum einheitlichen Limit von 1.048.576 Token für Eingabe und Ausgabe.
    Prompts, die sich dem Eingabelimit von 1.048.576 Token nähern Nein Für die Ausgabe können nur 1.048.576 Token abzüglich Ihrer Eingabe verwendet werden.
    Anfragen mit geringer Latenz Nein Lange Decodes können mehrere Minuten dauern.
    • Option für die Fortsetzung auswählen: Wählen Sie eine von zwei Optionen aus. Die meisten Entwickler verwenden Option 1. Alle Optionen erreichen das gleiche Limit von 1.048.576 Token für gemini-4-argon und gemini-4-argon-cyber-permissive.
    Dimension Option 1: Google Gen AI SDK (empfohlen) Option 2: Eigene Streaming-Schleife (streamGenerateContent) Option 2: Eigene nicht streamende Schleife (generateContent)
    Wer startet jedes Segment? Google Gen AI SDKs: Python (google-genai) 2.30.1, JavaScript (@google/genai) 2.29.1, Go 1.74.0, Java 1.77.0, .NET 1.26.0 und Kotlin 1.6.0. Sie legen max_output_tokens fest. Ihr Code an jedem Prüfpunkt oder nach einem abgebrochenen Stream Ihr Code alle 32.768 Token
    Tokens pro Anfrage Bis zu 65.536 pro Segment 65.536 pro Stream mit einem Prüfpunkt alle 5.000 Token nach 32.768 32.768 pro Anfrage
    Zeitlimit pro Anfrage 20 Minuten 20 Minuten 20 Minuten
    Speicher Kein Serverspeicher (ZDR-konform) Kein Serverspeicher (ZDR-konform) Kein Serverspeicher (ZDR-konform)
    Optimal für Die meisten Anwendungen REST-Aufrufer und benutzerdefinierte Tools, die streamen Einfache Evaluierungstools
    • Implementierungsregeln und -beschränkungen:
      • v1beta1 API-Anforderung (bekanntes Problem): Lange Decodes (continuation_token) für GenerateContent (generateContent und streamGenerateContent) werden nur in der v1beta1-API unterstützt (nicht v1). Das Google Gen AI SDK verwendet standardmäßig v1beta1, es sei denn, api_version='v1' ist in http_options angegeben. Verwenden Sie für direkte REST -Aufrufe den Endpunktpfad v1beta1. Lange Decodes werden in der Interactions API nicht unterstützt.
      • SDK-Versionen und OpenAI-Kompatibilität: Führen Sie ein Upgrade auf das aktuelle Google Gen AI SDK (google-genai >= 2.30.1 für Python, @google/genai >= 2.29.1 für JavaScript, >= 1.74.0 für Go, >= 1.77.0 für Java, >= 1.26.0 für .NET oder >= 1.6.0 für Kotlin) durch. Mit älteren SDK-Versionen und der OpenAI-Kompatibilitätsebene können keine langen Vervollständigungen mit Fortsetzungstokens abgerufen werden. Informationen zu benutzerdefinierten Clientimplementierungen finden Sie in den Referenzimplementierungen des Google Gen AI SDK in Python und JavaScript/TypeScript.
      • Ursprüngliche Anfrage mit continuation_token: Legen Sie in einer benutzerdefinierten Schleife für max_output_tokens einen Wert über 65.536 (Streaming) oder 32.768 (unär) bis zu 1.048.576 fest und senden Sie bei jeder Fortsetzungsanfrage die ursprünglichen Werte für contents, system_instruction und tools zusammen mit dem neuesten continuation_token (ein Feld der obersten Ebene in GenerateContentRequest in REST oder in GenerateContentConfig im Google Gen AI SDK). Hängen Sie keine Teilausgabe des Modells an contents an und senden Sie keinen Folgeprompt, in dem das Modell aufgefordert wird, fortzufahren.
      • Mit Anfragen nur für den Thinking-Modus fortfahren: Führen Sie eine Schleife aus, solange finish_reason den Wert CONTINUATION hat und continuation_token vorhanden ist,auch wenn bei einer Anfrage alle 32.768 oder 65.536 Token für den Thinking-Modus verwendet wurden (parts: [{"text": ""}]). Wenn finish_reason den Wert MAX_TOKENS hat,während continuation_token vorhanden ist, hat die Generierung die angeforderte Obergrenze für max_output_tokens erreicht. Erhöhen Sie max_output_tokens in der Anfrage. Kombinieren Sie die gesammelten Teile erst nach STOP zu einem einzelnen model-Schritt für den Multi-Turn-Verlauf.
      • Tokenzählung, Komprimierung und 95% Rabatt auf implizites Caching:
        • Im Google Gen AI SDK für Python (generate_content und generate_content_stream) werden in usage_metadata der endgültigen Antwort oder des Chunks die insgesamt in Rechnung gestellten Tokens für alle Fortsetzungsanfragen zusammengefasst. Da bei jeder Fortsetzungsanfrage vorherige Teilausgaben als Eingabetokens neu eingefügt werden, erhöht sich prompt_token_count kumulativ für alle Fortsetzungsanfragen. Verwenden Sie prompt_token_count nicht, um die Kontextkomprimierung in Agenten-Frameworks auszulösen. Lesen Sie stattdessen initial_prompt_token_count (in GenerateContentResponse oder usage_metadata) und warten Sie, bis GenerateContent abgeschlossen ist (kein continuation_token vorhanden), bevor Sie die Komprimierung durchführen.
        • In benutzerdefinierten REST-Schleifen ist usage_metadata für jede Anfrage kumulativ. Addieren Sie die endgültigen Werte für prompt_token_count, cached_content_token_count, candidates_token_count und thoughts_token_count für alle Anfragen.
        • Bei jeder Fortsetzungsanfrage werden der Prompt und die zuvor decodierten Tokens neu eingefügt. Außerdem wird automatisch der Rabatt von 95% auf das implizite Kontext-Caching angewendet (mindestens 6.144 Token), wenn Anfragen innerhalb der TTL des Caches von 15 bis 20 Minuten direkt nacheinander ausgeführt werden.
        • streamGenerateContent und generateContent geben usage_metadata am Ende jeder Anfrage zurück (65.536 für Streaming, 32.768 für unär). Die Abrechnung erfolgt am Ende der Anfrage.
  • Ignorierte Sampling-Parameter (temperature, top_k, top_p): Das Backend ignoriert benutzerdefinierte Werte. Steuern Sie den Detailgrad der Schlussfolgerungen mit thinking_level und das Ausgabeformat mit response_schema.

  • Nicht unterstützte Parameter (frequency_penalty, presence_penalty, candidate_count): Diese Parameter führen zu einem HTTP-Fehler 400. Entfernen Sie sie aus Ihren Anfragen.

  • Kontext-Caching: Explizites Kontext-Caching wird nicht unterstützt. Implizites Caching (mit standardmäßig aktiviertem dauerhaftem Caching) wird automatisch auf gemeinsame Prompt-Präfixe mit 6.144 Token oder mehr angewendet. Platzieren Sie statische Inhalte daher am Anfang Ihres Prompts.

  • Agentisches Video: Hochgeladene Videos haben standardmäßig media_processing="static". Legen Sie media_processing="agentic" fest, um die agentische Videoverarbeitung zu aktivieren.

  • Tokenzählung und Abrechnung: Jedes Token, das vom Modell verarbeitet wird, wird gezählt und in Rechnung gestellt, einschließlich der Tokens für den Thinking-Modus sowie der Systemanweisungen für interne Tools und Funktionsdeklarationen bei der Fundierung. Die Fundierung mit der Google Suche wird weiterhin pro Abfrage in Rechnung gestellt.

  • Funktionsaufrufe:

    • Symmetrie der Schritte: Jede FunctionResponse muss mit der id, name, und der Reihenfolge des vorherigen FunctionCall übereinstimmen.
    • Sequenzielle Ausführung: Bevorzugen Sie sequenzielle Toolausführungsschritte in mehrstufigen Toolschleifen.
    • Formatierung vor dem Toolaufruf: Trennen Sie Inline-Anweisungen mit \n\n und vermeiden Sie unstrukturierten Text vor Toolaufrufen. Wenn Sie den Zwischenstatus vor einem Toolaufruf protokollieren möchten, verwenden Sie eine spezielle Funktionsdeklaration:

      {
        "name": "update",
        "description": "Update working notes before tool execution",
        "parameters": {
          "type": "OBJECT",
          "properties": {
            "previous_step": {"type": "STRING"},
            "plan": {"type": "STRING"},
            "next_step": {"type": "STRING"}
          },
          "required": ["previous_step", "plan", "next_step"]
        }
      }
      
  • Validierung der Chatsequenz:

    • Verlaufsnutzlasten dürfen nicht mit einem Schritt der Rolle model enden.
    • Vorausgefüllte Modellschritte werden nicht unterstützt.

Von Gemini 3.1 Pro zu Gemini 4 Argon migrieren

Das folgende Verhalten unterscheidet sich von gemini-3.1-pro-preview:

  • Gemini 4 Argon hat ein einheitliches Limit von 1.048.576 Token für Eingabe und Ausgabe. Die Ausgabe umfasst den Thinking-Modus, Funktionsaufrufe und die endgültige Antwort. Es gibt keine separaten Limits für Eingabe und Ausgabe. Die Ausgabe für einzelne Anfragen ist auf 65.536 Token begrenzt (oder 32.768 Token für nicht streamende direkte HTTP-Anfragen) und kann mit langen Decodes für GenerateContent auf bis zu 1.048.576 Token erweitert werden. Dies wird automatisch im Google Gen AI SDK verarbeitet oder mit continuation_token in benutzerdefinierten Schleifen.
  • thinking_budget gibt einen HTTP-Fehler 400 zurück, anstatt einem Thinking-Modus zugeordnet zu werden. MINIMAL gibt ebenfalls einen Fehler zurück.
  • Explizites Kontext-Caching wird nicht unterstützt.
  • Jedes Token, das vom Modell verarbeitet wird, wird in Rechnung gestellt, einschließlich der Systemanweisungen und Funktionsdeklarationen für interne Tools bei der Fundierung.

Einen direkten Vergleich finden Sie unter Von Gemini 3.1 Pro migrieren.

 client = genai.Client(
     enterprise=True,
     project="PROJECT_ID",
     location="global", # Supports "global", "us", and "eu"
 )

 response = client.models.generate_content(
-    model="gemini-3.1-pro-preview",
+    model="gemini-4-argon",
     contents=prompt,
     config=types.GenerateContentConfig(
-        temperature=0.0,
-        cached_content="projects/.../cachedContents/...", # Explicit caching unsupported
         thinking_config=types.ThinkingConfig(
-            thinking_budget=16384, # Returns HTTP 400 instead of mapping silently
-            thinking_level="MINIMAL", # MINIMAL unsupported on Gemini 4 Argon
+            thinking_level="MEDIUM", # Valid: "LOW", "MEDIUM" (default), "HIGH"
         ),
     ),
 )

So migrieren Sie von gemini-3.1-pro-preview:

  1. Aktualisieren Sie die Modell-ID auf gemini-4-argon (oder gemini-4-argon-cyber-permissive für von Fairwind genehmigte Arbeitslasten im Bereich Cybersicherheit).
  2. Führen Sie ein Upgrade auf das aktuelle Google Gen AI SDK durch und berücksichtigen Sie das einheitliche Tokenlimit für Eingabe und Ausgabe: Führen Sie ein Upgrade auf google-genai >= 2.30.1 (Python), @google/genai >= 2.29.1 (JavaScript) oder das entsprechende aktuelle Google Gen AI SDK durch. Eingabe- und Ausgabetokens (einschließlich Thinking-Modus und Funktionsaufrufe) teilen sich das einheitliche Limit von 1.048.576 Token. Wenn die Ausgabe für GenerateContent 65.536 Token überschreitet (bis zu 1.048.576 Token), legen Sie für max_output_tokens einen Wert über 65.536 fest, damit das Google Gen AI SDK automatisch für alle Anfragen fortfährt. Alternativ können Sie continuation_token in einer eigenen REST-Schleife verarbeiten.
  3. Parameter für das Reasoning-Budget ersetzen: Ersetzen Sie thinking_budget und MINIMAL durch thinking_level mit dem Wert LOW, MEDIUM (Standard für gemini-4-argon) oder HIGH (Standard für gemini-4-argon-cyber-permissive).
  4. Entfernen Sie das explizite Caching und laden Sie statische Prompt-Inhalte (6.144 Token oder mehr) vorab,um das automatische implizite Caching zu nutzen.
  5. Entfernen Sie Parameter, die keine Wirkung haben oder nicht unterstützt werden:
    • Entfernen Sie temperature, top_p und top_k, die ignoriert werden.
    • Entfernen Sie candidate_count, frequency_penalty und presence_penalty.
    • Entfernen Sie alle vorausgefüllten Modellschritte aus Unterhaltungsverläufen.

Checkliste für Entwickler

Bekannte Probleme

  • Lange Decodes für GenerateContent erfordern v1beta1: Lange Decodes (continuation_token) für die GenerateContent-API (generateContent und streamGenerateContent) werden nur in der v1beta1-API unterstützt (nicht in v1). Das Google Gen AI SDK verwendet standardmäßig v1beta1, es sei denn, api_version='v1' ist in http_options festgelegt. Verwenden Sie für direkte REST-Aufrufe den Endpunktpfad v1beta1 .

Zusätzliche Ressourcen