Erste Schritte mit Gemini 3

Gemini 3 ist unsere bisher intelligenteste Modellfamilie, die auf modernsten Schlussfolgerungsfunktionen basiert. Gemini 1.5 Pro wurde entwickelt, um Ideen zum Leben zu erwecken. Dazu werden agentische Workflows, autonomes Programmieren und komplexe multimodale Aufgaben eingesetzt.

Dieser Leitfaden bietet einen konsolidierten, praktischen Weg, um mit Gemini 3 in Vertex AI zu beginnen. Er enthält die wichtigsten Funktionen und Best Practices von Gemini 3.

Kurzanleitung

Bevor Sie beginnen, müssen Sie sich mit einem API-Schlüssel oder Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) bei Vertex AI authentifizieren. Weitere Informationen finden Sie unter Authentifizierungsmethoden.

Google Gen AI SDK installieren

Für Gemini 3 API-Funktionen ist das Gen AI SDK for Python in Version 1.51.0 oder höher erforderlich.

pip install --upgrade google-genai

Umgebungsvariablen für die Verwendung des Gen AI SDK mit Vertex AI festlegen

Ersetzen Sie den Wert GOOGLE_CLOUD_PROJECT durch Ihre Google Cloud Projekt-ID. Das Gemini 3 Pro-Vorschaumodell gemini-3-pro-preview und das Gemini 3 Flash-Vorschaumodell gemini-3-flash-preview sind nur über globale Endpunkte verfügbar:

export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

Erste Anfrage senden

Standardmäßig wird für Gemini 3 Pro und Gemini 3 Flash dynamisches Denken verwendet, um Prompts zu analysieren. Wenn keine komplexen Schlussfolgerungen erforderlich sind, können Sie die thinking_level des Modells einschränken, um schnellere Antworten mit geringerer Latenz zu erhalten. Low-Thinking ist ideal für Aufgaben mit hohem Durchsatz, bei denen es vor allem auf Geschwindigkeit ankommt.

So erhalten Sie schnelle Antworten mit geringer Latenz:

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
   model="gemini-3-pro-preview",
   contents="How does AI work?",
   config=types.GenerateContentConfig(
       thinking_config=types.ThinkingConfig(
           thinking_level=types.ThinkingLevel.LOW # For fast and low latency response
       )
   ),
)
print(response.text)

Komplexe Schlussfolgerungsaufgaben ausprobieren

Gemini 3 zeichnet sich durch fortschrittliches logisches Denken aus. Verwenden Sie für komplexe Aufgaben wie die mehrstufige Planung, die Generierung von geprüftem Code oder die intensive Nutzung von Tools hohe Denkebenen. Verwenden Sie diese Konfigurationen für Aufgaben, für die zuvor spezielle Reasoning-Modelle erforderlich waren.

Für langsamere Aufgaben, die viel Nachdenken erfordern:

from google import genai
from google.genai import types

client = genai.Client()

prompt = """
You are tasked with implementing the classic Thread-Safe Double-Checked Locking (DCL) Singleton pattern in modern C++. This task is non-trivial and requires specialized concurrency knowledge to prevent memory reordering issues.

Write a complete, runnable C++ program named `dcl_singleton.cpp` that defines a class `Singleton` with a private constructor and a static `getInstance()` method.

Your solution MUST adhere to the following strict constraints:
1. The Singleton instance pointer (`static Singleton*`) must be wrapped in `std::atomic` to correctly manage memory visibility across threads.
2. The `getInstance()` method must use `std::memory_order_acquire` when reading the instance pointer in the outer check.
3. The instance creation and write-back must use `std::memory_order_release` when writing to the atomic pointer.
4. A standard `std::mutex` must be used only to protect the critical section (the actual instantiation).
5. The `main` function must demonstrate safe, concurrent access by launching at least three threads, each calling `Singleton::getInstance()`, and printing the address of the returned instance to prove all threads received the same object.
"""

response = client.models.generate_content(
  model="gemini-3-pro-preview",
  contents=prompt,
  config=types.GenerateContentConfig(
      thinking_config=types.ThinkingConfig(
          thinking_level=types.ThinkingLevel.HIGH # Dynamic thinking for high reasoning tasks
      )
  ),
)
print(response.text)

