Wird geladen

Wenn du KI-Anwendungen mit Claude entwickelst, musst du ihm oft Zugriff auf Echtzeitinformationen oder die Fähigkeit geben, Aktionen auszuführen. Hier kommen Tool-Funktionen ins Spiel - das sind Python-Funktionen, die Claude aufrufen kann, wenn es zusätzliche Daten benötigt, um Nutzern zu helfen.

Das obige Bild zeigt drei wesentliche Tools, die wir implementieren werden: das Abrufen des aktuellen Datums/der Uhrzeit, das Hinzufügen einer Dauer zu Daten und das Festlegen von Erinnerungen. Beginnen wir mit dem ersten.

Was sind Tool-Funktionen?

Eine Tool-Funktion ist eine einfache Python-Funktion, die automatisch ausgeführt wird, wenn Claude entscheidet, dass es zusätzliche Informationen benötigt, um einem Nutzer zu helfen. Wenn zum Beispiel jemand fragt "Wie viel Uhr ist es?", würde Claude dein Datum/Uhrzeit-Tool aufrufen, um die aktuelle Zeit zu erhalten.

Hier ist ein Beispiel für eine Wetter-Tool-Funktion. Beachte, wie sie Eingaben validiert und klare Fehlermeldungen liefert - das sind wichtige Best Practices.

Best Practices für Tool-Funktionen

Beim Schreiben von Tool-Funktionen solltest du diese Richtlinien befolgen:

  • Verwende beschreibende Namen: Sowohl dein Funktionsname als auch die Parameternamen sollten ihren Zweck klar erkennen lassen
  • Validiere Eingaben: Prüfe, ob erforderliche Parameter nicht leer oder ungültig sind, und löse Fehler aus, wenn dies der Fall ist
  • Liefere aussagekräftige Fehlermeldungen: Claude kann Fehlermeldungen sehen und den Funktionsaufruf möglicherweise mit korrigierten Parametern erneut versuchen

Die Validierung ist besonders wichtig, weil Claude aus Fehlern lernt. Wenn du einen klaren Fehler wie "Location cannot be empty" auslöst, könnte Claude versuchen, die Funktion erneut mit einem korrekten Standortwert aufzurufen.

Deine erste Tool-Funktion erstellen

Lass uns eine Funktion erstellen, um das aktuelle Datum und die Uhrzeit abzurufen. Diese Funktion akzeptiert einen Datumsformat-Parameter, damit Claude die Zeit in verschiedenen Formaten anfordern kann:

python
def get_current_datetime(date_format="%Y-%m-%d %H:%M:%S"):
    if not date_format:
        raise ValueError("date_format cannot be empty")
    return datetime.now().strftime(date_format)

Diese Funktion verwendet Pythons datetime-Modul, um die aktuelle Zeit abzurufen und sie gemäß dem angegebenen Formatstring zu formatieren. Das Standardformat liefert uns Jahr-Monat-Tag Stunde:Minute:Sekunde.

Du kannst sie mit verschiedenen Formaten testen:

python
# Standardformat: "2024-01-15 14:30:25"
get_current_datetime()

# Nur Stunde und Minute: "14:30"
get_current_datetime("%H:%M")

Die Validierungsprüfung stellt sicher, dass Claude keinen leeren String für das Datumsformat übergeben kann. Obwohl dieser spezielle Fehler unwahrscheinlich ist, zeigt er das Muster, Eingaben zu validieren und hilfreiche Fehlermeldungen zu liefern, aus denen Claude lernen kann.

Nächste Schritte

Das Erstellen der Funktion ist nur der erste Schritt. Als Nächstes musst du ein JSON-Schema schreiben, das die Funktion für Claude beschreibt, und sie dann in dein Chat-System integrieren. Dieser Tool-Funktionsansatz gibt Claude leistungsstarke Fähigkeiten, während dein Code organisiert und wartbar bleibt.