diff --git a/README.en.md b/README.en.md index 5aba7963479e7dbebf49cfb01e1c06e8b0096bcc..046421d050606ef888518fe5ee0842ab7b168b41 100644 --- a/README.en.md +++ b/README.en.md @@ -153,6 +153,25 @@ Table("some_talbe", ..., opengauss_partition_by="RANGE(column_name) ...", opengauss_enable_row_movement=True) ``` +### Vector Data Type +- vector data type with `select` +``` +tbl = Table( + "test", + m, + Column("id", Integer), + Column("bit_embedding", BIT(3)), + Column("sparsevec_embedding", SPARSEVEC(3)), + Column("vector_embedding", VECTOR(3)) +) + +select(tbl.c.id).order_by(tbl.c.bit_embedding.jaccard_distance('110')) + +select(tbl.c.id).order_by(tbl.c.sparsevec_embedding.l2_distance(SparseVector([1, 2, 3]))) + +select(tbl.c.id).order_by(tbl.c.vector_embedding.l2_distance([1,2,3])) +``` + ## Features For Centralized OpenGauss ### Index diff --git a/README.md b/README.md index e56e7cad885c6c571c18e83eb364a32176e0eb3d..73ee0ca2671ef6823619947896e08a4bd42eea54 100644 --- a/README.md +++ b/README.md @@ -187,6 +187,25 @@ Table("some_talbe", ..., opengauss_partition_by="RANGE(column_name) ...", opengauss_enable_row_movement=True) ``` +### 向量数据类型 +- vector data type with `select` +``` +tbl = Table( + "test", + m, + Column("id", Integer), + Column("bit_embedding", BIT(3)), + Column("sparsevec_embedding", SPARSEVEC(3)), + Column("vector_embedding", VECTOR(3)) +) + +select(tbl.c.id).order_by(tbl.c.bit_embedding.jaccard_distance('110')) + +select(tbl.c.id).order_by(tbl.c.sparsevec_embedding.l2_distance(SparseVector([1, 2, 3]))) + +select(tbl.c.id).order_by(tbl.c.vector_embedding.l2_distance([1,2,3])) +``` + ## OpenGauss特性的使用方式(集中式) ### 索引 diff --git a/opengauss_sqlalchemy/__init__.py b/opengauss_sqlalchemy/__init__.py index 39dbfa2a18d6d16b8577e1bb76c68baf59eae097..1382c797c0d6ca36929ea03aa7e026d800bbc8dd 100644 --- a/opengauss_sqlalchemy/__init__.py +++ b/opengauss_sqlalchemy/__init__.py @@ -9,7 +9,7 @@ from sqlalchemy.dialects import registry -__version__ = "2.2.0" +__version__ = "2.3.0" registry.register(