Weitere Denkaufwände

Mit Gemini 3 Flash werden zwei neue Denkebenen eingeführt: MINIMAL und MEDIUM. So haben Sie noch mehr Kontrolle darüber, wie das Modell komplexe Logikaufgaben verarbeitet.

MINIMAL bietet Optionen für ein Thinking-Budget von nahezu null für Aufgaben, die für den Durchsatz und nicht für das logische Denken optimiert sind. MEDIUM ermöglicht ein Gleichgewicht zwischen Geschwindigkeit und Schlussfolgerungen, das einige Schlussfolgerungen zulässt, aber dennoch Vorgänge mit geringer Latenz priorisiert.

Neue API-Funktionen

Gemini 3 bietet leistungsstarke API-Verbesserungen und neue Parameter, mit denen Entwickler die Leistung (Latenz, Kosten), das Modellverhalten und die multimodale Genauigkeit detailliert steuern können.

In dieser Tabelle sind die wichtigsten neuen Funktionen und Parameter zusammengefasst. Außerdem finden Sie darin direkte Links zur detaillierten Dokumentation:

Neue Funktion/API-Änderung Dokumentation
Modell: gemini-3-pro-preview Modellkarte Model Garden
Denkaufwand Denken
Auflösung von Medien Bildverständnis Video-Understanding Audio-Understanding Dokument-Understanding
Signatur des Gedankens Gedankensignaturen
Temperatur API-Referenz
Multimodale Funktionsantworten Funktionsaufrufe: Multimodale Funktionsantworten
Streaming-Funktionsaufrufe Funktionsaufrufe: Streaming-Funktionsaufrufe

Denkaufwand

Mit dem Parameter thinking_level können Sie ein Budget für die Denkzeit für die Antwortgenerierung des Modells festlegen. Durch die Auswahl eines von zwei Status können Sie die Kompromisse zwischen Antwortqualität und Komplexität des Reasoning sowie zwischen Latenz und Kosten explizit ausgleichen.

  • MINIMAL: (nur Gemini 3 Flash) Beschränkt das Modell darauf, so wenige Tokens wie möglich für die Überlegung zu verwenden. Es eignet sich am besten für Aufgaben mit geringer Komplexität, die nicht von umfangreichen Überlegungen profitieren. MINIMAL kommt einem Nullbudget für das Denken so nahe wie möglich, erfordert aber weiterhin Gedankensignaturen.
  • LOW: Beschränkt das Modell darauf, weniger Tokens für das Thinking zu verwenden. Dies ist für einfachere Aufgaben geeignet, bei denen keine ausführliche Begründung erforderlich ist. LOW ist ideal für Aufgaben mit hohem Durchsatz, bei denen Geschwindigkeit entscheidend ist.
  • MEDIUM: (nur Gemini 3 Flash) Bietet einen ausgewogenen Ansatz, der sich für Aufgaben von mittlerer Komplexität eignet, die von logischem Denken profitieren, aber keine tiefgreifende, mehrstufige Planung erfordern. Es bietet mehr Argumentationsmöglichkeiten als LOW und gleichzeitig eine geringere Latenz als HIGH.
  • HIGH: Ermöglicht dem Modell, mehr Tokens für die Denkphase zu verwenden. Es eignet sich für komplexe Prompts, die eine ausführliche Problemlösung erfordern, z. B. mehrstufige Planung, generierter Code, der überprüft wurde, oder erweiterte Funktionsaufrufszenarien. Dies ist die Standardstufe für Gemini 3 Pro und Gemini 3 Flash. Verwenden Sie diese Konfiguration, wenn Sie Aufgaben ersetzen, für die Sie zuvor möglicherweise auf spezielle Reasoning-Modelle angewiesen waren.

Beispiel für Gen AI SDK

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
   model="gemini-3-pro-preview",
   contents="Find the race condition in this multi-threaded C++ snippet: [code here]",
   config=types.GenerateContentConfig(
       thinking_config=types.ThinkingConfig(
           thinking_level=types.ThinkingLevel.HIGH # Default, dynamic thinking
       )
   ),
)
print(response.text)

