In the vast majority of cases, vector properties (embeddings) are ingested into the database and are then used for vector search, without ever having to be read back. Vectors properties need to read back in case where some sort of reranking is performed client-side, but that's a relatively advanced scenario; as a result, most dedicated vector databases default to not returning vector properties when returning records.
The current EF support for vector properties treats them just like any other property, and so always loads them from the database; this is particularly problematic perf-wise as vector properties are typically quite heavy, involving hundreds or thousands of 32-bit floating point numbers.
Note that #1387 tracks providing a general mechanism for partial loading of properties. Here we propose to do something that's likely more constrained/focused, only supporting the vector property scenario, and not introducing generalized user-facing APIs for configuring partial properties. However,the infrastructure may definitely contribute towards the more general feature.
We should provide a mechanism to opt into loading the vector properties, for the advanced cases where that's needed, but this is something we'll likely do after the initial release. This is tracked by #37280.
In the vast majority of cases, vector properties (embeddings) are ingested into the database and are then used for vector search, without ever having to be read back. Vectors properties need to read back in case where some sort of reranking is performed client-side, but that's a relatively advanced scenario; as a result, most dedicated vector databases default to not returning vector properties when returning records.
The current EF support for vector properties treats them just like any other property, and so always loads them from the database; this is particularly problematic perf-wise as vector properties are typically quite heavy, involving hundreds or thousands of 32-bit floating point numbers.
Note that #1387 tracks providing a general mechanism for partial loading of properties. Here we propose to do something that's likely more constrained/focused, only supporting the vector property scenario, and not introducing generalized user-facing APIs for configuring partial properties. However,the infrastructure may definitely contribute towards the more general feature.
We should provide a mechanism to opt into loading the vector properties, for the advanced cases where that's needed, but this is something we'll likely do after the initial release. This is tracked by #37280.