Wird geladen

Mehrere Tools hinzufügen

Lektion 287 Min.

Jetzt, wo wir ein Tool funktionsfähig haben, ist es Zeit, die verbleibenden zwei Tools hinzuzufügen, um unser Projekt abzuschließen: add_duration_to_datetime und set_reminder. Die gute Nachricht ist, dass das Hinzufügen neuer Tools unkompliziert ist, sobald die Grundlage vorhanden ist.

Vorgefertigte Funktionen und Schemas

Um Zeit zu sparen, sind die Implementierungen für beide zusätzlichen Funktionen bereits bereitgestellt, zusammen mit ihren JSON-Schema-Spezifikationen. Du findest diese in den vorherigen Code-Zellen:

  • add_duration_to_datetime - Übernimmt Datumsarithmetik für verschiedene Zeiteinheiten
  • set_reminder - Erstellt Erinnerungen (gibt derzeit nur eine Ausgabe aus, könnte aber erweitert werden, um mit tatsächlichen Erinnerungssystemen zu integrieren)

Jede Funktion kommt mit einem entsprechenden JSON-Schema, das die erwarteten Parameter und ihre Typen definiert.

Tools zur Konversation hinzufügen

Der erste Schritt besteht darin, die neuen Tool-Schemas in deine Konversationsfunktion einzubinden. Füge in der Funktion run_conversation die zusätzlichen Schemas zum Tools-Array hinzu:

python
tools=[
    get_current_datetime_schema,
    add_duration_to_datetime_schema,
    set_reminder_schema
]

Die Tool-Funktionen verdrahten

Als Nächstes musst du die Funktion run_tool aktualisieren, um die neuen Tool-Namen zu verarbeiten. Füge zwei zusätzliche Bedingungszweige hinzu:

python
def run_tool(tool_name, tool_input):
    if tool_name == "get_current_datetime":
        return get_current_datetime(**tool_input)
    elif tool_name == "set_reminder":
        return set_reminder(**tool_input)
    elif tool_name == "add_duration_to_datetime":
        return add_duration_to_datetime(**tool_input)
    else:
        raise Exception(f"Unknown tool name: {tool_name}")

Das vollständige System testen

Mit allen verbundenen Tools kannst du nun komplexe Workflows testen, die mehrere Tool-Aufrufe erfordern. Wenn du Claude beispielsweise bittest, „Setze eine Erinnerung, zum Arzt zu gehen. Der Termin ist in 100 Tagen", wird dies eine Abfolge von Operationen auslösen:

  1. Das heutige Datum mit get_current_datetime abrufen
  2. 100 Tage zu diesem Datum mit add_duration_to_datetime hinzufügen
  3. Die Erinnerung mit set_reminder erstellen

Claude zerlegt die Anfrage automatisch in logische Schritte und erklärt seinen Plan, bevor es jeden Tool-Aufruf ausführt. Die Ausgabe zeigt den vollständigen Workflow, einschließlich des berechneten zukünftigen Datums und der Bestätigung, dass die Erinnerung gesetzt wurde.

Wichtigste Erkenntnis

Sobald die grundlegende Infrastruktur für die Tool-Nutzung vorhanden ist, erfordert das Hinzufügen neuer Tools nur zwei einfache Schritte: das Einbinden des Schemas in dein Tools-Array und das Hinzufügen eines Falls zur Behandlung des Tool-Namens in deiner Routing-Funktion. Die anfängliche Einrichtung mag komplex erscheinen, aber die Skalierung auf mehrere Tools wird sehr überschaubar.