ChatGPT hat zahlreiche Möglichkeiten eröffnet, Texte basierend auf Eingaben zu generieren. Dennoch erkennen wir oft seine Grenzen aufgrund seiner Trainingsdaten und seines internen Wissens, beispielsweise bei der Durchführung arithmetischer Berechnungen oder der Bereitstellung von Echtzeitinformationen wie dem Wetter oder den heutigen Nachrichten. Glücklicherweise können wir die Fähigkeiten von ChatGPT durch die Integration externer Funktionen erweitern. Diese Möglichkeit ist als Function Calling bekannt.
Was ist Function Calling?
Function Calling ermöglicht es, vordefinierte Funktionen basierend auf den erhaltenen Aufforderungen auszuführen. Durch die Aktivierung von Function Calling kann ChatGPT mit externen Systemen interagieren, Echtzeitinformationen abrufen und komplexe Operationen durchführen, was es zu einem leistungsstarken Werkzeug für verschiedene Anwendungen macht.
Wie es funktioniert
Der Prozess des Aufrufs von Funktionen innerhalb von ChatGPT umfasst mehrere Schritte:
Predefined Functions: Diese Funktionen werden vor der Interaktion festgelegt und sind so konzipiert, dass sie spezifische Aufgaben ausführen. Zum Beispiel könnten wir eine Funktion haben, die eine Multiplikation durchführt:def multiply(a: float, b: float) -> float:Recognition: Wenn ChatGPT auf eine Aufforderung stösst, die die Kriterien für einen Funktionsaufruf erfüllt, erkennt es die Notwendigkeit, diese Funktion auszuführen. Zum Beispiel könnte ein Benutzer fragen: „What is 150 times 30?“
"""Multiply two numbers and returns the product"""
return a * b
multiply_tool = FunctionTool.from_defaults(fn=multiply)
response = agent.chat("What is 150 times 30?")
=== Calling Function ===
Calling function: multiply with args: {"a": 150, "b": 30}
Got output: 4500
========================
Response: Die Ausgabe der Funktion wird in die Antwort von GPT integriert und liefert dem Benutzer die gewünschten Informationen oder führt die angeforderte Aktion aus. In unserem Beispiel wird die gefragte Berechnung geliefert.
150 times 30 is equal to 4500.
Verwandlung in einen Agenten
Ein Agent im Kontext von GPT bezieht sich auf das Modell, das autonom im Namen eines Benutzers Aufgaben ausführt. Dies beinhaltet das Verstehen von Benutzeranfragen, das Treffen von Entscheidungen und das Ausführen von Aufgaben ohne kontinuierlichen direkten Input. Beispiele für agentenbasierte Aufgaben umfassen das Buchen von Terminen, das Bereitstellen massgeschneiderter Empfehlungen und das Verwalten von Zeitplänen. Diese Aufgaben werden mithilfe der oben erläuterten Function Calling ausgeführt.
Kundendienst ist ein Hauptbeispiel, bei dem Agenten erstellt werden können. Agenten können Antworten automatisieren und komplexe Anfragen durch Function Calling bearbeiten, wodurch die Kundeninteraktion mit personalisierten Antworten verbessert wird.
Ein weiteres Beispiel ist der Virtuelle Assistent. Virtuelle Assistenten können verwendet werden, um Zeitpläne zu verwalten, Erinnerungen zu setzen und sich mit anderen Anwendungen und Diensten zu integrieren.
Praxisbeispiel
Erstellen wir einen Kundendienstagenten, um Benutzerinformationen zu speichern, wenn ein Benutzer ein Konto eröffnen möchte. Wir speichern die Daten in einer Variablen namens account_info. Die Schritte sind wie folgt:
Definieren Sie die benötigte Funktion. Wir speichern Adresse und E-Mail.
def save_address(address: str) -> str:
"""Save the address and return the address"""
account_info["address"] = address
return address
save_address_tool = FunctionTool.from_defaults(fn=save_address)
def save_email(email: str) -> str:
"""Save the email and return the email"""
account_info["email"] = email
return email
save_email_tool = FunctionTool.from_defaults(fn=save_email)
Wir starten den Agenten.
=> agent.chat("I would like to create an account")
"""Agent: Sure! To create an account, I will need some information from you. Please provide me with the following details:
1. Your address
2. Your email address
Once you provide this information, I will proceed with creating your account."""
=> agent.chat("my address is 1234 Main St, New York, NY 10001")
"""Agent: Thank you for providing your address. Next, please provide me with your email address to complete the account creation process."""
=> agent.chat("my email is test1@email.com. Is it ok?")
"""Agent: Thank you for providing your email address. Your account has been successfully created with the following details:
- Address: 1234 Main St, New York, NY 10001
- Email: test1@email.com
Aufrufen von account_info, um zu sehen, ob die Informationen korrekt gespeichert wurden.
account_info
"""{'address': '1234 Main St, New York, NY 10001',
'email': 'test1@email.com'}"""
Und das war's. Sie haben jetzt die Kontoinformationen, die Sie in Ihrer Datenbank speichern und weiterverwenden können. Sie haben einen echten Anwendungsfall gesehen, bei dem KI-Agenten eingesetzt werden können
Kontaktieren Sie uns
Interessiert daran, wie KI-Agenten Ihre automatisierte Aufgabenbearbeitung verbessern können? Schreiben Sie uns für eine Beratung, wie wir KI-Lösungen auf Ihre individuellen Geschäftsanforderungen zuschneiden können.