Skip to content

Cosmos: support vector search #33783

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
roji opened this issue May 22, 2024 · 0 comments · Fixed by #33991
Closed

Cosmos: support vector search #33783

roji opened this issue May 22, 2024 · 0 comments · Fixed by #33991

Comments

@roji
Copy link
Member

roji commented May 22, 2024

https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/vector-search

@roji roji self-assigned this May 22, 2024
@roji roji assigned ajcvickers and unassigned roji Jun 5, 2024
@roji roji added this to the 9.0.0 milestone Jun 5, 2024
ajcvickers added a commit that referenced this issue Jun 14, 2024
 Fixes #33783

 This PR introduces:

 - `IsVector()` to configure a property to be configured as a vector (embedding) in the document.
   - The distance function and dimensions are specified.
   - The data type can be specified, or otherwise is inferred.
 - `HasIndex().ForVectors()` to configure a vector index over a vector property.
 - `VectorDistance()` which translates to the Cosmos `VectorDistance` function
   - The distance function and data type are taken from the property mapping, or can be overridden.

 Known issues:

 - Float16 (Half) is not working in Cosmos--needs investigation
 - Exception on int array case--could be EF or Cosmos--needs investigation
 - Owned types mess up the materialization--this will be fixed by the ReadItem improvements I am working on
ajcvickers added a commit that referenced this issue Jun 15, 2024
 Fixes #33783

 This PR introduces:

 - `IsVector()` to configure a property to be configured as a vector (embedding) in the document.
   - The distance function and dimensions are specified.
   - The data type can be specified, or otherwise is inferred.
 - `HasIndex().ForVectors()` to configure a vector index over a vector property.
 - `VectorDistance()` which translates to the Cosmos `VectorDistance` function
   - The distance function and data type are taken from the property mapping, or can be overridden.

 Known issues:

 - Float16 (Half) is not working in Cosmos--needs investigation
 - Exception on int array case--could be EF or Cosmos--needs investigation
 - Owned types mess up the materialization--this will be fixed by the ReadItem improvements I am working on
ajcvickers added a commit that referenced this issue Jun 17, 2024
 Fixes #33783

 This PR introduces:

 - `IsVector()` to configure a property to be configured as a vector (embedding) in the document.
   - The distance function and dimensions are specified.
   - The data type can be specified, or otherwise is inferred.
 - `HasIndex().ForVectors()` to configure a vector index over a vector property.
 - `VectorDistance()` which translates to the Cosmos `VectorDistance` function
   - The distance function and data type are taken from the property mapping, or can be overridden.

 Known issues:

 - Float16 (Half) is not working in Cosmos--needs investigation
 - Exception on int array case--could be EF or Cosmos--needs investigation
 - Owned types mess up the materialization--this will be fixed by the ReadItem improvements I am working on
ajcvickers added a commit that referenced this issue Jul 30, 2024
 Fixes #33783

 This PR introduces:

 - `IsVector()` to configure a property to be configured as a vector (embedding) in the document.
   - The distance function and dimensions are specified.
   - The data type can be specified, or otherwise is inferred.
 - `HasIndex().ForVectors()` to configure a vector index over a vector property.
 - `VectorDistance()` which translates to the Cosmos `VectorDistance` function
   - The distance function and data type are taken from the property mapping, or can be overridden.
ajcvickers added a commit that referenced this issue Jul 31, 2024
 Fixes #33783

 This PR introduces:

 - `IsVector()` to configure a property to be configured as a vector (embedding) in the document.
   - The distance function and dimensions are specified.
   - The data type can be specified, or otherwise is inferred.
 - `HasIndex().ForVectors()` to configure a vector index over a vector property.
 - `VectorDistance()` which translates to the Cosmos `VectorDistance` function
   - The distance function and data type are taken from the property mapping, or can be overridden.
ajcvickers added a commit that referenced this issue Aug 6, 2024
ajcvickers added a commit that referenced this issue Aug 6, 2024
ajcvickers added a commit that referenced this issue Aug 6, 2024
ajcvickers added a commit that referenced this issue Aug 6, 2024
ajcvickers added a commit that referenced this issue Aug 11, 2024
@ajcvickers ajcvickers modified the milestones: 9.0.0, 9.0.0-rc1 Aug 21, 2024
@ajcvickers ajcvickers removed their assignment Aug 31, 2024
@roji roji modified the milestones: 9.0.0-rc1, 9.0.0 Oct 12, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants