go-redis/redis · error
FT.HYBRID: vector blob is required
Error message
FT.HYBRID: vector blob is required
What it means
Error "FT.HYBRID: vector blob is required" thrown in go-redis/redis.
Source
Thrown at search_commands.go:3786
return hybridVectorBytes(vector.Val)
case *VectorInt8:
return hybridVectorBytes(vector.Val)
case *VectorUint8:
return hybridVectorBytes(vector.Val)
case *VectorValues, *VectorRef:
return nil, fmt.Errorf("FT.HYBRID: unsupported vector type %T", v)
default:
values := v.Value()
if len(values) < 2 {
return nil, fmt.Errorf("FT.HYBRID: vector Value must contain a blob at index 1")
}
return values[1], nil
}
}
func hybridVectorBytes(blob []byte) ([]byte, error) {
if len(blob) == 0 {
return nil, fmt.Errorf("FT.HYBRID: vector blob is required")
}
return blob, nil
}
// generateVectorParamName returns a parameter name that is not already present
// in params. It is used to pass vector data via the PARAMS mechanism when the
// caller does not provide a VectorParamName, since inline vector blobs are no
// longer supported by Redis.
func generateVectorParamName(params map[string]interface{}) string {
for i := 0; ; i++ {
name := fmt.Sprintf("__vector_param_%d", i)
if _, ok := params[name]; !ok {
return name
}
}
}
// FTHybridWithArgs - Executes a hybrid search with advanced optionsView on GitHub (pinned to 36d97525cd)
Solutions
- Supply the vector blob bytes for the KNN/vector clause
- Serialize the embedding (e.g. float32 little-endian) into the blob
When it happens
Trigger: Thrown at search_commands.go:3786 when the library encounters an invalid state.
Common situations: Assert non-empty vector blobs before sending FT.HYBRID queries.
AI-assisted analysis of go-redis/redis@36d97525cd (2026-08-06).
Data as JSON: /data/errors/2d5d78d393512e26.json.
Report an issue: GitHub.