weaviate/weaviate · error
found more than one module params: %s which are conflicting
Error message
found more than one module params: %s which are conflicting choose one instead
What it means
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.
Source
Thrown at usecases/traverser/near_params_vector.go:151
}
if len(moduleParams) == 1 && nearObject != nil {
return errors.Errorf("found both 'nearText' and 'nearObject' parameters " +
"which are conflicting, choose one instead")
}
if nearVector != nil && nearObject != nil {
return errors.Errorf("found both 'nearVector' and 'nearObject' parameters " +
"which are conflicting, choose one instead")
}
if v.modulesProvider != nil {
if len(moduleParams) > 1 {
params := make([]string, 0, len(moduleParams))
for p := range moduleParams {
params = append(params, fmt.Sprintf("'%s'", p))
}
return errors.Errorf("found more than one module params: %s which are conflicting "+
"choose one instead", strings.Join(params, ", "))
}
for name, value := range moduleParams {
if len(className) == 1 {
err := v.modulesProvider.ValidateSearchParam(name, value, className[0])
if err != nil {
return err
}
} else {
err := v.modulesProvider.CrossClassValidateSearchParam(name, value)
if err != nil {
return err
}
}
}
}
View on GitHub (pinned to 75aa4b6d11)
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
Example fix
// before
{ Get { Article(nearText: {concepts: ["cat"]}, nearImage: {image: "base64..."}) { title } } }
// after
{ Get { Article(nearImage: {image: "base64..."}) { title } } } Defensive patterns
Strategy: validation
Validate before calling
if len(moduleParams) > 1 {
return fmt.Errorf("only one module param allowed, got: %v", keys(moduleParams))
} Prevention
- 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
When it happens
Trigger: 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.
Common situations: 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.
Related errors
- found 'nearText' and 'nearVector' and 'nearObject' parameter
- found both 'nearText' and 'nearVector' parameters which are
- found both 'nearText' and 'nearObject' parameters which are
- wrong parameters
- wrong parameters
AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04).
Data as JSON: /api/errors/49f47ed530bc1a1f.
Report an issue: GitHub.