Zusammenfassung (Audio)
Keine Audio-Zusammenfassung für diese Lektion.
Studiennotizen
🧠 Lernnotizen: Längere Konversation mit Tool-Nutzung
Ziel: Implementierung einer langleigen Konversation, die wiederholt Werkzeuge (Tools) nutzt.
- Problem bei einfacher Abfrage: Wenn die ursprüngliche Abfrage keine Tool-Nutzung erfordert (z. B. "Was ist eins plus eins? "), wird ein leerer Tool-Nutzungs-Nachrichtseintrag erzeugt, was unnötig ist.
- Lösung: stop_reason prüfen: Die Entscheidung, ob Tool-Nutzung verarbeitet werden muss, basiert auf dem stop_reason der API-Antwort.
- Refactoring der chat-Funktion:
- Die Funktion wurde angepasst, um nicht nur Text, sondern auch den stop_reason zurückzugeben.
- Die Text-Extraktion wurde verbessert: Anstatt nur das erste Teil (part) zu nehmen, werden alle Textteile (text parts) in der Liste der Teile gescannt und zu einem zusammengefügt.
- Implementierung der run_conversation-Funktion (Der Hauptloop):
- Diese Funktion verarbeitet eine mehrstufiges Gespräch (while True).
- Schritt 1 (API-Aufruf): Ruft die chat-Funktion mit der aktuellen Nachrichtenliste und den verfügbaren Tools auf.
- Schritt 2 (Assistant Response): Fügt die Antwort des Assistenten (inklusive potenzieller Tool-Nutzungs-Teile) zur Nachrichtenliste hinzu.
- Schritt 3 (Bedingte Schleifensteuerung):
- Prüft den stop_reason.
- Wenn stop_reason nicht gleich tool_use ist, wird die Schleife beendet (die Konversation ist beendet).
- Wenn stop_reason gleich tool_use ist, wird fortgefahren.
- Schritt 4 (Tool-Ausführung): Ruft run_tools auf, um die angeforderten Werkzeuge auszuführen.
- Schritt 5 (Tool-Ergebnis): Fügt das Ergebnis der Tool-Ausführung als Benutzer-Nachricht zur Nachrichtenliste hinzu.
- Ablauf des Gesprächsprozesses:
- Benutzer fragt (z. B. "Wie spät ist es? ").
- Assistent antwortet mit Tool-Nutzungs-Anforderung.
- Tool wird ausgeführt.
- Tool-Ergebnis wird an den Assistenten zurückgesendet.
- Assistent liefert finale Antwort (keine Tool-Anforderung mehr).
- Vorteil: Dieser Ansatz unterstützt sowohl komplexe, mehrstufiges Tool-Use als auch einfache Fragen, die keine Tools benötigen.
Takeaways
- Die Entscheidung zur Tool-Nutzung basiert auf der Prüfung des stop_reason der API-Antwort.
- Die Funktion run_conversation nutzt einen Hauptloop (while True), um mehrstufiges Gespräch zu verarbeiten.
- Die Schleife wird fortgesetzt, nur wenn der stop_reason gleich tool_use ist.
- Der Gesprächsprozess wechselt zwischen der Assistent-Antwort (Tool-Anforderung) und der Tool-Ausführung (Ergebnis).
Lernkarten 7 Karten
Frage
zum Aufdecken klicken · ←/→
Antwort
zum Zurückdrehen klicken
Wissensüberprüfung 0 Fragen
No quiz for this lesson yet.