Beispiel für OpenAI-Kompatibilität

Für Nutzer, die die OpenAI-Kompatibilitätsebene verwenden, werden Standardparameter automatisch den entsprechenden Gemini 3-Parametern zugeordnet:

  • reasoning_effort wird thinking_level zugeordnet.
  • none: Entspricht thinking_level minimal (nur Gemini 3 Flash).
  • medium: Entspricht thinking_level „Mittel“ für Gemini 3 Flash und thinking_level „Hoch“ für Gemini 3 Pro.
import openai
from google.auth import default
from google.auth.transport.requests import Request

credentials, _ = default(scopes=["https://www.googleapis.com/auth/cloud-platform"])

client = openai.OpenAI(
    base_url=f"https://aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/global/endpoints/openapi",
    api_key=credentials.token,
)

prompt = """
Write a bash script that takes a matrix represented as a string with
format '[1,2],[3,4],[5,6]' and prints the transpose in the same format.
"""

response = client.chat.completions.create(
    model="gemini-3-pro-preview",
    reasoning_effort="medium", # Map to thinking_level high.
    messages=[{"role": "user", "content": prompt}],
)

print(response.choices[0].message.content)

Auflösung von Medien

Mit Gemini 3 wird die detaillierte Steuerung der multimodalen Bildverarbeitung über den Parameter media_resolution eingeführt. Höhere Auflösungen verbessern die Fähigkeit des Modells, feinen Text zu lesen oder kleine Details zu erkennen, erhöhen aber die Token-Nutzung und die Latenz. Der Parameter media_resolution bestimmt die maximale Anzahl von Tokens, die pro Eingabebild, PDF-Seite oder Videoframes zugewiesen werden.

Sie können die Auflösung global (mit generation_config) oder für einzelne Medienteile auf low, medium oder high festlegen. Die ultra_high-Auflösung kann nur für einzelne Media-Teile festgelegt werden. Wenn nicht angegeben, verwendet das Modell optimale Standardwerte basierend auf dem Medientyp.

Tokenanzahl

In dieser Tabelle sind die ungefähren Tokenzahlen für jeden media_resolution-Wert und Medientyp zusammengefasst.

Media Resolution Bild Video PDF
UNSPECIFIED (Standard) 1120 70 560
LOW 280 70 280 + Text
MEDIUM 560 70 560 + Text
HIGH 1120 280 1120 + Text
ULTRA_HIGH 2240
Media Resolution Maximale Anzahl an Tokens Usage Guidance
ultra_high 2240 Aufgaben, bei denen feine Details in Bildern analysiert werden müssen, z. B. die Verarbeitung von Screenshots oder hochauflösenden Fotos.
high 1120 Bildanalyseaufgaben, um maximale Qualität zu gewährleisten.
medium 560
low Bild: 280 Video: 70 Für die meisten Aufgaben ausreichend. Hinweis:Bei Video low sind maximal 70 Tokens pro Frame zulässig.

media_resolution für einzelne Teile festlegen

Sie können media_resolution für jeden einzelnen Medienteil festlegen:

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
  model="gemini-3-pro-preview",
  contents=[
      types.Part(
          file_data=types.FileData(
              file_uri="gs://cloud-samples-data/generative-ai/image/a-man-and-a-dog.png",
              mime_type="image/jpeg",
          ),
          media_resolution=types.PartMediaResolution(
              level=types.PartMediaResolutionLevel.MEDIA_RESOLUTION_HIGH # High resolution
          ),
      ),
      Part(
          file_data=types.FileData(
             file_uri="gs://cloud-samples-data/generative-ai/video/behind_the_scenes_pixel.mp4",
            mime_type="video/mp4",
          ),
          media_resolution=types.PartMediaResolution(
              level=types.PartMediaResolutionLevel.MEDIA_RESOLUTION_LOW # Low resolution
          ),
      ),
      "When does the image appear in the video? What is the context?",
  ],
)
print(response.text)

