Claude Platform Docs
  • Messaggi
  • Agenti gestiti
  • Amministrazione

Search...
⌘K
Primi passi
Introduzione a ClaudeGuida rapida
Sviluppare con Claude
Panoramica delle funzionalitàUtilizzo dell'API MessagesMotivi di interruzione e fallbackRifiuti e fallbackCredito di fallback
Capacità del modello
Pensiero estesoPensiero adattivoEffortBudget delle attività (beta)Modalità veloce (anteprima di ricerca)Output strutturatiCitazioniStreaming dei messaggiElaborazione batchRisultati di ricercaStreaming dei rifiutiSupporto multilingueEmbedding
Strumenti
PanoramicaCome funziona l'uso degli strumentiTutorial: Creare un agente che usa strumentiDefinire gli strumentiGestire le chiamate agli strumentiUso degli strumenti in paralleloTool Runner (SDK)Uso degli strumenti rigorosoStrumenti serverStrumento di ricerca webStrumento di recupero webStrumento di esecuzione codiceStrumento advisorStrumento di ricerca strumentiStrumento di memoriaStrumento BashStrumento editor di testoStrumento di uso del computerRisoluzione dei problemi
Infrastruttura degli strumenti
Riferimento strumentiGestire il contesto degli strumentiCombinazioni di strumentiUso degli strumenti con cache dei promptChiamata programmatica degli strumentiStreaming granulare degli strumenti
Gestione del contesto
Finestre di contestoCompattazioneModifica del contestoCache dei promptMessaggi di sistema a metà conversazioneCreare una modalità di orchestrazioneDiagnostica della cache (beta)Conteggio dei token
Lavorare con i file
API FilesSupporto PDF
Skill
PanoramicaGuida rapidaBest practiceSkill per le aziendeSkill nell'API
MCP
Server MCP remotiConnettore MCP
Claude su piattaforme cloud
Amazon BedrockAmazon Bedrock (legacy)Claude Platform su AWSGoogle CloudMicrosoft Foundry

Log in
Streaming dei rifiuti
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Claude Platform Docs

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Claude on AWS
  • Claude on Google Cloud

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Messaggi/Capacità del modello

Rifiuti in streaming

Rileva e gestisci i motivi di arresto per rifiuto nelle risposte in streaming e riprova le richieste rifiutate su un modello di fallback.

A partire dai modelli Claude 4, le risposte in streaming dall'API di Claude restituiscono stop_reason: "refusal" quando i classificatori di streaming intervengono per gestire potenziali violazioni delle policy. Questa funzionalità di sicurezza aiuta a mantenere la conformità dei contenuti durante lo streaming in tempo reale.



Questa pagina descrive come i rifiuti appaiono nelle risposte in streaming. Per tutti i valori di stop_reason e come gestirli, consulta Motivi di arresto e fallback. Per riprovare le richieste rifiutate su un altro modello Claude, consulta Rifiuti e fallback.

Formato della risposta API

Quando i classificatori di streaming rilevano contenuti che violano le policy di Anthropic, l'API restituisce questa risposta:

{
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Hello.."
    }
  ],
  "stop_reason": "refusal"
}


Non viene incluso alcun messaggio di rifiuto aggiuntivo. Devi gestire la risposta e fornire messaggi appropriati rivolti all'utente.

Reimpostare il contesto dopo un rifiuto

Quando ricevi stop_reason: refusal, devi reimpostare il contesto della conversazione prima di continuare. Puoi rimuovere o riformulare il turno che ha attivato il rifiuto, oppure cancellare completamente la cronologia della conversazione. Tentare di continuare senza reimpostare comporterà ulteriori rifiuti.



Le metriche di utilizzo vengono comunque fornite nella risposta, anche quando la risposta viene rifiutata.

Quando un rifiuto arriva prima che Claude generi qualsiasi output, non ti viene addebitata la richiesta sull'API di Claude e i conteggi di utilizzo in quella risposta sono solo informativi. Quando Claude genera output prima del rifiuto, la richiesta ti viene addebitata.



Reimpostare il contesto non è l'unico modo per recuperare. Puoi anche riprovare la richiesta rifiutata su un modello Claude diverso, e la pagina Rifiuti e fallback mostra come configurarlo con il fallback lato server, il middleware dell'SDK o un nuovo tentativo manuale.

Guida all'implementazione

Ecco come rilevare e gestire i rifiuti in streaming nella tua applicazione:

