Claude With Amazon Bedrock
← Alle Lektionen
Lektion 32Claude With Amazon Bedrock

Multi-Turn conversations with tools

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
Nach Anki exportieren (.tsv) ↓
Wissensüberprüfung 0 Fragen

No quiz for this lesson yet.