weaviate/weaviate · error
get vector input from modules provider: is target vector mul
Error message
get vector input from modules provider: is target vector multi vector: %w
What it means
When generating the query vector from a module, vectorFromModuleInput first asks whether the target vector is a multi-vector (multiple vectors per object, e.g. ColBERT-style). This error wraps a failure of that IsTargetVectorMultiVector lookup against the modules provider — typically a schema/module resolution failure, not a vectorization failure.
Source
Thrown at usecases/traverser/hybrid/searcher.go:290
targetVector := getTargetVector(targetVectors)
if err != nil {
return nil, err
}
vector, err := vectorFromModuleInput(ctx, class, query, targetVector, modules)
if err != nil {
return nil, err
}
return vector, nil
} else {
return nil, fmt.Errorf("no vector or modules provided for hybrid search")
}
}
}
func vectorFromModuleInput(ctx context.Context, class, input, targetVector string, modules modulesProvider) (models.Vector, error) {
isMultiVector, err := modules.IsTargetVectorMultiVector(class, targetVector)
if err != nil {
return nil, fmt.Errorf("get vector input from modules provider: is target vector multi vector: %w", err)
}
if isMultiVector {
vector, err := modules.MultiVectorFromInput(ctx, class, input, targetVector)
if err != nil {
return nil, fmt.Errorf("get multi vector input from modules provider: %w", err)
}
return vector, nil
}
vector, err := modules.VectorFromInput(ctx, class, input, targetVector)
if err != nil {
return nil, fmt.Errorf("get vector input from modules provider: %w", err)
}
return vector, nil
}
func getTargetVector(targetVectors []string) string {
if len(targetVectors) == 1 {
return targetVectors[0]View on GitHub (pinned to 75aa4b6d11)
Solutions
- Check the wrapped error for the module/schema failure detail.
- Confirm the target vector name exists in the class's named-vector configuration.
- Verify the responsible vectorizer module is enabled and initialized (server logs, ENABLE_MODULES).
- Fix or remove stale named-vector entries in the collection schema.
Example fix
// before
"vectorConfig": { "myvec": { "vectorizer": { "none": {} } } }
// query references targetVector: "othervec"
// after: query with targetVector: "myvec" or add "othervec" to vectorConfig Defensive patterns
Strategy: validation
Validate before calling
const schema = await client.schema.classGetter().withClassName(className).do();
const namedVectors = Object.keys(schema.vectorConfig ?? {});
if (targetVector && !namedVectors.includes(targetVector)) {
throw new Error(`target vector '${targetVector}' not in [${namedVectors}]`);
} Type guard
const hasTargetVector = (cls, name) => !cls?.vectorConfig || Object.prototype.hasOwnProperty.call(cls.vectorConfig, name);
Try / catch
try {
return await hybridQuery();
} catch (e) {
if (String(e).includes("is target vector multi vector")) {
// retry with default target vector
return await hybridQuery({ targetVector: undefined });
}
throw e;
} Prevention
- Validate target-vector names against the class schema before querying.
- Keep named-vector configuration and module set in sync.
- Clean up stale named vectors after schema migrations.
When it happens
Trigger: Hybrid search relying on module vectorization where the target-vector name does not resolve against the class schema, or the modules provider fails to answer the multi-vector query (module not initialized, schema inconsistent).
Common situations: Named-vector configuration referencing a target vector that does not exist on the class; module disabled after being referenced in config; schema migration leaving stale named-vector definitions.
Related errors
- target vector %q: %w
- class.VectorConfig.Vectorizer module with name %s doesn't ex
- class %s has multiple vectors, but no target vectors were pr
- class %s does not have named vector %v configured. Available
- class %s has multiple vectors, but no target vectors were pr
AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04).
Data as JSON: /api/errors/e7cfe3faf8fa9717.
Report an issue: GitHub.