Die Anthropic SDKs bieten einen „middleware" (Middleware)- bzw. Interceptor-Hook, mit dem du Code ausführen kannst, bevor eine Anfrage gesendet wird und nachdem die Antwort empfangen wurde. Verwende Middleware für übergreifende Anliegen wie Logging, benutzerdefinierte Wiederholungsversuche, Anfrage-Annotation und Fallback-Behandlung bei Ablehnungen.
Jede Middleware kann die Anfrage inspizieren oder ersetzen, bevor sie next() aufruft, und die Antwort, nachdem next() zurückgekehrt ist.
Jede Middleware ist eine Funktion, die die ausgehende Anfrage und ein aufrufbares next erhält. Rufe next auf, um die Anfrage an den Rest der Kette weiterzuleiten (oder direkt an den SDK-Kern, wenn dies die letzte Middleware ist), und gib deren Antwort zurück. Alles vor dem next-Aufruf wird auf dem Hinweg ausgeführt; alles danach auf dem Rückweg.
Wenn du mehrere Middleware registrierst, werden sie in der angegebenen Reihenfolge angewendet: Der „Vorher"-Code der ersten Middleware wird zuerst ausgeführt, und ihr „Nachher"-Code wird zuletzt ausgeführt. Auf dem Client registrierte Middleware wird vor Middleware ausgeführt, die als anfragespezifische Option übergeben wird.
Im Go SDK werden wiederholte option.WithMiddleware-Aufrufe verkettet (zuerst Client, dann Methode). In den anderen SDKs übergibst du ein Array; spätere Einträge umschließen die inneren.
Jedes SDK akzeptiert auch einen benutzerdefinierten HTTP-Client (für Proxy-Konfiguration, benutzerdefiniertes TLS oder Connection-Pooling). Pro SDK-Client wird nur ein HTTP-Client verwendet; das Setzen ersetzt den Standard. Der benutzerdefinierte HTTP-Client empfängt Anfragen, nachdem alle Middleware ausgeführt wurde.
Die SDKs liefern eine Refusal-Fallback-Middleware mit, die Anfragen, die Claude Fable 5 ablehnt, automatisch auf einem Fallback-Modell wiederholt. Siehe Erkennen und Wiederholen auf einem Fallback-Modell für die Einrichtung und sprachspezifische Beispiele.
Was this page helpful?