media_resolution global festlegen

Sie können media_resolution auch global festlegen (mit GenerateContentConfig):

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
  model="gemini-3-pro-preview",
  contents=[
      types.Part(
          file_data=types.FileData(
              file_uri="gs://cloud-samples-data/generative-ai/image/a-man-and-a-dog.png",
              mime_type="image/jpeg",
          ),
      ),
      "What is in the image?",
  ],
  config=types.GenerateContentConfig(
      media_resolution=types.MediaResolution.MEDIA_RESOLUTION_LOW, # Global setting
  ),
)
print(response.text)

Gedankensignaturen

Gedankensignaturen sind verschlüsselte Tokens, die den Reasoning-Status des Modells während Multi-Turn-Unterhaltungen beibehalten, insbesondere bei der Verwendung von Funktionsaufrufen.

Wenn ein Thinking-Modell beschließt, ein externes Tool aufzurufen, wird der interne Denkprozess unterbrochen. Die Gedanken-Signatur fungiert als „Speicherstatus“, sodass das Modell seinen Gedankengang nahtlos fortsetzen kann, sobald Sie das Ergebnis der Funktion bereitstellen.

Weitere Informationen finden Sie unter Gedankensignaturen.

Warum sind Gedanken-Signaturen wichtig?

Ohne Gedankensignaturen „vergisst“ das Modell seine spezifischen Denkschritte während der Tool-Ausführungsphase. Durch die Rückgabe der Signatur wird Folgendes sichergestellt:

  • Kontextkontinuität: Das Modell behält den Grund für den Aufruf des Tools bei.
  • Komplexe Argumentation: Ermöglicht mehrstufige Aufgaben, bei denen die Ausgabe eines Tools die Argumentation für das nächste Tool beeinflusst.

Wo werden Gedanken-Signaturen zurückgegeben?

Bei Gemini 3 Pro und Gemini 3 Flash werden strengere Validierungs- und aktualisierte Verarbeitungsmethoden für die Thought-Signaturen angewendet, die ursprünglich in Gemini 2.5 eingeführt wurden. Damit das Modell den Kontext über mehrere Konversationsrunden hinweg beibehält, müssen Sie die Gedanken-Signaturen in Ihren nachfolgenden Anfragen zurückgeben.

  • Modellantworten mit einem Funktionsaufruf geben immer eine „thought“-Signatur zurück, auch wenn die Denkebene MINIMAL verwendet wird.
  • Bei parallelen Funktionsaufrufen hat der erste Teil des Funktionsaufrufs, der von der Modellantwort zurückgegeben wird, eine Gedanken-Signatur.
  • Bei sequenziellen Funktionsaufrufen (mehrstufig) hat jeder Funktionsaufruf eine Signatur und Clients müssen die Signatur zurückgeben.
  • Bei Modellantworten ohne Funktionsaufruf wird im letzten vom Modell zurückgegebenen Teil eine Gedanken-Signatur zurückgegeben.

Wie gehe ich mit Gedanken-Signaturen um?

Es gibt zwei primäre Möglichkeiten, Gedanken-Signaturen zu verarbeiten: automatisch mit den SDKs für generative KI oder der OpenAI API oder manuell, wenn Sie direkt mit der API interagieren.

Automatisierte Bearbeitung (empfohlen)

Wenn Sie die Google Gen AI SDKs (Python, Node.js, Go, Java) oder die OpenAI Chat Completions API verwenden und die Standardfunktionen für den Chatverlauf nutzen oder die vollständige Modellantwort anhängen, werden thought_signatures automatisch verarbeitet. Sie müssen keine Änderungen an Ihrem Code vornehmen.

Beispiel für manuellen Funktionsaufruf

Wenn Sie das Gen AI SDK verwenden, werden Gedanken-Signaturen automatisch verarbeitet, indem die vollständige Modellantwort an nachfolgende Modellanfragen angehängt wird:

from google import genai
from google.genai import types

client = genai.Client()

