Gemini 2.0 (experimentell)

Gemini 2.0 Flash ist jetzt als experimentelle Vorabversion über die Gemini Developer API und Google AI Studio verfügbar. Das Modell bietet neue Funktionen und erweiterte Hauptfunktionen:

  • Multimodal Live API: Mit dieser neuen API können Sie mithilfe eines Tools Anwendungen für die Echtzeit-Bild- und Audiostreaming-Technologie erstellen.
  • Geschwindigkeit und Leistung:Gemini 2.0 hat eine deutlich verbesserte Time to First Token (TTFT) im Vergleich zu 1.5 Flash.
  • Qualität:Bessere Leistung bei den meisten Benchmarks als Gemini 1.5 Pro.
  • Verbesserte Fähigkeiten von Agenten: Gemini 2.0 bietet Verbesserungen beim multimodalen Verständnis, beim Programmieren, beim Befolgen komplexer Anweisungen und beim Funktionsaufruf.
  • Neue Modalitäten:Gemini 2.0 bietet native Bildgenerierung und steuerbare Funktionen für die Text-zu-Sprache-Funktion.

Für eine bessere Entwicklerfreundlichkeit führen wir außerdem ein neues SDK ein. Technische Details zu Gemini 2.0 finden Sie unter Gemini-Modelle.

Google Gen AI SDK (experimentell)

Das neue Google Gen AI SDK bietet eine einheitliche Benutzeroberfläche für Gemini 2.0 über die Gemini Developer API und die Gemini API in Vertex AI. Mit wenigen Ausnahmen kann Code, der auf einer Plattform ausgeführt wird, auch auf der anderen ausgeführt werden. Das bedeutet, dass Sie mit der Developer API einen Prototyp einer Anwendung erstellen und diese dann zu Vertex AI migrieren können, ohne den Code neu schreiben zu müssen.

Das Gen AI SDK unterstützt auch die Gemini 1.5-Modelle.

Das neue SDK ist in Python und Go verfügbar. Java und JavaScript folgen bald.

Sie können das SDK wie unten gezeigt verwenden.

  1. Installieren Sie das neue SDK: pip install google-genai
  2. Importieren Sie dann die Bibliothek, initialisieren Sie einen Client und generieren Sie Inhalte:
from google import genai

client = genai.Client(
    api_key="YOUR_API_KEY"
)
response = client.models.generate_content(
    model='gemini-2.0-flash-exp', contents='How does AI work?'
)
print(response.text)

Optional: Umgebungsvariablen festlegen

Alternativ können Sie den Client mithilfe von Umgebungsvariablen initialisieren. Legen Sie zuerst die entsprechenden Werte fest und exportieren Sie die Variablen:

# Replace `YOUR_API_KEY` with your API key.
export GOOGLE_API_KEY=YOUR_API_KEY

Anschließend können Sie den Client ohne Argumente initialisieren:

client = genai.Client()

Python-Entwickler können auch das Einstiegs-Notebook im Cookbook ausprobieren.

Multimodal Live API

Die Multimodal Live API ermöglicht bidirektionale Sprach- und Videointeraktionen mit Gemini bei niedriger Latenz. Mit der Multimodal Live API können Sie Endnutzern natürliche, menschliche Konversationen bieten und ihnen die Möglichkeit geben, die Antworten des Modells per Sprachbefehl zu unterbrechen. Das Modell kann Text-, Audio- und Videoeingaben verarbeiten und Text- und Audioausgaben liefern.

Die Multimodal Live API ist in der Gemini API als Methode BidiGenerateContent verfügbar und basiert auf WebSockets.

from google import genai

client = genai.Client(http_options={'api_version': 'v1alpha'})
model_id = "gemini-2.0-flash-exp"
config = {"response_modalities": ["TEXT"]}

async with client.aio.live.connect(model=model_id, config=config) as session:
    message = "Hello? Gemini, are you there?"
    print("> ", message, "\n")
    await session.send(message, end_of_turn=True)

    async for response in session.receive():
        print(response.text)

Wichtige Funktionen:

  • Multimodalität:Das Modell kann sehen, hören und sprechen.
  • Echtzeitinteraktion mit geringer Latenz:Ermöglicht schnelle Antworten.
  • Sitzungsspeicher: Das Modell speichert alle Interaktionen innerhalb einer einzelnen Sitzung und ruft zuvor gehörte oder gesehene Informationen ab.
  • Unterstützung für Funktionsaufrufe, Codeausführung und „Suchen als Tool“:Ermöglicht die Einbindung in externe Dienste und Datenquellen.
  • Automatische Sprachaktivitätserkennung (VAD): Das Modell kann genau erkennen, wann der Nutzer zu sprechen beginnt und aufhört. Das ermöglicht natürliche, konversationelle Interaktionen und Nutzer können das Modell jederzeit unterbrechen.

Sprache:

  • Nur Englisch

Beschränkungen:

  • Sowohl Audioeingaben als auch Audioausgaben beeinträchtigen die Fähigkeit des Modells, Funktionsaufrufe zu verwenden.