client = anthropic.Anthropic()
messages = []


def reset_conversation():
    """Reset conversation context after refusal"""
    global messages
    messages = []
    print("Conversation reset due to refusal")


try:
    with client.messages.stream(
        max_tokens=1024,
        messages=messages + [{"role": "user", "content": "Hello"}],
        model="claude-opus-4-8",
    ) as stream:
        for event in stream:
            # Verifica la presenza di un rifiuto nel delta del messaggio
            if event.type == "message_delta":
                if event.delta.stop_reason == "refusal":
                    reset_conversation()
                    break
except Exception as e:
    print(f"Error: {e}")

Tipi di rifiuto attuali

L'API attualmente gestisce i rifiuti in tre modi diversi:

Tipo di rifiutoFormato della rispostaQuando si verifica
Rifiuti del classificatore di streamingstop_reason: refusalDurante lo streaming quando il contenuto viola le policy
Validazione dell'input API e del copyrightCodici di errore 400Quando l'input non supera i controlli di validazione
Rifiuti generati dal modelloRisposte testuali standardQuando il modello stesso decide di rifiutare


Le versioni future dell'API estenderanno il pattern stop_reason: refusal per unificare la gestione dei rifiuti in tutti i tipi.

Best practice

  • Monitora i rifiuti: Includi controlli su stop_reason: refusal nella tua gestione degli errori
  • Reimposta automaticamente: Implementa la reimpostazione automatica del contesto quando vengono rilevati rifiuti
  • Esegui il fallback su un altro modello: Configura il fallback lato server o il middleware dell'SDK in modo che le richieste rifiutate vengano riprovate su un altro modello Claude invece di mostrare un rifiuto all'utente
  • Riscatta il credito di fallback nei tentativi manuali: Se implementi tu stesso il nuovo tentativo, passa il token di credito di fallback del rifiuto in modo che il nuovo tentativo non paghi due volte il costo della cache dei prompt
  • Fornisci messaggi personalizzati: Crea messaggi intuitivi per l'utente per una migliore UX quando si verificano rifiuti
  • Traccia i pattern di rifiuto: Monitora la frequenza dei rifiuti per identificare potenziali problemi con i tuoi prompt

Note sulla migrazione

Se hai implementato la gestione dei rifiuti quando questa funzionalità è stata rilasciata per la prima volta, o la stai aggiungendo a un'integrazione esistente, verifica quanto segue:

  • I rifiuti sono risposte, non errori. Un rifiuto arriva come risposta HTTP 200 riuscita con stop_reason: "refusal", quindi un monitoraggio basato solo sui tassi di errore non lo rileverà. Traccia i rifiuti come segnale a sé stante.
  • I modelli più recenti restituiscono maggiori dettagli. Su Claude Fable 5, un rifiuto include anche un oggetto stop_details che identifica la categoria di policy alla base del diniego. Consulta Rifiuti e fallback per la struttura completa della risposta.
  • Riprova su un modello diverso. Reinviare una richiesta rifiutata allo stesso modello di solito produce un altro rifiuto. Invece di limitarti a reimpostare il contesto, riprova su un modello di fallback con il fallback lato server, il middleware dell'SDK o un nuovo tentativo manuale, e riscatta il credito di fallback quando implementi tu stesso il nuovo tentativo.
  • Controlla i risultati dei batch per i rifiuti. Una richiesta rifiutata in un Message Batch viene restituita come risultato riuscito con stop_reason: "refusal", non come risultato in errore.
  • Centralizza la gestione su stop_reason. L'API continua a consolidare la gestione dei rifiuti attorno a stop_reason: "refusal", quindi basa la logica condizionale sul motivo di arresto anziché sul comportamento specifico del modello.

Passaggi successivi

Rifiuti e fallback

Riprova le richieste rifiutate su un altro modello Claude, lato server o nel tuo client.


Motivi di arresto e fallback

Tutti i valori di stop_reason e come gestirli.


Messaggi in streaming

Trasmetti le risposte in streaming e leggi stop_reason dagli eventi message_delta man mano che arrivano.


Supporto multilingue

Servi utenti in diverse lingue con le capacità cross-linguistiche di Claude.

Was this page helpful?

  • Formato della risposta API
  • Reimpostare il contesto dopo un rifiuto
  • Guida all'implementazione
  • Tipi di rifiuto attuali
  • Best practice
  • Note sulla migrazione
  • Passaggi successivi