weaviate/weaviate · error
vectorize params: %w
Error message
vectorize params: %w
What it means
CrossClassVectorSearch (the GraphQL Explore query path) vectorizes the natural-language/params input via vectorFromExploreParams; if that fails, Weaviate wraps the error as ErrQueryVectorization with this message. It means a vectorizer module failed or refused to turn the explore params into a query vector — the query never reached the vector index.
Source
Thrown at usecases/traverser/explorer.go:807
}
if len(additionalProperties) > 0 {
innerRef.Fields["_additional"] = additionalProperties
}
}
}
}
}
func (e *Explorer) CrossClassVectorSearch(ctx context.Context,
params ExploreParams,
) ([]search.Result, error) {
if err := e.validateExploreParams(params); err != nil {
return nil, errors.Wrap(err, "invalid params")
}
vector, targetVector, err := e.vectorFromExploreParams(ctx, params)
if err != nil {
return nil, fmt.Errorf("vectorize params: %w", enterrors.NewErrQueryVectorization(err))
}
res, err := e.searcher.CrossClassVectorSearch(ctx, vector, targetVector, params.Offset, params.Limit, nil)
if err != nil {
return nil, fmt.Errorf("vector search: %w", err)
}
e.trackUsageExplore(res, params)
results := []search.Result{}
for _, item := range res {
item.Beacon = crossref.NewLocalhost(item.ClassName, item.ID).String()
err = e.appendResultsIfSimilarityThresholdMet(item, &results, params)
if err != nil {
return nil, fmt.Errorf("append results based on similarity: %w", err)
}
}
View on GitHub (pinned to 75aa4b6d11)
Solutions
- Check logs for the wrapped ErrQueryVectorization cause to identify the vectorizer
- Ensure the required vectorizer module is enabled (ENABLE_MODULES) and healthy
- Verify provider API keys and network egress for remote vectorizers
- Validate explore params (non-empty concepts, valid module params) before querying
- Retry on transient provider errors with backoff
Example fix
// before
{ Explore(nearText:{concepts:[]}) { distance certainty } }
// after (non-empty concepts and module enabled)
{ Explore(nearText:{concepts:["machine learning"]}) { distance certainty } } Defensive patterns
Strategy: retry
Validate before calling
// ensure the module backing nearText is enabled before Explore
const modules = await (await fetch(`${WEAVIATE_URL}/v1/modules`)).json()
if (!modules['text2vec-openai'] && usingNearText) {
throw new Error('text2vec module not enabled')
} Try / catch
try {
const res = await weaviate.explore().withNearText({concepts})...do()
} catch (err) {
if (String(err).includes('vectorize params')) {
if (isRateLimit(err)) return await withBackoff(() => retry())
throw new Error('check vectorizer module config: ' + err)
}
throw err
} Prevention
- Enable the vectorizer module matching your explore params
- Keep remote provider API keys valid and monitor quotas
- Validate concepts are non-empty before Explore queries
When it happens
Trigger: An Explore query where the configured vectorizer errors: missing module (no vectorizer for the explore request), text2vec provider failure (bad API key, network), or invalid nearText params (e.g. empty concepts with no module to vectorize).
Common situations: text2vec-transformers module not enabled/started in docker-compose; OPENAI/COHERE API key invalid or quota exceeded; querying Explore with nearVector/nearText when the corresponding module is not enabled.
Related errors
- update reference vector: %w
- vectorize check for target vector %s: %w
- vectorize target vector %s: %w
- cannot revectorize class %q: %w
- update vector: %w
AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04).
Data as JSON: /api/errors/cbce192a35ab970f.
Report an issue: GitHub.