# 1. Define your tool
get_weather_declaration = types.FunctionDeclaration(
   name="get_weather",
   description="Gets the current weather temperature for a given location.",
   parameters={
       "type": "object",
       "properties": {"location": {"type": "string"}},
       "required": ["location"],
   },
)
get_weather_tool = types.Tool(function_declarations=[get_weather_declaration])

# 2. Send a message that triggers the tool
prompt = "What's the weather like in London?"
response = client.models.generate_content(
   model="gemini-3-pro-preview",
   contents=prompt,
   config=types.GenerateContentConfig(
       tools=[get_weather_tool],
       thinking_config=types.ThinkingConfig(include_thoughts=True)
   ),
)

# 4. Handle the function call
function_call = response.function_calls[0]
location = function_call.args["location"]
print(f"Model wants to call: {function_call.name}")

# Execute your tool (e.g., call an API)
# (This is a mock response for the example)
print(f"Calling external tool for: {location}")
function_response_data = {
   "location": location,
   "temperature": "30C",
}

# 5. Send the tool's result back
# Append this turn's messages to history for a final response.
# The `content` object automatically attaches the required thought_signature behind the scenes.
history = [
    types.Content(role="user", parts=[types.Part(text=prompt)]),
    response.candidates[0].content, # Signature preserved here
    types.Content(
        role="tool",
        parts=[
            types.Part.from_function_response(
                name=function_call.name,
                response=function_response_data,
            )
        ],
    )
]

response_2 = client.models.generate_content(
   model="gemini-3-pro-preview",
   contents=history,
   config=types.GenerateContentConfig(
        tools=[get_weather_tool],
        thinking_config=types.ThinkingConfig(include_thoughts=True)
   ),
)

# 6. Get the final, natural-language answer
print(f"\nFinal model response: {response_2.text}")
Beispiel für automatischen Funktionsaufruf

Wenn Sie das Gen AI SDK für automatische Funktionsaufrufe verwenden, werden die Signatur des Gedankens automatisch verarbeitet:


from google import genai
from google.genai import types

def get_current_temperature(location: str) -> dict:
    """Gets the current temperature for a given location.

    Args:
        location: The city and state, for example San Francisco, CA

    Returns:
        A dictionary containing the temperature and unit.
    """
    # ... (implementation) ...
    return {"temperature": 25, "unit": "Celsius"}

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3-pro-preview",
    contents="What's the temperature in Boston?",
    config=types.GenerateContentConfig(
            tools=[get_current_temperature],
    )
)

print(response.text) # The SDK handles the function call and thought signature, and returns the final text
Beispiel für OpenAI-Kompatibilität

Wenn Sie die OpenAI Chat Completions API verwenden, werden Gedanken-Signaturen automatisch verarbeitet, indem die vollständige Modellantwort an nachfolgende Modellanfragen angehängt wird:

...
# Append user prompt and assistant response including thought signatures
messages.append(response1.choices[0].message)

# Execute the tool
tool_call_1 = response1.choices[0].message.tool_calls[0]
result_1 = get_current_temperature(**json.loads(tool_call_1.function.arguments))

# Append tool response to messages
messages.append(
    {
        "role": "tool",
        "tool_call_id": tool_call_1.id,
        "content": json.dumps(result_1),
    }
)

response2 = client.chat.completions.create(
    model="gemini-3-pro-preview",
    messages=messages,
    tools=tools,
    extra_body={
        "extra_body": {
            "google": {
                "thinking_config": {
                    "include_thoughts": True,
                },
            },
        },
    },
)

print(response2.choices[0].message.tool_calls)

Vollständiges Codebeispiel ansehen

Manuelle Bearbeitung

Wenn Sie direkt mit der API interagieren oder rohe JSON-Nutzlasten verwalten, müssen Sie die thought_signature im Antwort-Turn des Modells richtig verarbeiten.

Sie müssen diese Signatur genau an der Stelle zurückgeben, an der sie empfangen wurde, wenn Sie den Unterhaltungsverlauf zurücksenden.

Wenn keine korrekten Signaturen zurückgegeben werden, gibt Gemini 3 den Fehler 400 „<Function Call> im Inhaltsblock <index of contents array> fehlt thought_signature“ zurück.

