Feinkörniges Tool-Streaming
Tool-Verwendung unterstützt jetzt feinkörniges Streaming für Parameterwerte, wodurch Entwickler Tool-Use-Parameter ohne Pufferung/JSON-Validierung streamen können.
Tool-Verwendung unterstützt jetzt feinkörniges Streaming für Parameterwerte. Dies ermöglicht es Entwicklern, Tool-Use-Parameter ohne Pufferung / JSON-Validierung zu streamen, wodurch die Latenz für den Empfang großer Parameter reduziert wird.
Feinkörniges Tool-Streaming ist eine Beta-Funktion. Bitte stellen Sie sicher, dass Sie Ihre Antworten bewerten, bevor Sie sie in der Produktion verwenden.
Bitte verwenden Sie dieses Formular, um Feedback zur Qualität der Modellantworten, der API selbst oder der Qualität der Dokumentation zu geben—wir können es kaum erwarten, von Ihnen zu hören!
Bei der Verwendung von feinkörnigem Tool-Streaming können Sie möglicherweise ungültige oder unvollständige JSON-Eingaben erhalten. Bitte stellen Sie sicher, dass Sie diese Grenzfälle in Ihrem Code berücksichtigen.
Wie man feinkörniges Tool-Streaming verwendet
Um diese Beta-Funktion zu verwenden, fügen Sie einfach den Beta-Header fine-grained-tool-streaming-2025-05-14
zu einer Tool-Use-Anfrage hinzu und aktivieren Sie das Streaming.
Hier ist ein Beispiel, wie man feinkörniges Tool-Streaming mit der API verwendet:
In diesem Beispiel ermöglicht feinkörniges Tool-Streaming Claude, die Zeilen eines langen Gedichts in den Tool-Aufruf make_file
zu streamen, ohne zu puffern, um zu validieren, ob der Parameter lines_of_text
gültiges JSON ist. Das bedeutet, Sie können den Parameter-Stream sehen, während er ankommt, ohne warten zu müssen, bis der gesamte Parameter gepuffert und validiert ist.
Mit feinkörnigem Tool-Streaming beginnen Tool-Use-Chunks schneller zu streamen und sind oft länger und enthalten weniger Wortumbrüche. Dies liegt an Unterschieden im Chunking-Verhalten.
Beispiel:
Ohne feinkörniges Streaming (15s Verzögerung):
Mit feinkörnigem Streaming (3s Verzögerung):
Da feinkörniges Streaming Parameter ohne Pufferung oder JSON-Validierung sendet, gibt es keine Garantie, dass der resultierende Stream in einem gültigen JSON-String abgeschlossen wird.
Insbesondere, wenn der Stopp-Grund max_tokens
erreicht wird, kann der Stream mitten in einem Parameter enden und unvollständig sein. Sie müssen im Allgemeinen spezifische Unterstützung schreiben, um zu handhaben, wenn max_tokens
erreicht wird.
Umgang mit ungültigem JSON in Tool-Antworten
Bei der Verwendung von feinkörnigem Tool-Streaming können Sie ungültiges oder unvollständiges JSON vom Modell erhalten. Wenn Sie dieses ungültige JSON in einem Fehlerantwort-Block an das Modell zurückgeben müssen, können Sie es in ein JSON-Objekt einschließen, um eine ordnungsgemäße Behandlung zu gewährleisten (mit einem vernünftigen Schlüssel). Zum Beispiel:
Dieser Ansatz hilft dem Modell zu verstehen, dass der Inhalt ungültiges JSON ist, während die ursprünglichen fehlerhaften Daten für Debugging-Zwecke erhalten bleiben.
Beim Einschließen von ungültigem JSON stellen Sie sicher, dass Sie alle Anführungszeichen oder Sonderzeichen in der ungültigen JSON-Zeichenkette ordnungsgemäß maskieren, um eine gültige JSON-Struktur im Wrapper-Objekt aufrechtzuerhalten.