• Mensajes
  • Agentes gestionados
  • Administración

Search...
⌘K
Primeros pasos
Introducción a ClaudeInicio rápido
Desarrollar con Claude
Descripción general de funcionesUso de la API de MensajesMotivos de detención y respaldoRechazos y respaldoCrédito de respaldo
Capacidades del modelo
Pensamiento extendidoPensamiento adaptativoEsfuerzoPresupuestos de tareas (beta)Modo rápido (vista previa de investigación)Salidas estructuradasCitasStreaming de mensajesProcesamiento por lotesResultados de búsquedaStreaming de rechazosSoporte multilingüeEmbeddings
Herramientas
Descripción generalCómo funciona el uso de herramientasTutorial: Crear un agente que usa herramientasDefinir herramientasGestionar llamadas a herramientasUso de herramientas en paraleloTool Runner (SDK)Uso de herramientas estrictoUso de herramientas con almacenamiento en caché de promptsHerramientas de servidorSolución de problemasHerramienta de búsqueda webHerramienta de obtención webHerramienta de ejecución de códigoHerramienta de asesorHerramienta de memoriaHerramienta BashHerramienta de uso de computadoraHerramienta de editor de texto
Infraestructura de herramientas
Referencia de herramientasGestionar contexto de herramientasCombinaciones de herramientasBúsqueda de herramientasLlamadas programáticas a herramientasStreaming detallado de herramientas
Gestión de contexto
Ventanas de contextoCompactaciónEdición de contextoAlmacenamiento en caché de promptsMensajes del sistema en mitad de conversaciónCrear un modo de orquestaciónDiagnóstico de caché (beta)Conteo de tokens
Trabajar con archivos
API de archivosCompatibilidad con PDFImágenes y visión
Habilidades
Descripción generalInicio rápidoMejores prácticasHabilidades para empresasHabilidades en la API
MCP
Servidores MCP remotosConector MCP
Claude en plataformas en la nube
Amazon BedrockAmazon Bedrock (heredado)Claude Platform en AWSMicrosoft FoundryVertex AI

Log in
Streaming de rechazos
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

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

Partners

  • Claude on AWS
  • Google Cloud's Vertex AI

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
Mensajes/Capacidades del modelo

Rechazos en streaming

A partir de los modelos Claude 4, las respuestas en streaming de la API de Claude devuelven stop_reason: "refusal" cuando los clasificadores de streaming intervienen para gestionar posibles infracciones de las políticas. Esta nueva función de seguridad ayuda a mantener el cumplimiento del contenido durante el streaming en tiempo real.



Para obtener más información sobre los rechazos activados por los filtros de seguridad de la API para Claude Sonnet 4.5, consulta Understanding Sonnet 4.5's API Safety Filters.

Formato de respuesta de la API

Cuando los clasificadores de streaming detectan contenido que infringe las políticas de Anthropic, la API devuelve esta respuesta:

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

No se incluye ningún mensaje de rechazo adicional. Debes gestionar la respuesta y proporcionar mensajes apropiados para el usuario.

Restablecer el contexto después de un rechazo

Cuando recibas stop_reason: refusal, debes restablecer el contexto de la conversación antes de continuar. Puedes eliminar o reformular el turno que provocó el rechazo, o borrar por completo el historial de la conversación. Si intentas continuar sin restablecer el contexto, seguirás recibiendo rechazos.



Las métricas de uso se siguen proporcionando en la respuesta, incluso cuando la respuesta es rechazada.

Cuando un rechazo llega antes de que Claude genere cualquier salida, no se te factura la solicitud en la API de Claude, y los recuentos de uso en esa respuesta son solo informativos. Cuando Claude genera salida antes del rechazo, sí se te factura esa solicitud.



Si encuentras con frecuencia el stop reason refusal al usar Claude Sonnet 4.5 u Opus 4.1 (obsoleto), puedes intentar actualizar tus llamadas a la API para usar Haiku 4.5 (claude-haiku-4-5-20251001), que tiene restricciones de uso diferentes. Obtén más información sobre los filtros de seguridad de la API de Sonnet 4.5.

Guía de implementación

A continuación se muestra cómo detectar y gestionar los rechazos en streaming en tu aplicación:

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:
            # Verificar si hay un rechazo en el delta del mensaje
            if event.type == "message_delta":
                if event.delta.stop_reason == "refusal":
                    reset_conversation()
                    break
except Exception as e:
    print(f"Error: {e}")

Tipos de rechazo actuales

Actualmente, la API gestiona los rechazos de tres maneras diferentes:

Tipo de rechazoFormato de respuestaCuándo ocurre
Rechazos del clasificador de streamingstop_reason: refusalDurante el streaming, cuando el contenido infringe las políticas
Validación de entrada de la API y de derechos de autorCódigos de error 400Cuando la entrada no supera las comprobaciones de validación
Rechazos generados por el modeloRespuestas de texto estándarCuando el propio modelo decide rechazar


Las versiones futuras de la API ampliarán el patrón stop_reason: refusal para unificar la gestión de rechazos en todos los tipos.

Mejores prácticas

  • Monitorea los rechazos: Incluye comprobaciones de stop_reason: refusal en tu gestión de errores
  • Restablece automáticamente: Implementa el restablecimiento automático del contexto cuando se detecten rechazos
  • Proporciona mensajes personalizados: Crea mensajes amigables para el usuario para mejorar la experiencia cuando ocurran rechazos
  • Haz seguimiento de los patrones de rechazo: Monitorea la frecuencia de rechazos para identificar posibles problemas con tus prompts

Notas de migración

  • Los modelos futuros ampliarán este patrón a otros tipos de rechazo
  • Planifica tu gestión de errores para adaptarte a la futura unificación de las respuestas de rechazo

Was this page helpful?

  • Formato de respuesta de la API
  • Restablecer el contexto después de un rechazo
  • Guía de implementación
  • Tipos de rechazo actuales
  • Mejores prácticas
  • Notas de migración