Multimodale Funktionsantworten

Mit multimodalen Funktionsaufrufen können Nutzer Funktionsantworten mit multimodalen Objekten erhalten. So lässt sich die Funktion „Funktionsaufruf“ des Modells besser nutzen. Standard-Funktionsaufrufe unterstützen nur textbasierte Funktionsantworten:

from google import genai
from google.genai import types

client = genai.Client()

# This is a manual, two turn multimodal function calling workflow:

# 1. Define the function tool
get_image_declaration = types.FunctionDeclaration(
   name="get_image",
   description="Retrieves the image file reference for a specific order item.",
   parameters={
       "type": "object",
       "properties": {
            "item_name": {
                "type": "string",
                "description": "The name or description of the item ordered (e.g., 'green shirt')."
            }
       },
       "required": ["item_name"],
   },
)
tool_config = types.Tool(function_declarations=[get_image_declaration])

# 2. Send a message that triggers the tool
prompt = "Show me the green shirt I ordered last month."
response_1 = client.models.generate_content(
    model="gemini-3-pro-preview",
    contents=[prompt],
    config=types.GenerateContentConfig(
        tools=[tool_config],
    )
)

# 3. Handle the function call
function_call = response_1.function_calls[0]
requested_item = function_call.args["item_name"]
print(f"Model wants to call: {function_call.name}")

# Execute your tool (e.g., call an API)
# (This is a mock response for the example)
print(f"Calling external tool for: {requested_item}")

function_response_data = {
  "image_ref": {"$ref": "dress.jpg"},
}

function_response_multimodal_data = types.FunctionResponsePart(
   file_data=types.FunctionResponseFileData(
      mime_type="image/png",
      display_name="dress.jpg",
      file_uri="gs://cloud-samples-data/generative-ai/image/dress.jpg",
   )
)

# 4. Send the tool's result back
# Append this turn's messages to history for a final response.
history = [
  types.Content(role="user", parts=[types.Part(text=prompt)]),
  response_1.candidates[0].content,
  types.Content(
    role="tool",
    parts=[
        types.Part.from_function_response(
            name=function_call.name,
            response=function_response_data,
            parts=[function_response_multimodal_data]
        )
    ],
  )
]

response_2 = client.models.generate_content(
  model="gemini-3-pro-preview",
  contents=history,
  config=types.GenerateContentConfig(
      tools=[tool_config],
      thinking_config=types.ThinkingConfig(include_thoughts=True)
  ),
)

print(f"\nFinal model response: {response_2.text}")

Streaming-Funktionsaufrufe

Sie können Streaming-Argumente für Teilfunktionsaufrufe verwenden, um das Streaming bei der Verwendung von Tools zu verbessern. Diese Funktion kann aktiviert werden, indem Sie stream_function_call_arguments explizit auf true setzen:

from google import genai
from google.genai import types

client = genai.Client()

get_weather_declaration = types.FunctionDeclaration(
  name="get_weather",
  description="Gets the current weather temperature for a given location.",
  parameters={
      "type": "object",
      "properties": {"location": {"type": "string"}},
      "required": ["location"],
  },
)
get_weather_tool = types.Tool(function_declarations=[get_weather_declaration])


for chunk in client.models.generate_content_stream(
   model="gemini-3-pro-preview",
   contents="What's the weather in London and New York?",
   config=types.GenerateContentConfig(
       tools=[get_weather_tool],
       tool_config = types.ToolConfig(
           function_calling_config=types.FunctionCallingConfig(
               mode=types.FunctionCallingConfigMode.AUTO,
               stream_function_call_arguments=True,
           )
       ),
   ),
):
   function_call = chunk.function_calls[0]
   if function_call and function_call.name:
       print(f"{function_call.name}")
       print(f"will_continue={function_call.will_continue}")

Beispiel für eine Modellantwort:

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "functionCall": {
              "name": "get_weather",
              "willContinue": true
            }
          }
        ]
      }
    }
  ]
}

Temperatur

  • Range for Gemini 3: 0.0 - 2.0 (default: 1.0)

