Tools mit der Gemini API verwenden

Tools erweitern die Funktionen von Gemini-Modellen und ermöglichen es ihnen, Aktionen in der realen Welt auszuführen, auf Echtzeitinformationen zuzugreifen und komplexe Berechnungsaufgaben zu erledigen. Modelle können Tools sowohl bei Standard-Anfrage-Antwort-Interaktionen als auch bei Echtzeit-Streaming-Sitzungen über die Live API verwenden.

Tools sind bestimmte Funktionen (z. B. Google Suche oder Codeausführung), die ein Modell verwenden kann, um Anfragen zu beantworten. Die Gemini API bietet eine Reihe von vollständig verwalteten, integrierten Tools. Sie können aber auch benutzerdefinierte Tools mit Funktionsaufruf definieren.

Informationen zum Erstellen von mehrstufigen, zielorientierten Systemen finden Sie in der Übersicht über Agents.

Verfügbare integrierte Tools

Tool Beschreibung Anwendungsfälle
Google Suche Antworten auf aktuelle Ereignisse und Fakten aus dem Web stützen, um Halluzinationen zu reduzieren. \- Fragen zu aktuellen Ereignissen beantworten 
\- Fakten mit verschiedenen Quellen abgleichen
Google Maps Erstellen Sie standortbezogene Assistenten, die Orte finden, Wegbeschreibungen abrufen und umfassende lokale Informationen bereitstellen können. – Reisepläne mit mehreren Zwischenstopps erstellen 
– Lokale Unternehmen anhand von Nutzerkriterien finden
Codeausführung Das Modell darf Python-Code schreiben und ausführen, um mathematische Probleme zu lösen oder Daten genau zu verarbeiten. \- Komplexe mathematische Gleichungen lösen 
\- Textdaten präzise verarbeiten und analysieren
URL-Kontext Weisen Sie das Modell an, Inhalte von bestimmten Webseiten oder Dokumenten zu lesen und zu analysieren. – Fragen basierend auf bestimmten URLs oder Dokumenten beantworten 
– Informationen von verschiedenen Webseiten abrufen
Computernutzung (Vorschau) Gemini kann einen Bildschirm ansehen und Aktionen generieren, um mit Webbrowser-Benutzeroberflächen zu interagieren (clientseitige Ausführung). – Automatisieren von sich wiederholenden webbasierten Workflows 
– Testen von Benutzeroberflächen von Webanwendungen
Dateisuche Sie können Ihre eigenen Dokumente indexieren und durchsuchen, um Retrieval-Augmented Generation (RAG) zu ermöglichen. – Suche in technischen Handbüchern 
– Question Answering über proprietäre Daten

Weitere Informationen zu den Kosten für bestimmte Tools finden Sie auf der Preisseite.

So funktioniert die Toolausführung

Mithilfe von Tools kann das Modell während einer Unterhaltung Aktionen anfordern. Der Ablauf hängt davon ab, ob das Tool integriert (von Google verwaltet) oder benutzerdefiniert (von Ihnen verwaltet) ist.

Ablauf integrierter Tools

Bei integrierten Tools (Google Suche, Google Maps, URL-Kontext, Dateisuche, Codeausführung) erfolgt der gesamte Prozess in einem API-Aufruf:

  1. Sie senden einen Prompt: „Was ist die Quadratwurzel des aktuellen Aktienkurses von GOOG?“
  2. Gemini entscheidet, dass Tools benötigt werden, und führt sie auf den Servern von Google aus (z.B. wird nach dem Aktienkurs gesucht und dann Python-Code ausgeführt, um die Quadratwurzel zu berechnen).
  3. Gemini sendet die endgültige Antwort zurück, die auf den Tool-Ergebnissen basiert.

Benutzerdefinierter Toolablauf (Funktionsaufrufe)

Bei benutzerdefinierten Tools und der Computerverwendung übernimmt Ihre Anwendung die Ausführung:

  1. Sie senden einen Prompt zusammen mit Funktionsdeklarationen (Tools).
  2. Gemini kann strukturiertes JSON zurückgeben, um eine bestimmte Funktion aufzurufen (z. B. {"name": "get_order_status", "args": {"order_id": "123"}}), immer mit einer eindeutigen id.
  3. Sie führen die Funktion in Ihrer Anwendung oder Umgebung aus.
  4. Sie senden die Funktionsergebnisse mit demselben id wie beim Funktionsaufruf zurück an Gemini.
  5. Gemini verwendet die Ergebnisse, um eine endgültige Antwort oder einen weiteren Tool-Aufruf zu generieren.

Weitere Informationen finden Sie im Leitfaden zu Funktionsaufrufen.

Ablauf zum Kombinieren integrierter und benutzerdefinierter Tools

Bei Anfragen, in denen integrierte und benutzerdefinierte Tools (Funktionsaufrufe) kombiniert werden, verwendet das Modell Tool-Kontextzirkulation, um die Ausführung in verschiedenen Umgebungen zu koordinieren:

  1. Sie senden einen Prompt und deklarieren die integrierten Tools und benutzerdefinierten Funktionen, die Sie aktivieren möchten. Dabei legen Sie ein Flag fest, um die Unterstützung von Kombinationen zu aktivieren.
  2. Gemini führt integrierte Tools aus und übergibt die Kontrolle an den Nutzer, wenn clientseitige Funktionsaufrufe generiert werden. Welche Aktion zuerst ausgeführt wird, hängt vom Prompt und der Entscheidung des Modells ab. Es wird eine Antwort mit Folgendem zurückgesendet:
    • Bestätigung des Tool-Aufrufs
    • Ergebnisse der Tool-Antwort (diese können nach dem JSON-Code stehen, wenn das Modell zwei parallele Funktionsaufrufe generiert hat)
    • Strukturierter JSON-Code zum Aufrufen Ihrer Funktion
    • Verschlüsselte Gedanken-Signaturen, um den Kontext beizubehalten
  3. Sie führen die Funktion in Ihrer Anwendung oder Umgebung aus.
  4. Sie geben alle Teile der Antwort von Gemini sowie die Ergebnisse Ihres Funktionsaufrufs zurück.
  5. Gemini generiert die endgültige Antwort anhand des gesamten kombinierten Kontexts.

Im Leitfaden zur Kombination von Tools erfahren Sie, wie Sie die Unterstützung für die Kombination von integrierten und benutzerdefinierten Tools aktivieren und wie der Kontext weitergegeben wird.

Strukturierte Ausgaben im Vergleich zu Funktionsaufrufen

Gemini bietet zwei Methoden zum Generieren strukturierter Ausgaben. Verwenden Sie Funktionsaufrufe, wenn das Modell einen Zwischenschritt ausführen muss, indem es eine Verbindung zu Ihren eigenen Tools oder Datensystemen herstellt. Verwenden Sie strukturierte Ausgaben, wenn die endgültige Antwort des Modells unbedingt einem bestimmten Schema entsprechen muss, z. B. zum Rendern einer benutzerdefinierten Benutzeroberfläche.

Strukturierte Ausgaben mit Tools

Sie können strukturierte Ausgaben mit integrierten Tools kombinieren, um sicherzustellen, dass Modellantworten, die auf externen Daten oder Berechnungen basieren, einem strengen Schema entsprechen.

Codebeispiele finden Sie unter Strukturierte Ausgaben mit Tools.