Weitere Informationen zu den Funktionen und Einschränkungen der API finden Sie im Referenzhandbuch für die Multimodal Live API.

Sie können die Multimodal Live API in Google AI Studio ausprobieren. Für den Einstieg in die Entwicklung können Sie die Webkonsole (in React geschrieben) ausprobieren. Python-Entwickler können den Startercode (Notebook und .py-Datei) ausprobieren. Das Notebook ist für den Einstieg am einfachsten, aber die Live-API funktioniert am besten, wenn sie über das Terminal ausgeführt wird.

Suche als Tool

Mit der Verknüpfung mit der Google Suche können Sie die Genauigkeit und Aktualität der Antworten des Modells verbessern. Ab Gemini 2.0 ist die Google Suche als Tool verfügbar. Das Modell kann also entscheiden, wann die Google Suche verwendet werden soll. Im folgenden Beispiel wird gezeigt, wie Sie die Suche als Tool konfigurieren.

from google import genai
from google.genai.types import Tool, GenerateContentConfig, GoogleSearch

client = genai.Client()
model_id = "gemini-2.0-flash-exp"

google_search_tool = Tool(
    google_search = GoogleSearch()
)

response = client.models.generate_content(
    model=model_id,
    contents="When is the next total solar eclipse in the United States?",
    config=GenerateContentConfig(
        tools=[google_search_tool],
        response_modalities=["TEXT"],
    )
)

for each in response.candidates[0].content.parts:
    print(each.text)
# Example response:
# The next total solar eclipse visible in the contiguous United States will be on ...

# To get grounding metadata as web content.
print(response.candidates[0].grounding_metadata.search_entry_point.rendered_content)

Mit der Funktion „Suchen als Tool“ können Sie auch mehrstufige Suchanfragen und Abfragen mit mehreren Tools ausführen, z. B. die Kombination von Grounding mit der Google Suche und der Codeausführung.

Die Suche als Tool ermöglicht komplexe Aufgaben und Workflows, die Planung, Vernunft und Nachdenken erfordern:

  • Fundierung, um Sachlichkeit und Aktualität zu verbessern und genauere Antworten zu liefern
  • Artefakte aus dem Web abrufen, um sie weiter zu analysieren
  • Relevante Bilder, Videos oder andere Medien finden, um bei multimodalen Argumentations- oder Generierungsaufgaben zu helfen
  • Programmieren, technische Fehlerbehebung und andere spezielle Aufgaben
  • Sie können bei der Suche nach regionsspezifischen Informationen helfen oder bei der korrekten Übersetzung von Inhalten unterstützen.
  • Relevante Websites für die weitere Suche finden

Probieren Sie das Notebook zum Suchtool aus.

Verbesserte Tools

Gemini 2.0 bietet Verbesserungen beim Funktionsaufruf und Tools, die die Interaktion mit Kundenservicemitarbeitern optimieren.

Zusammengesetzte Funktionsaufrufe

Gemini 2.0 unterstützt eine neue Funktion für Funktionsaufrufe: den kompositionellen Funktionsaufruf. Mit dem Aufruf zusammengesetzter Funktionen kann die Gemini API beim Generieren einer Antwort automatisch mehrere benutzerdefinierte Funktionen aufrufen. Um beispielsweise auf den Prompt "Get the temperature in my current location" zu reagieren, ruft die Gemini API möglicherweise sowohl eine get_current_location()-Funktion als auch eine get_weather()-Funktion auf, die den Standort als Parameter annimmt.

Der Aufruf von zusammengesetzten Funktionen mit Codeausführung erfordert bidirektionales Streaming und wird nur von der neuen Multimodal Live API unterstützt. Hier ist ein Beispiel, das zeigt, wie Sie den Aufruf von zusammengesetzten Funktionen, die Codeausführung und die Multimodal Live API zusammen verwenden können:

turn_on_the_lights_schema = {'name': 'turn_on_the_lights'}
turn_off_the_lights_schema = {'name': 'turn_off_the_lights'}

prompt = """
  Hey, can you write run some python code to turn on the lights, wait 10s and then turn off the lights?
  """

tools = [
    {'code_execution': {}},
    {'function_declarations': [turn_on_the_lights_schema, turn_off_the_lights_schema]}
]

await run(prompt, tools=tools, modality="AUDIO")

Python-Entwickler können dies im Notebook zur Verwendung des Live API-Tools ausprobieren.

Mehrfachnutzung

Mit Gemini 2.0 können Sie mehrere Tools gleichzeitig aktivieren. Das Modell entscheidet dann, wann sie aufgerufen werden. Hier ist ein Beispiel, in dem zwei Tools aktiviert werden: die Kontextvernetzung mit der Google Suche und die Codeausführung in einer Anfrage mit der Multimodal Live API.

prompt = """
  Hey, I need you to do three things for me.

  1. Turn on the lights.
  2. Then compute the largest prime palindrome under 100000.
  3. Then use Google Search to look up information about the largest earthquake in California the week of Dec 5 2024.

  Thanks!
  """

tools = [
    {'google_search': {}},
    {'code_execution': {}},
    {'function_declarations': [turn_on_the_lights_schema, turn_off_the_lights_schema]}
]