Für Gemini 3 wird dringend empfohlen, den Parameter temperature auf dem Standardwert 1.0 zu belassen.

Bei früheren Modellen war es oft sinnvoll, die Temperatur anzupassen, um Kreativität und Determinismus zu steuern. Die Schlussfolgerungsfähigkeiten von Gemini 3 sind jedoch für die Standardeinstellung optimiert.

Wenn Sie die Temperatur ändern (auf weniger als 1.0), kann dies zu unerwartetem Verhalten führen, z. B. zu Schleifen oder einer schlechteren Leistung, insbesondere bei komplexen mathematischen oder logischen Aufgaben.

Unterstützte Features

Gemini 3-Modelle unterstützen auch die folgenden Funktionen:

Best Practices für die Prompt-Erstellung

Gemini 3 ist ein Modell für Schlussfolgerungen, was sich auf die Art und Weise auswirkt, wie Sie Prompts erstellen sollten.

  • Genaue Anweisungen:Fassen Sie sich in Ihren Eingabeaufforderungen kurz. Gemini 3 reagiert am besten auf direkte, klare Anweisungen. Es kann sein, dass es ausführliche oder zu komplexe Prompt-Engineering-Techniken, die für ältere Modelle verwendet wurden, überanalysiert.
  • Ausführlichkeit der Ausgabe:Standardmäßig ist Gemini 3 weniger ausführlich und liefert lieber direkte, effiziente Antworten. Wenn Ihr Anwendungsfall eine eher konversationelle oder „geschwätzige“ Persona erfordert, müssen Sie das Modell im Prompt explizit darauf hinweisen (z. B. „Erkläre das als freundlicher, gesprächiger Assistent“).
  • Fundierung:Für Fundierungsanwendungsfälle empfehlen wir die folgenden Entwickleranleitungen: You are a strictly grounded assistant limited to the information provided in the User Context. In your answers, rely **only** on the facts that are directly mentioned in that context. You must **not** access or utilize your own knowledge or common sense to answer. Do not assume or infer from the provided facts; simply report them exactly as they appear. Your answer must be factual and fully truthful to the provided text, leaving absolutely no room for speculation or interpretation. Treat the provided context as the absolute limit of truth; any facts or details that are not directly mentioned in the context must be considered **completely untruthful** and **completely unsupported**. If the exact answer is not explicitly written in the context, you must state that the information is not available.
  • Google Suche-Tool verwenden:Wenn Sie das Google Suche-Tool verwenden, kann es vorkommen, dass Gemini 3 Flash das aktuelle Datum / die aktuelle Uhrzeit mit Ereignissen im Jahr 2024 verwechselt. Das kann dazu führen, dass das Modell Suchanfragen für das falsche Jahr formuliert. Damit das Modell den richtigen Zeitraum verwendet, müssen Sie das aktuelle Datum in system instructions explizit angeben: For time-sensitive user queries that require up-to-date information, you MUST follow the provided current time (date and year) when formulating search queries in tool calls. Remember it is 2025 this year.
  • Wissensstichtag: Bei bestimmten Anfragen ist es hilfreich, Gemini 3 Flash explizit den Wissensstichtag mitzuteilen. Das ist der Fall, wenn das Google Suche-Tool deaktiviert ist und für die Anfrage explizit erforderlich ist, dass das Modell die Grenzdaten im parametrischen Wissen identifizieren kann. Empfehlung: Fügen Sie system instructions die folgende Klausel hinzu: Your knowledge cutoff date is January 2025.
  • media_resolution verwenden: Mit dem Parameter media_resolution können Sie die maximale Anzahl von Tokens steuern, die das Modell zur Darstellung eines Bildes oder von Frames in Videos verwendet. Bei hoher Auflösung kann das Modell Details in einem Bild erfassen. Möglicherweise werden dann mehr Tokens pro Frame verwendet. Bei niedriger Auflösung können Kosten und Latenz für Bilder mit weniger visuellen Details optimiert werden.
  • Videoanalyse verbessern: Verwenden Sie eine höhere Abtastrate für Bilder pro Sekunde (FPS) für Videos, die eine detaillierte zeitliche Analyse erfordern, z. B. zum Erfassen von schnellen Aktionen oder zum Verfolgen von Hochgeschwindigkeitsbewegungen.

