Wie automatisiert man Aufgaben mit Anthropic’s Tools und Claude 3?
Erste Schritte mit den Tools von Anthropic
Der größte Vorteil der Beschäftigung von LLMs für Aufgaben ist ihre Vielseitigkeit. LLMs können auf spezifische Weise für eine Vielzahl von Zwecken eingesetzt werden, indem sie als APIs für die Texterstellung dienen oder unstrukturierte Daten in organisierte Formate umwandeln. Viele von uns nutzen ChatGPT für ihre täglichen Aufgaben, sei es beim Verfassen von E-Mails oder bei spielerischen Debatten mit der KI.
Die Architektur von Plugins, die auch als ‘GPTs’ bezeichnet werden, dreht sich um die Erkennung von Schlüsselwörtern aus Antworten und Abfragen und die Ausführung der entsprechenden Funktionen. Diese Plugins ermöglichen Interaktionen mit externen Anwendungen oder lösen benutzerdefinierte Funktionen aus.
Während OpenAI bei der Ermöglichung externer Funktionsaufrufe für die Aufgabenausführung führend war, hat Anthropic vor kurzem eine erweiterte Funktion namens ‘Tool Use’ eingeführt, die den bisherigen Funktionsaufrufmechanismus ersetzt. Diese aktualisierte Version vereinfacht die Entwicklung durch die Verwendung von JSON anstelle von XML-Tags. Darüber hinaus bietet Claude-3 Opus einen Vorteil gegenüber den GPT-Modellen mit seinem größeren Kontextfenster von 200K Token, das in bestimmten Szenarien besonders wertvoll ist.
In diesem Blog werden wir uns mit dem Konzept der “Toolverwendung” befassen, seine Funktionen erörtern und Anleitungen für den Einstieg geben.
Was ist ‘Werkzeuggebrauch’?
Claude ist in der Lage, mit externen clientseitigen Tools und Funktionen zu interagieren, so dass Sie Claude mit Ihren eigenen benutzerdefinierten Tools für ein breiteres Spektrum von Aufgaben ausstatten können.
Der Arbeitsablauf für die Verwendung von Tools mit Claude sieht folgendermaßen aus:
- Versorgen Sie Claude mit Tools und einer Benutzerabfrage (API-Anfrage)
- Definieren Sie eine Reihe von Tools, aus denen Claude wählen kann.
- Fügen Sie sie zusammen mit der Benutzerabfrage in die Aufforderung zur Texterstellung ein.
- Claude wählt ein Werkzeug aus
- Claude analysiert die Benutzerabfrage und vergleicht sie mit allen verfügbaren Tools, um das relevanteste auszuwählen.
- Mithilfe des LLM-Denkprozesses identifiziert es die für das jeweilige Tool erforderlichen Schlüsselwörter.
- Antwortgenerierung (API-Antwort)
- Nach Abschluss des Prozesses wird die Denkaufforderung zusammen mit dem ausgewählten Werkzeug und den Parametern als Ausgabe generiert.
Anschließend führen Sie die ausgewählte Funktion bzw. das Tool aus und nutzen deren Ausgabe, um gegebenenfalls eine weitere Antwort zu erzeugen.
Allgemeines Schema des Tools
Dieses Schema dient als Mittel, um dem LLM die Anforderungen für den Funktionsaufruf zu übermitteln. Sie ruft keine Funktion direkt auf und löst keine eigene Aktion aus. Um eine genaue Identifizierung der Werkzeuge zu gewährleisten, muss eine detaillierte Beschreibung jedes Werkzeugs angegeben werden. Properties
innerhalb des Schemas werden verwendet, um die Parameter zu identifizieren, die zu einem späteren Zeitpunkt an die Funktion übergeben werden.
Demonstration
Lassen Sie uns Tools entwickeln, mit denen wir das Internet durchforsten und den Kurs einer beliebigen Aktie ermitteln können.
Tools Schema
Im Tool scrape_website
wird die URL der Website aus der Eingabeaufforderung des Benutzers geholt. Was das Tool stock_price
betrifft, so erkennt es den Unternehmensnamen anhand der Benutzerabfrage und wandelt ihn in einen yfinance-Ticker um.
Benutzer-Eingabeaufforderung
Wenn Sie dem Bot zwei Abfragen stellen, eine für jedes Tool, erhalten wir die folgenden Ergebnisse:
Der Denkprozess listet alle Schritte auf, die der LLM unternimmt, um das richtige Tool für jede Abfrage auszuwählen und die notwendigen Konvertierungen wie in den Toolbeschreibungen beschrieben durchzuführen.
Das richtige Tool auswählen
Wir müssen einen zusätzlichen Code schreiben, der die entsprechenden Funktionen auf der Grundlage von Bedingungen auslöst.
Diese Funktion dient dazu, den entsprechenden Code auf der Grundlage des in der LLM-Antwort abgerufenen Toolnamens zu aktivieren. In der ersten Bedingung scrapen wir die Website-URL, die wir von der Tool-Eingabe erhalten haben, während wir in der zweiten Bedingung den Börsenticker abrufen und an die yfinance Python-Bibliothek übergeben.
Ausführen der Funktionen
Wir werden die gesamte ToolUseBlock
in der Funktion select_tool()
übergeben, um den entsprechenden Code auszulösen.
Ausgaben
- Erste Aufforderung
- Zweite Aufforderung
Wenn Sie den gesamten Quellcode dieser Demonstration sehen möchten, können Sie sich dieses Notizbuch ansehen.
Einige Anwendungsfälle
Die Funktion ‘Werkzeugnutzung’ für Claude hebt die Vielseitigkeit des LLM auf eine ganz neue Ebene. Das Beispiel ist zwar grundlegend, aber es dient als Basis für die Erweiterung der Funktionalität. Hier ist eine Anwendung aus dem wirklichen Leben:
Gestern hat @AnthropicAI eine Tool Use Beta gestartet!
Hier ist ein Beispiel für etwas, das ich damit gebaut habe: ein Kundenservice-Bot, der Ihr Problem tatsächlich lösen kann!
Ich freue mich darauf zu sehen, was die Leute sonst noch bauen! https://t.co/Xmi7pnwouS pic.twitter.com/T5bE4peexR
– Erik Schluntz (@ErikSchluntz) April 5, 2024
Um weitere Anwendungsfälle zu finden, können Sie das offizielle Repository von Anthropic besuchen
hier
.