Open GDegrove opened 11 months ago
Are lists supported in a HashModels? I always assumed based on docs they are not. https://github.com/redis/redis-om-python/blob/main/docs/models.md#hashmodel-vs-jsonmodel
Are lists supported in a HashModels? I always assumed based on docs they are not. https://github.com/redis/redis-om-python/blob/main/docs/models.md#hashmodel-vs-jsonmodel
Thanks for the information.
I saw that piece of documentation, but the code seems to indicate otherwise (and there are comment in the code that also indicate otherwise). Especially since a Vector
that you can create in a HashModel
is by definition a list of float/int/decimal.
But maybe there's no way to support Vector in HashModel
, and so we may have to document that limitation. For example the Vector
we create is of dimension 512. That mesa 512 float in a list/array like data type.
That's why I'm asking if there's a bug or a limitation that should be documented.
Another solution would be to let bytes
as a valid vector type (or maybe the only vector type) so we can create a Vector field of type bytes
I'm also trying to get vector search working with redis-om, is this possible at the moment?
We are currently trying to get Redis-om to work with redis-search for knn search on a HashModel.
Our model is the following:
When using the type
float
we can go into that line of code, that creates the correct vector type. However, a vector is actually NOT a float, so any creation of the model will fail.Transforming the model to a valid model, we see that we need to use:
That would allow us to create the correct
VECTOR
and use it. However, it seems that there's a check in__init__
that prevent anylist
to be a field in theHashModel
However, when creating the schema, there's a specific clause to check that the subscribed type, is supported if this is a
list
or atuple
that we are clearly in.The question is:
How can we create a
HashModel
with vectorlist[float]
to be able to create aknn_vector
query? Is it a bug where we need to skip thelist
and check that actually we supportlist
andtuples
inHashModel
? Or should we use any other container to let us do the vector query?Thanks already for the information!