{"record":{"id":"6a0751077d94f0be","repo":"BerriAI/litellm","slug":"chunk-method-and-pipeline-id-are-mutually-exclusiv","errorCode":null,"errorMessage":"chunk_method and pipeline_id are mutually exclusive. Specify either chunk_method or pipeline_id, not both.","messagePattern":"chunk_method and pipeline_id are mutually exclusive\\. Specify either chunk_method or pipeline_id, not both\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/llms/ragflow/vector_stores/transformation.py","lineNumber":149,"sourceCode":"            # RAGFlow-specific fields that can be in metadata\n            ragflow_fields: Final = [\n                \"avatar\",\n                \"description\",\n                \"embedding_model\",\n                \"permission\",\n                \"chunk_method\",\n                \"parser_config\",\n                \"parse_type\",\n                \"pipeline_id\",\n            ]\n\n            for field in ragflow_fields:\n                if field in metadata:\n                    request_body[field] = metadata[field]\n\n        # Validate: chunk_method and pipeline_id are mutually exclusive\n        if \"chunk_method\" in request_body and \"pipeline_id\" in request_body:\n            raise ValueError(\n                \"chunk_method and pipeline_id are mutually exclusive. \"\n                \"Specify either chunk_method or pipeline_id, not both.\"\n            )\n\n        # If neither chunk_method nor pipeline_id is specified, default to naive\n        if \"chunk_method\" not in request_body and \"pipeline_id\" not in request_body:\n            request_body[\"chunk_method\"] = \"naive\"\n\n        return url, request_body\n\n    def transform_create_vector_store_response(self, response: httpx.Response) -> VectorStoreCreateResponse:\n        \"\"\"\n        Transform RAGFlow response to VectorStoreCreateResponse format.\n\n        RAGFlow response format:\n        {\n            \"code\": 0,\n            \"data\": {","sourceCodeStart":131,"sourceCodeEnd":167,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/llms/ragflow/vector_stores/transformation.py#L131-L167","documentation":"Cross-field guard in the RAGFlow dataset-creation mapping: metadata supplied both chunk_method and pipeline_id, which select mutually exclusive ingestion modes (built-in chunking vs pipeline), so the request is rejected instead of picking one.","triggerScenarios":"Triggered when both chunk_method and pipeline_id are specified for a RAGFlow dataset; they are mutually exclusive.","commonSituations":"See trigger scenarios.","solutions":["Pass only one of chunk_method or pipeline_id.","Remove the other parameter from the request."],"exampleFix":"# create(..., chunk_method=\"naive\") or create(..., pipeline_id=\"...\") — not both","handlingStrategy":"validation","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"}