{"record":{"id":"49f47ed530bc1a1f","repo":"weaviate/weaviate","slug":"found-more-than-one-module-params-s-which-are-co","errorCode":null,"errorMessage":"found more than one module params: %s which are conflicting choose one instead","messagePattern":"found more than one module params: (.+?) which are conflicting choose one instead","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"usecases/traverser/near_params_vector.go","lineNumber":151,"sourceCode":"\t}\n\n\tif len(moduleParams) == 1 && nearObject != nil {\n\t\treturn errors.Errorf(\"found both 'nearText' and 'nearObject' parameters \" +\n\t\t\t\"which are conflicting, choose one instead\")\n\t}\n\n\tif nearVector != nil && nearObject != nil {\n\t\treturn errors.Errorf(\"found both 'nearVector' and 'nearObject' parameters \" +\n\t\t\t\"which are conflicting, choose one instead\")\n\t}\n\n\tif v.modulesProvider != nil {\n\t\tif len(moduleParams) > 1 {\n\t\t\tparams := make([]string, 0, len(moduleParams))\n\t\t\tfor p := range moduleParams {\n\t\t\t\tparams = append(params, fmt.Sprintf(\"'%s'\", p))\n\t\t\t}\n\t\t\treturn errors.Errorf(\"found more than one module params: %s which are conflicting \"+\n\t\t\t\t\"choose one instead\", strings.Join(params, \", \"))\n\t\t}\n\n\t\tfor name, value := range moduleParams {\n\t\t\tif len(className) == 1 {\n\t\t\t\terr := v.modulesProvider.ValidateSearchParam(name, value, className[0])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\terr := v.modulesProvider.CrossClassValidateSearchParam(name, value)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n","sourceCodeStart":133,"sourceCodeEnd":169,"githubUrl":"https://github.com/weaviate/weaviate/blob/75aa4b6d11f8818305aafd4440b4e32794f7ca04/usecases/traverser/near_params_vector.go#L133-L169","documentation":"validateNearParams rejects queries providing more than one module search param (e.g. nearText plus nearImage). The %s lists the offending param names. Only one module-provided vector source is allowed per query.","triggerScenarios":"A Get/Explore/Aggregate query with two or more module params in the same clause, e.g. nearText{concepts:[...]} nearImage{image:\"base64...\"} — message reads: found more than one module params: 'nearText', 'nearImage' which are conflicting choose one instead.","commonSituations":"Multimodal search UIs sending text and image together; generically-built GraphQL resolvers that append every non-nil near param; mixing modules (text2vec + img2vec) in one query.","solutions":["Keep exactly one module param (e.g. only nearText or only nearImage)","Run separate queries per modality and combine results client-side","If a module supports multi-vector inputs, pass them inside the single param's arguments instead of adding a second param"],"exampleFix":"// before\n{ Get { Article(nearText: {concepts: [\"cat\"]}, nearImage: {image: \"base64...\"}) { title } } }\n// after\n{ Get { Article(nearImage: {image: \"base64...\"}) { title } } }","handlingStrategy":"validation","validationCode":"if len(moduleParams) > 1 {\n\treturn fmt.Errorf(\"only one module param allowed, got: %v\", keys(moduleParams))\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["For multimodal search, run one query per modality and merge client-side","Do not blindly attach every non-nil near field in generic builders","Check which modules are enabled; nearImage requires img2vec-style module"],"tags":["weaviate","graphql","modules","near-text","near-image","conflicting-args"],"backgroundTag":"conflicting-near-parameters","analyzedSha":"75aa4b6d11f8818305aafd4440b4e32794f7ca04","analyzedAt":"2026-09-04T14:58:20.392Z","contentChangedAt":"2026-09-04T14:58:20.392Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}