Hinweise zur Migration

Beachten Sie bei der Migration die folgenden Funktionen und Einschränkungen:

  • Denkstufe: Gemini 3-Modelle verwenden den Parameter thinking_level, um die Menge an internen Überlegungen zu steuern, die das Modell durchführt (niedrig oder hoch), und um die Antwortqualität, die Komplexität der Überlegungen, die Latenz und die Kosten auszugleichen.
  • Temperatureinstellungen:Wenn in Ihrem vorhandenen Code temperature explizit festgelegt wird (insbesondere auf niedrige Werte für deterministische Ausgaben), empfiehlt es sich, diesen Parameter zu entfernen und den Standardwert von Gemini 3 (1.0) zu verwenden, um potenzielle Probleme mit Schleifen oder Leistungseinbußen bei komplexen Aufgaben zu vermeiden.
  • Gedankensignaturen: Wenn für Gemini 3-Modelle in einem Zug eine Gedankensignatur erwartet wird, aber nicht angegeben ist, gibt das Modell einen Fehler anstelle einer Warnung zurück.
  • Mediaauflösung und Tokenisierung: Gemini 3-Modelle verwenden für die Media-Tokenisierung eine variable Sequenzlänge anstelle von Pan & Scan. Außerdem haben sie neue Standardauflösungen und Tokenkosten für Bilder, PDFs und Videos.
  • Token-Zählung für multimodale Eingaben:Die Token-Anzahl für multimodale Eingaben (Bilder, Videos, Audio) ist eine Schätzung, die auf der ausgewählten media_resolution basiert. Daher stimmt das Ergebnis des count_tokens-API-Aufrufs möglicherweise nicht mit den endgültig verbrauchten Tokens überein. Die genaue Nutzung für die Abrechnung ist erst nach der Ausführung in der usage_metadata der Antwort verfügbar.
  • Tokenverbrauch:Durch die Migration zu Gemini 3-Standardeinstellungen kann die Tokennutzung für Bilder und PDFs steigen, für Videos jedoch sinken. Wenn Anfragen aufgrund höherer Standardauflösungen das Kontextfenster überschreiten, empfiehlt es sich, die Media-Auflösung explizit zu verringern.
  • PDF- und Dokumentanalyse:Die standardmäßige OCR-Auflösung für PDFs wurde geändert. Wenn Sie sich auf ein bestimmtes Verhalten beim Parsen von dichten Dokumenten verlassen haben, testen Sie die neue Einstellung media_resolution: "high", um die Genauigkeit zu gewährleisten. Bei Gemini 3-Modellen werden PDF-Tokenzahlen in usage_metadata unter der Modalität „IMAGE“ anstelle von „DOCUMENT“ erfasst.
  • Bildsegmentierung:Die Bildsegmentierung wird von Gemini 3-Modellen nicht unterstützt. Für Arbeitslasten, die eine integrierte Bildsegmentierung erfordern, wird empfohlen, weiterhin Gemini 2.5 Flash zu verwenden, wobei die Funktion „Thinking“ deaktiviert ist.
  • Multimodale Funktionsantworten: Bei Gemini 3-Modellen können Sie Bild- und PDF-Daten in Funktionsantworten einfügen.

FAQ

  1. Was ist der Wissensstand von Gemini 3 Pro? Gemini 3 hat einen Wissensstand vom Januar 2025.

  2. In welcher Region ist gemini-3-pro-preview in Google Cloud verfügbar? Global.

  3. Welche Einschränkungen gelten für das Kontextfenster? Gemini 3-Modelle unterstützen ein Kontextfenster mit 1 Million Tokens für die Eingabe und bis zu 64.000 Tokens für die Ausgabe.

  4. Unterstützt gemini-3-pro-preview die Bildausgabe? Nein.

  5. Wird die Gemini Live API von gemini-3-pro-preview unterstützt? Nein.

Nächste Schritte