await run(prompt, tools=tools, modality="AUDIO")

Python-Entwickler können dies im Notebook zur Verwendung des Live API-Tools ausprobieren.

Begrenzungsrahmenerkennung

Mit dieser experimentellen Version stellen wir Entwicklern ein leistungsstarkes Tool für die Objekterkennung und -lokalisierung in Bildern und Videos zur Verfügung. Durch die genaue Identifizierung und Begrenzung von Objekten mit Begrenzungsboxen können Entwickler eine Vielzahl von Anwendungen nutzen und die Intelligenz ihrer Projekte verbessern.

Hauptvorteile:

  • Einfach:Sie können Funktionen zur Objekterkennung ganz einfach in Ihre Anwendungen einbinden, unabhängig von Ihren Kenntnissen im Bereich maschinelles Sehen.
  • Anpassbar:Sie können Begrenzungsrahmen anhand benutzerdefinierter Anweisungen erstellen (z.B. „Ich möchte Begrenzungsrahmen für alle grünen Objekte in diesem Bild sehen“), ohne ein benutzerdefiniertes Modell trainieren zu müssen.

Technische Details:

  • Eingabe:Ihr Prompt und die zugehörigen Bilder oder Videoframes.
  • Ausgabe:Begrenzungsrahmen im [y_min, x_min, y_max, x_max]-Format. Die linke obere Ecke ist der Ursprung. Die x- und y-Achse verlaufen horizontal bzw. vertikal. Die Koordinatenwerte werden für jedes Bild auf 0–1.000 normalisiert.
  • Visualisierung:AI Studio-Nutzer sehen Begrenzungsboxen, die in der Benutzeroberfläche dargestellt werden. Vertex AI-Nutzer sollten ihre Begrenzungsboxen mit benutzerdefiniertem Visualisierungscode visualisieren.

Python-Entwickler können das Notebook zum 2D-räumlichen Verständnis oder das experimentelle Notebook zum 3D-Zeigen ausprobieren.

Sprachausgabe (Early Access/Zulassungsliste)

Gemini 2.0 unterstützt eine neue multimodale Generierungsfunktion: Text-zu-Sprache. Mit der Text-to-Speech-Funktion können Sie das Modell auffordern, eine hochwertige Audioausgabe zu generieren, die wie eine menschliche Stimme klingt (say "hi everyone"). Sie können die Ausgabe weiter optimieren, indem Sie die Stimme steuern.

Bildgenerierung (Early Access/Zulassungsliste)

Gemini 2.0 unterstützt die Ausgabe von Text mit Inline-Bildern. So können Sie mit Gemini Bilder per Unterhaltung bearbeiten oder multimodale Ausgaben generieren, z. B. einen Blogpost mit Text und Bildern in einer einzigen Unterhaltung. Bisher war es dafür erforderlich, mehrere Modelle aneinanderzureihen.

Die Bildgenerierung ist als privater experimenteller Release verfügbar. Es werden die folgenden Modalitäten und Funktionen unterstützt:

  • Text zu Bild
    • Beispiel: „Erstelle ein Bild vom Eiffelturm mit Feuerwerk im Hintergrund.“
  • Text in Bilder und Text (interleaved)
    • Beispiel für einen Prompt: „Erstelle ein illustriertes Rezept für eine Paella.“
  • Bilder und Text in Bilder und Text (interleaved)
    • Beispiel für einen Prompt: (Mit einem Bild eines möblierten Raums) „Welche Sofas in einer anderen Farbe würden in meinem Raum passen? Können Sie das Bild aktualisieren?“
  • Bildbearbeitung (Text und Bild zu Bild)
    • Beispiel für einen Prompt: „Bearbeiten Sie dieses Bild so, dass es wie ein Cartoon aussieht.“
    • Beispiel für einen Prompt: [Bild einer Katze] + [Bild eines Kissens] + „Erstelle einen Kreuzstich meiner Katze auf diesem Kissen.“
  • Bildbearbeitung mit mehreren Antworten (Chat)
    • Beispiel-Prompts: [Lade ein Bild eines blauen Autos hoch.] „Machen Sie dieses Auto zu einem Cabrio.“ „Ändern Sie jetzt die Farbe in Gelb.“
  • Einbetten von Wasserzeichen (SynthID)

Beschränkungen:

  • Das Erstellen von Personen und das Bearbeiten von hochgeladenen Bildern von Personen ist nicht zulässig.
  • Die beste Leistung erzielen Sie mit den folgenden Sprachen: DE, es-MX, ja-JP, zh-CN, hi-IN.
  • Für die Bildgenerierung werden keine Audio- oder Videoeingaben unterstützt.
  • Die Bildgenerierung wird möglicherweise nicht immer ausgelöst:
    • Das Modell gibt möglicherweise nur Text aus. Fordern Sie explizit Bildausgaben an (z.B. „Bild generieren“, „Bilder nach und nach bereitstellen“, „Bild aktualisieren“).
    • Möglicherweise wird die Generierung durch das Modell vorzeitig beendet. Versuchen Sie es noch einmal oder verwenden Sie einen anderen Prompt.