{"record":{"id":"89123cb1ee9c91bb","repo":"BerriAI/litellm","slug":"ibm-guardrail-detector-failed-len-filtered-detec","errorCode":null,"errorMessage":"IBM Guardrail Detector failed: {len(filtered_detections)} violation(s) detected","messagePattern":"IBM Guardrail Detector failed: (.+?) violation\\(s\\) detected","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/proxy/guardrails/guardrail_hooks/ibm_guardrails/ibm_detector.py","lineNumber":475,"sourceCode":"\n            else:\n                # Call orchestrator for each content separately\n                for content in contents_to_check:\n                    orchestrator_result = await self._call_orchestrator(\n                        content=content,\n                        request_data=data,\n                        event_type=GuardrailEventHooks.pre_call,\n                    )\n\n                    verbose_proxy_logger.debug(\n                        \"IBM Orchestrator async_pre_call_hook result: %s\",\n                        orchestrator_result,\n                    )\n\n                    filtered = self._filter_detections_by_threshold(orchestrator_result)\n                    if filtered and self.block_on_detection:\n                        error_message = self._create_error_message_orchestrator(orchestrator_result)\n                        raise ValueError(error_message)\n\n        # Add guardrail to applied guardrails header\n        add_guardrail_to_applied_guardrails_header(request_data=data, guardrail_name=self.guardrail_name)\n\n        return data\n\n    async def async_moderation_hook(\n        self,\n        data: dict,\n        user_api_key_dict: UserAPIKeyAuth,\n        call_type: CallTypesLiteral,\n    ):\n        \"\"\"\n        Runs in parallel to LLM API call\n        Runs on only Input\n\n        This can NOT modify the input, only used to reject or accept a call before going to LLM API\n        \"\"\"","sourceCodeStart":457,"sourceCodeEnd":493,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/guardrails/guardrail_hooks/ibm_guardrails/ibm_detector.py#L457-L493","documentation":"Error \"IBM Guardrail Detector failed: {len(filtered_detections)} violation(s) detected\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/guardrails/guardrail_hooks/ibm_guardrails/ibm_detector.py:475 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Review which filtered detections triggered the block and modify the request content accordingly.","Adjust detector score thresholds so legitimate content is not flagged."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}