Unable to declare a Vector-Field for a JsonModel
Opened this issue · 2 comments
The Bug
I'm trying to declare a Field as a Vector-Field by setting the vector_options on the Field.
Pydantic is then forcing me to annotate the field with a proper type.
But with any possible type for a vector, I always get errors.
The one that I think should definitly work is list[float], but this results in
AttributeError: type object 'float' has no attribute '__origin__'.
Example
class Group(JsonModel):
articles: List[Article]
tender_text: str = Field(index=False)
tender_embedding: list[float] = Field(
index=True,
vector_options=VectorFieldOptions(
algorithm=VectorFieldOptions.ALGORITHM.FLAT,
type=VectorFieldOptions.TYPE.FLOAT32,
dimension=3,
distance_metric=VectorFieldOptions.DISTANCE_METRIC.COSINE
))No Documentation for Vector-Fields?
There seems to be no documentation about this feature.
I just found a merge-request which describes some features a bit, but there is no example, test or any documentation about this.
I'm running into the same thing. It looks like they want you to type it as tender_embedding: list[list[float]] but even with that, I'm having issues getting any reasonable results when searching.